tensorflow - 改变 Keras 中现有模型的辍学率的最简单方法是什么?
问题描述
看起来
model.layers[n].rate
可以查看和更改,但不会到达后端并实际更改训练行为。真正改变它的最简单方法是什么?我希望不必制作一个全新的模型并转移重量。
解决方案
实现这一目标的最简单方法是:
更改图层中的费率
model.layers[i].rate = 0.04 #layer[i] is the dropout layer
使用克隆这个模型到一个新模型
model = keras.models.clone(model) #weights would be reinitialized
编译新模型
model.compile(optimizer=..., loss=...) #optimizer state would be reset
将原始权重设置为新的克隆模型
model.load_weights(file_weights) #load weights
关于这个问题的讨论可以在这里找到。
推荐阅读
- c# - 如何重新设计代码以解决 SonarQube“获取器和设置器应访问预期字段”错误?
- javascript - TestCafe - Narbeans Ide - ReferenceError:未定义选择器
- git - BitBucket/Git 错误:您只能在此存储库中推送您自己的提交
- oracle - 如何让 Oracle C++ 调用接口 (OCCI) 在 Visual Studio 上工作?
- php - 如何检索我刚刚使用 laravel RessourceApiController 创建的新条目的 id?
- redmine - Redmine Plugin Contacts Helpdesk HTML 邮件被解析,没有换行符
- c# - 带有等待的多个连接的 C# Linq 查询
- java - 使用 Swing 绘制自定义按钮时遇到问题
- windows - VirtualProtectEx,ERROR_INVALID_PARAMETER(错误 87)
- c# - 通过文件元数据.NET Core 3.1 C#查找PNG图像宽度/高度