tensorflow - 如何使用自定义优化器加载 keras 保存的模型
问题描述
我已经使用自定义优化器编译和训练了一个 keras 模型。我保存了模型,但是当我尝试加载模型时,它会抛出一个错误,指出ValueError: Unknown optimizer: MyOptimizer
. 我试图将 MyOptimizer 作为自定义对象传递,例如 : models.load_model('myModel.h5', custom_objects={'optimizer':MyOptimizer})
,但它仍然会引发错误。如何将模型加载到带有自定义对象的 keras 模型?
解决方案
我遇到了同样的问题:)
我通过加载模型使其工作models.load_model('myModel.h5', compile=False)
。
从 keras源代码:
如果在保存的模型中找到优化器,则模型已经编译。否则,模型未编译并会显示警告。当
compile
设置为 False 时,编译将被忽略而没有任何警告。
加载未编译的模型后,我可以使用自定义优化器再次编译它。
推荐阅读
- html - 如何在表格标题内垂直居中对齐图标
- vb.net - 如何在选择 vb.net 中的复选框时使用 datagridview 发送多条消息?
- postgresql - Postgres递归json查询
- amazon-web-services - 如何让订阅解决联合类型?
- architecture - REST API 可以处理事务关键应用程序吗?
- google-cloud-platform - 参数 --max-dispatches-per-second:无效的浮点值:'6/m'
- ruby-on-rails - Rails RSpec 撬“重新加载!”
- android - 如何将页脚添加到 android 菜单抽屉(导航视图)
- rest - 带有 RESTful API 正文的 HTTP GET 请求
- python - 从脚本导入包引发“AttributeError:模块没有属性”