是否可以在 Keras 的训练和测试阶段使用 dropout?
就像这里描述的: https ://github.com/soumith/ganhacks#17-use-dropouts-in-g-in-both-train-and-test-phase
是否可以在 Keras 的训练和测试阶段使用 dropout?
就像这里描述的: https ://github.com/soumith/ganhacks#17-use-dropouts-in-g-in-both-train-and-test-phase
当然,您可以在调用图层时设置training
参数。这样,dropout 将应用于训练和测试阶段:True
Dropout
drp_output = Dropout(rate)(inputs, training=True) # dropout would be active in train and test phases
两个答案都让我有点困惑。更简单地说,你可能会发现自己在做这样的事情:
model = Model(...)
...
model.add(Dropout(0.5))
...
model.fit(...) # invokes Dropout(training=True)
...
model.evaluate(...) # invokes Dropout(training=False)
也就是说,当您定义模型时,您可以Dropout
在训练期间添加具有所需辍学率的层。测试和培训之间的比率没有明显变化;相反,它被声明为一个固定值,然后(不可见地)根据training
调用层的参数打开/关闭。请参阅keras.Model。