tensorflow 错误:在SavedModel中找不到与标记“serve”关联的MetaGraphDef

zsbz8rwp  于 2022-12-23  发布在  其他
关注(0)|答案(2)|浏览(398)

我有这个错误

RuntimeError: MetaGraphDef associated with tags 'serve' could not be found in SavedModel. To inspect available tag-sets in the SavedModel, please use the SavedModel CLI: `saved_model_cli`
available_tags: [{'train', 'serve'}]

我做了saved_model_cli show --dir ./,我得到了

MetaGraphDef with tag-set: 'train, serve' contains the following SignatureDefs:

我的源代码是

import tensorflow as tf

with tf.Session(graph=tf.Graph()) as sess:
    tf.saved_model.loader.load(sess,[tf.saved_model.tag_constants.SERVING],'../export_dir/0/')
    graph = tf.get_default_graph().as_graph_def()
    with tf.gfile.GFile('./frozen.pb', "wb") as f:
        f.write(graph.SerializeToString())

当我搜索这个问题的解决方案时,我看到了“使用[tf.saved_model.tag_constants.SERVING]",但我无法解决这个问题...

vmdwslir

vmdwslir1#

此错误消息通知您,在保存的模型中找不到指定的输出Tensor名称。
如果您的所有安装都进行得很顺利,您应该可以从终端的任何地方方便地使用saved_model_cli
要查看输出Tensor名称,只需运行以下命令
saved_model_cli show --dir /path/to/saved/model --all
您还可以在此处查看更多参考

1u4esq0p

1u4esq0p2#

你似乎有一个被称为冻结图的东西。那些不能被转换,也没有一个图的定义。查看this的讨论以获得详细的答案。
要与保存的模型(具有图形定义)进行比较,请参阅Tensorflow Lite Micro中的hello_world示例。当您基于提供的Jupyter笔记本自行训练模型或下载hello_world.zip时,您将获得***saved_model. pb***。输入此文件所在的目录models/model并键入

saved_model_cli show --dir ./ --all

你就会得到一长串的信息。或者

saved_model_cli show --dir=./

你得到

The given SavedModel contains the following tag-sets: 'serve'

相关问题