<p>有两种方法可以获取名称:</p>
<p>1)使用Java:</p>
<p>您可以从保存的模型包中存储的<code>org.tensorflow.proto.framework.MetaGraphDef</code>中读取输入和输出名称</p>
<p>下面是一个关于如何提取信息的示例:</p>
<p><a href="https://github.com/awslabs/djl/blob/master/tensorflow/tensorflow-engine/src/main/java/ai/djl/tensorflow/engine/TfSymbolBlock.java#L149" rel="nofollow noreferrer">https://github.com/awslabs/djl/blob/master/tensorflow/tensorflow-engine/src/main/java/ai/djl/tensorflow/engine/TfSymbolBlock.java#L149</a></p>
<p>2)使用python:</p>
<p>在tensorflow python中加载保存的模型并打印名称</p>
<pre><code>loaded = tf.saved_model.load("path/to/model/")
print(list(loaded.signatures.keys()))
infer = loaded.signatures["serving_default"]
print(infer.structured_outputs)
</code></pre>
<p>我建议看一下<a href="https://github.com/awslabs/djl" rel="nofollow noreferrer">Deep Java Library</a>,它会自动处理输入、输出名称。
它支持TensorFlow 2.1.0,允许您加载Keras模型以及TF Hub保存的模型。请看一下文件<a href="https://github.com/awslabs/djl/tree/master/docs/tensorflow" rel="nofollow noreferrer">here</a>和<a href="https://github.com/awslabs/djl/tree/master/tensorflow" rel="nofollow noreferrer">here</a></p>
<p>如果您在加载模型时遇到问题,请随时打开<a href="https://github.com/awslabs/djl/issues/new/choose" rel="nofollow noreferrer">issue</a></p>