我用 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")
然后一切都会好起来的
关于tensorflow - 是否可以从保存的模型中恢复 tensorflow 估计器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53184109/