【发布时间】:2018-03-16 19:25:24
【问题描述】:
假设我的网络中有以下内容:
x = Conv2D(
filters=256,
kernel_size=5,
strides=2,
padding="same"
)(x)
x = Dropout(0.5)(x)
x = BatchNormalization(momentum=0.8)(x)
x = LeakyReLU(alpha=0.2)(x)
顺便说一句,我正在使用 Tensorflow 后端。
在训练期间,我想修改或降低 Dropout 层的值。最终,有什么方法可以停用它?
【问题讨论】:
-
您到底想什么时候停用?
-
为了举例,我想每 2 个 epoch 一次将辍学率除以 2。在 10 个 epoch 之后,我想完全禁用它
-
如果可以的话,我可以告诉你如何在 tensorflow 中做到这一点?
-
我至少可以试试,谢谢
-
您可以在 tensorflow 中定义一个占位符,比如说
keep_prob,它具有 dropout 的概率值。现在,当您训练模型时,您可以根据您的时代更改变量keep_prob并在这行代码中更新 -sess.run(xx ,feed_dict= {x: batchx, ypred :batchy, keep_prob:dropout_rate}
标签: tensorflow neural-network deep-learning keras keras-layer