[英]Tensorflow - How to freeze a .pb from the SavedModel to be used for inference in TensorFlowInferenceInterface?
根據這個答案 ,我可以提取MetaGraph
從SavedModel
,然后凍結MetaGraph
的GraphDef
,然后運行freeze_graph.py
對腳本GraphDef
得到.pb
在Android中使用。 我的問題:我究竟如何提取MetaGraph
(然后是GraphDef
)? 因為tf.saved_model.loader.load(sess, [tag_constants.SERVING], <model_path>)
返回MetaGraphDef
而不是MetaGraph
。
我剛剛得到它。 事實證明,除去Tensorflow版本,我從拿到后conda
,並從一個替換它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.py
和saved_model_utils
從tensorflow-master
。 此外,上面的代碼主要是從freeze_graph_test.py
復制的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.