首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将saved_model.pb转换为EvalSavedModel?

如何将saved_model.pb转换为EvalSavedModel?
EN

Stack Overflow用户
提问于 2018-05-07 14:57:18
回答 2查看 448关注 0票数 3

我正在浏览tensorflow-model-analysis文档,评估TensorFlow模型。入门指南谈到了一个名为SavedModel的特殊EvalSavedModel

引用入门指南:

此EvalSavedModel包含其他信息,这些信息允许TFMA在大量数据和用户定义的切片上以分布式方式计算模型中定义的相同的评估指标。

我的问题是如何将已经存在的saved_model.pb转换为EvalSavedModel

EN

回答 2

Stack Overflow用户

发布于 2018-06-21 06:52:02

EvalSavedModel作为SavedModel消息导出,因此不需要这样的转换。

EvalSavedModel在引擎盖下使用SavedModelBuilder。它用几个占位符填充估值器图,创建一些额外的度量集合。稍后,它执行简单的SavedModelBuilder过程。

源- model/export.py#L228

我想您想要在您的模型上运行model-analysis,该模型由SavedModelBuilder导出。因为SavedModel既没有度量节点,也没有用EvalSavedModel创建的相关集合,所以这样做毫无用处-- model-analysis只是找不到任何与您的估值器相关的度量。

票数 0
EN

Stack Overflow用户

发布于 2019-06-21 06:37:22

如果我正确地理解了您的问题,那么您已经生成了saved_model.pb,或者使用tf.saved_model.simple_savetf.saved_model.builder.SavedModelBuilder或者estimator.export_savedmodel

如果我的理解是正确的,那么,您将将培训和推理图导出到saved_model.pb

您从TF组织网站指南中提到的一点是,除了出口培训图外,我们还需要导出评估图。这叫做

评估图包含该模型的度量,因此您可以使用可视化来评估模型的性能。

在导出EvalSaved模型之前,我们应该准备eval_input_receiver_fn,类似于serving_input_receiver_fn

我们也可以提到其他功能,例如,如果您希望以分布式方式定义度量,或者希望使用数据片而不是整个数据集来评估模型。这类选项可以在eval_input_receiver_fn中提及。

然后,我们可以使用下面的代码导出EvalSavedModel

代码语言:javascript
复制
tfma.export.export_eval_savedmodel(estimator=estimator,export_dir_base=export_dir,
  eval_input_receiver_fn=eval_input_receiver_fn)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50217125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档