如何解决FinalExporter在Google AI平台上的TensorFlow 2.1中无法使用 日志
我正在尝试升级模型以使用AI平台2.1而不是1.15,但是我无法使用FinalExporter
。
我按照ai-platform: No eval folder or export folder in outputs when running TensorFlow 2.1 training job using Estimators中概述的步骤进行操作,然后将其到达以下位置:
- 评估指标已导出到
eval
文件夹 -
BestExporter
和LatestExporter
都成功导出了模型 -
FinalExporter
不会不导出任何模型
我为此使用的代码类似于:
import tensorflow as tf
...
estimator = tf.estimator.Estimator(...)
train_spec = tf.estimator.TrainSpec(...)
final_exporter = tf.estimator.FinalExporter("final",...)
latest_exporter = tf.estimator.LatestExporter("latest",...)
best_exporter = tf.estimator.BestExporter("best",...)
eval_spec = tf.estimator.EvalSpec(
input_fn=eval_input_fn,exporters=[latest_exporter,final_exporter,best_exporter],name="eval",)
tf.estimator.train_and_evaluate(estimator=estimator,train_spec=train_spec,eval_spec=eval_spec)
我正在使用以下yaml配置文件
trainingInput:
runtimeVersion: "2.1"
pythonVersion: "3.7"
scaleTier: CUSTOM
masterType: standard_v100
evaluatorType: standard_gpu
evaluatorCount: 1
问题似乎是在最后的训练步骤之后不再对模型进行评估。这可以在张量板上看到,在最后的训练指标在1.15中导出后,将运行最终评估。在2.1中不再如此。
Tensorboard comparing the steps for which the last losses were recorded.
日志
日志支持了在最后训练步骤之后不再评估模型的问题:
2020-10-27 09:06:03.504 EDT 主副本0 “将77872的检查站保存为...
...
2020-10-27 09:06:19.033 EDT 评估者副本0 “呼叫model_fn。”
...
2020-10-27 09:06:20.093 EDT 主副本0 “最后一步的损失:50.796585。”
...
2020-10-27 09:06:28.005 EDT服务拆除培训计划。
...
2020-10-27 09:06:28.430 EDT evaluator-replica-0“被服务终止。如果应该继续运行该作业,它将很快在其他VM上重新启动。”
表示在评估过程中,evaluator-replica-0
即将在培训结束后关闭。
这是TF / AI-Platform 2.1中的错误,还是我必须做一些不同的事情以确保评估者在最后的训练步骤之后评估模型(并将其导出)?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。