android - Tensorflow - 如何卡住 SavedModel 中的 .pb 以用于 TensorFlowInferenceInterface 中的推理?

标签 android python tensorflow

根据 this answer , 我可以提取 MetaGraph来自SavedModel , 然后卡住 MetaGraphGraphDef ,然后运行 ​​freeze_graph.py上面的脚本GraphDef得到.pb可在安卓系统中使用。我的问题:我究竟该如何提取 MetaGraph (然后是 GraphDef )?因为tf.saved_model.loader.load(sess, [tag_constants.SERVING], <model_path>)返回 MetaGraphDef而不是 MetaGraph .

最佳答案

刚收到。事实证明,在删除我从 conda 获得的 Tensorflow 版本并将其替换为来自 pip 的版本后,我可以这样做:

from tensorflow.python.tools import freeze_graph
from tensorflow.python.saved_model import tag_constants

input_saved_model_dir = "F:/python_machine_learning_codes/estimator_exported_model/1509418513"
output_node_names = "softmax_tensor"
input_binary = False
input_saver_def_path = False
restore_op_name = None
filename_tensor_name = None
clear_devices = False
input_meta_graph = False
checkpoint_path = None
input_graph_filename = None
saved_model_tags = tag_constants.SERVING

freeze_graph.freeze_graph(input_graph_filename, input_saver_def_path,
                            input_binary, checkpoint_path, output_node_names,
                              restore_op_name, filename_tensor_name,
                              output_graph_filename, clear_devices, "", "", "",
                              input_meta_graph, input_saved_model_dir,
                            saved_model_tags)

来自 conda-forge 的那个不完整,即使安装了 pip,我也不得不复制 freeze_graph.pysaved_model_utils 来自 tensorflow-master。此外,上面的代码大部分是从 freeze_graph_test.py 复制而来。

关于android - Tensorflow - 如何卡住 SavedModel 中的 .pb 以用于 TensorFlowInferenceInterface 中的推理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47029048/

相关文章:

android - Moshi - 将字符串转换为对象

python - 如何在 Tensorflow 中详尽地打印一维张量中的值而不得到截断的输出?

java - Android可达性测试

android - onRequestPermissionsResult 被无限调用

android - 什么是 REQUEST_CHECK_SETTING?

Tensorflow:导入错误:libcusolver.so.8.0:无法打开共享对象文件:没有这样的文件或目录

python - 找不到 tensorflow 版本

python - MongoDB Atlas 连接在 Heroku 上不起作用

python - 无法使用 BeautifulSoup 从标签中提取文本

python - NN VBD IN DT NNS RB 在 NLTK 中是什么意思?