【发布时间】:2017-11-17 18:55:12
【问题描述】:
如何使用tf.nn.dropout 将相同的 dropout 掩码应用于张量的每一行?
例子:
我有一个形状为 (2,2,3) 的 3D 张量:
[[[ 1. 2. 3.]
[ 4. 5. 6.]]
[[ 7. 8. 9.]
[ 10. 11. 12.]]]
使用 dropout 时,应将相同的掩码应用于每一行。此外,当删除条目时,第三维的所有元素都应设置为零。
假设在每一行/水平尺寸中,只有第二个条目被丢弃,对应于每行[1,0] 的丢弃掩码。这应该给出(不包括其他条目的重新缩放):
[[[ 1. 2. 3.]
[ 0. 0. 0.]]
[[ 7. 8. 9.]
[ 0. 0. 0.]]]
通过向tf.nn.dropout 提供noise_shape,我可以确保第三维中的所有元素都设置为零。这可以使用noise_shape=[2,2,1] 来完成。但是,我不知道如何确保每个行/切片使用相同的 dropout 掩码。
【问题讨论】:
标签: tensorflow