首页 > 解决方案 > 改变 Keras 中现有模型的辍学率的最简单方法是什么?

问题描述

看起来

model.layers[n].rate

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

标签: tensorflowkeras

解决方案


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

  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

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


推荐阅读