Tensorflow2.0 Keras:测试时是否默认禁用dropout?
Tensorflow2.0 Keras: Is dropout disabled during testing by default?
我想知道在下面的模型中,当我调用 model.evaluate(...).
时是否会禁用 dropout
layers = [tf.keras.layers.Dense(size, activation='relu')
for size in (20, 40, 20)]
layers.insert(1, tf.keras.layers.Dropout(0.2))
layers.append(tf.keras.layers.Dense(1, activation="sigmoid"))
model = tf.keras.models.Sequential(layers)
model.compile(
optimizer=tf.keras.optimizers.Adam(learning_rate=0.0001),
loss=tf.keras.losses.BinaryCrossentropy())
model.fit(...)
model.evaluate(...) #==> will dropout be deactivated here?
是的,在推理时总是禁用 dropout (evaluate
/predict
)。
根据文档:
Call arguments:
inputs: Input tensor (of any rank).
training: Python boolean indicating whether the layer should behave in
training mode (adding dropout) or in inference mode (doing nothing).
"""
所以是的,测试时禁用了dropout,这在逻辑上是正确的。
SpatialDropout 也是如此。
请在下面的文档中找到 link。
https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/keras/layers/Dropout
Tensorflow Keras API 使用学习阶段标志来识别我们是在训练还是在测试。学习阶段标志是一个布尔张量(0 = 测试,1 = 训练)作为输入传递给在训练时间和测试时间使用不同行为的任何 Keras 函数。
我想知道在下面的模型中,当我调用 model.evaluate(...).
layers = [tf.keras.layers.Dense(size, activation='relu')
for size in (20, 40, 20)]
layers.insert(1, tf.keras.layers.Dropout(0.2))
layers.append(tf.keras.layers.Dense(1, activation="sigmoid"))
model = tf.keras.models.Sequential(layers)
model.compile(
optimizer=tf.keras.optimizers.Adam(learning_rate=0.0001),
loss=tf.keras.losses.BinaryCrossentropy())
model.fit(...)
model.evaluate(...) #==> will dropout be deactivated here?
是的,在推理时总是禁用 dropout (evaluate
/predict
)。
根据文档:
Call arguments:
inputs: Input tensor (of any rank).
training: Python boolean indicating whether the layer should behave in
training mode (adding dropout) or in inference mode (doing nothing).
"""
所以是的,测试时禁用了dropout,这在逻辑上是正确的。 SpatialDropout 也是如此。
请在下面的文档中找到 link。 https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/keras/layers/Dropout
Tensorflow Keras API 使用学习阶段标志来识别我们是在训练还是在测试。学习阶段标志是一个布尔张量(0 = 测试,1 = 训练)作为输入传递给在训练时间和测试时间使用不同行为的任何 Keras 函数。