tensorflow - 如何将 saved_model.pb 转换为 EvalSavedModel?
问题描述
我正在阅读tensorflow-model-analysis
评估 TensorFlow 模型的文档。入门指南讨论了一个特殊的 SavedModel,称为EvalSavedModel
.
引用入门指南:
此 EvalSavedModel 包含附加信息,允许 TFMA 以分布式方式在大量数据和用户定义的切片上计算模型中定义的相同评估指标。
我的问题是如何将已经存在的转换saved_model.pb
为EvalSavedModel
?
解决方案
如果我正确理解了您的问题,则您已经saved_model.pb
通过使用tf.saved_model.simple_save
或tf.saved_model.builder.SavedModelBuilder
或通过estimator.export_savedmodel
.
如果我的理解是正确的,那么,您将训练和推理图导出到saved_model.pb
.
您在 TF Org 网站指南中提到的观点指出,除了导出训练图之外,我们还需要导出评估图。这称为EvalSavedModel。
评估图包含该模型的指标,因此您可以使用可视化来评估模型的性能。
在我们导出EvalSaved
模型之前,我们应该准备eval_input_receiver_fn
,类似于serving_input_receiver_fn
。
我们还可以提及其他功能,例如,如果您希望以分布式方式定义指标,或者如果我们想使用数据切片而不是整个数据集来评估我们的模型。此类选项可在 中提及eval_input_receiver_fn
。
然后我们可以EvalSavedModel
使用下面的代码导出:
tfma.export.export_eval_savedmodel(estimator=estimator,export_dir_base=export_dir,
eval_input_receiver_fn=eval_input_receiver_fn)
推荐阅读
- java - 从 JHipster 生成的应用程序中删除授权
- python - python中的OS函数读取文件
- c - “#define __SIZE_T”和“typedef unsigned int size_t”
- kivy - TypeError:不能在 python 的路径组件中混合字符串和字节
- c++ - 最近 googletest 中的 ColoredPrintf
- javascript - 移位运算符仅在移位到 16 位时有效
- reactjs - 无法让探查器在 dev 或 prod 上工作
- javascript - 单击文件输入时防止页面重新加载
- azure-active-directory - 在不删除用户或重新添加用户的情况下通过林移动到同步
- java - 尝试从逗号分隔的字符串作为输入循环 arraylist 时出错