此页面由 Cloud Translation API 翻译。
Switch to English

tf.keras.layers.Dropout

TensorFlow 1版 GitHub上查看源代码

适用差的输入。

继承: Layer

用在笔记本电脑

使用的指南使用教程

漏失层随机设置输入单元到0的频率rate在期间训练时间的每个步骤,这有助于防止过度拟合。没有设置为0的输入由1 /按比例放大(1 - 速率),使得在所有输入的总和保持不变。

注意,当降层只适用training设置为True,使得没有值推理过程中丢失。当使用model.fittraining将适当设置为True自动,以及在其他情况下,你可以在调用层时明确设置kwarg为True。

(这是相对于设置trainable=False的漏失层。 trainable ,不影响该层的行为,如降不具有任何变量/权重,可以在训练期间被冻结。)

tf.random.set_seed(0)
layer = tf.keras.layers.Dropout(.2, input_shape=(2,))
data = np.arange(10).reshape(5, 2).astype(np.float32)
print(data)
[[0. 1.]
 [2. 3.]
 [4. 5.]
 [6. 7.]
 [8. 9.]]
outputs = layer(data, training=True)
print(outputs)
tf.Tensor(
[[ 0.    1.25]
 [ 2.5   3.75]
 [ 5.    6.25]
 [ 7.5   8.75]
 [10.    0.  ]], shape=(5, 2), dtype=float32)

rate 浮0和1之间的输入单元的分数下降。
noise_shape 1D整数张量表示二进制漏失掩模,将与所述输入相乘的形状。举例来说,如果你输入具有形状(batch_size, timesteps, features) ,你想辍学面膜是相同的所有时间步长,可以使用noise_shape=(batch_size, 1, features)
seed 一个Python整数作为随机种子使用。

调用的参数:

  • inputs :输入张量(任何等级)。
  • training :Python的布尔值,指示图层是否应该表现在训练模式(添加辍学),或在推理模式(什么都不做)。