tensorflow - 是否可以从保存的模型中恢复张量流估计器?
问题描述
我tf.estimator.train_and_evaluate()
用来训练我的自定义估算器。我的数据集按 8:1:1 划分用于训练、评估和测试。在训练结束时,我想恢复最佳模型,并使用tf.estimator.Estimator.evaluate()
测试数据评估模型。最好的模型目前使用tf.estimator.BestExporter
.
在tf.estimator.Estimator.evaluate()
接受checkpoint_path
和恢复变量时,我找不到任何简单的方法来使用由tf.estimator.BestExporter
. 我当然可以在训练期间保留所有检查点,并自己寻找最佳模型,但这似乎并不理想。
谁能告诉我一个简单的解决方法?也许可以将保存的模型转换为检查点?
解决方案
也许你可以试试 tf.estimator.WarmStartSettings:https ://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/WarmStartSettings
它可以在 pb 文件中加载权重并继续训练,这对我的项目有效。
您可以按如下方式设置热启动:
ws = WarmStartSettings(ckpt_to_initialize_from="/[model_dir]/export/best-exporter/[timestamp]/variables/variables")
然后一切都会好的
推荐阅读
- ios - 如果 Firebase 中不存在子项,如何执行 segue
- html - 如何在 HTNL ng-template 中动态创建?(角度)
- r - 如何检查特定多边形中有多少点?
- asp.net - 给 label 一个 Anchor ( ) 标记给指向某个 View 的 ASP Label
- sql-server - 如何使用 electron.js 在 sql server 2008 中创建用户身份验证
- amazon-web-services - 使用已创建的 ppk 密钥在 terraform 中创建 ec2 实例
- javascript - API-key 格式无效 Binance Api
- node.js - express:req.body 在 PUT 请求上为空(findOneAndReplace)
- laravel - Laravel - 如何在反引号内显示输入值?
- java - 将字符串日期映射到 LocalDateTime 时发生 MessageConversionException