【发布时间】:2021-11-06 05:26:38
【问题描述】:
我编写了一个自定义层来打乱输入。当我尝试测试图层时,不会发生所说的洗牌。下面是我的最小噪声层:
class ShuffleLayer(tf.keras.layers.Layer):
def __init__(self, **kwargs):
super(ShuffleLayer, self).__init__(**kwargs)
def call(self, inputs, training=None):
if training:
shuffled = tf.stop_gradient(tf.random.shuffle(inputs))
return shuffled
return inputs
当我测试图层时,图层不会随机播放
SL = ShuffleLayer()
x = tf.reshape(tf.range(0,10, dtype=tf.float32), (5,2))
y = SL(x)
print(x.numpy())
print(y.numpy())
[[0. 1.] [2. 3.] [4. 5.] [6. 7.] [8. 9.]]
[[0. 1.] [2. 3.] [4. 5.] [6. 7.][8. 9.]]
为什么不会发生预期的行为?
【问题讨论】:
标签: tensorflow2.x