在 Keras 中更改现有模型辍学率的最简单方法?

Mas*_*iff 1 keras tensorflow

看起来

model.layers[n].rate
Run Code Online (Sandbox Code Playgroud)

可以查看和更改,但不会到达后端并实际更改训练行为。真正改变它的最简单方法是什么?我希望不必制作全新的模型并转移权重。

Ana*_*kin 6

实现这一目标的最简单方法是:

  1. 更改图层中的费率 model.layers[i].rate = 0.04 #layer[i] is the dropout layer

  2. 使用以下命令将此模型克隆到新模型 model = keras.models.clone(model) #weights would be reinitialized

  3. 编译新模型 model.compile(optimizer=..., loss=...) #optimizer state would be reset

  4. 将原始权重设置为新的克隆模型 model.load_weights(file_weights) #load weights

关于这个问题的讨论可以在这里找到。