Tensorflow 如何将.ckpt文件转换为.pb
我在对象检测API中使用ssd_mobilenets来训练我自己的模型,并获取.ckpt文件。它在我的电脑上运行良好,但现在我想在手机上使用该型号。所以,我需要将其转换为.pb文件。我不知道怎么做,有人能帮忙吗?顺便说一下,ssd_mobilenets的图形很复杂,我找不到哪个是模型的输出。有人知道输出的名称吗?Tensorflow 如何将.ckpt文件转换为.pb,tensorflow,solid-state-drive,Tensorflow,Solid State Drive,我在对象检测API中使用ssd_mobilenets来训练我自己的模型,并获取.ckpt文件。它在我的电脑上运行良好,但现在我想在手机上使用该型号。所以,我需要将其转换为.pb文件。我不知道怎么做,有人能帮忙吗?顺便说一下,ssd_mobilenets的图形很复杂,我找不到哪个是模型的输出。有人知道输出的名称吗? 这是此链接中object_detection_tutorial.ipynb中的第四个代码单元- 现在,单元格清楚地显示了.pb文件名,即/freezed\u expression\u
- 这是此链接中object_detection_tutorial.ipynb中的第四个代码单元-
- 现在,单元格清楚地显示了
文件名,即.pb
/freezed\u expression\u graph.pb
- 那么您已经有了
文件,为什么要转换.pb
- 无论如何,您可以参考thsi链接来冻结图形:
- 您需要使用
函数将tensorflow.python.tools.freeze_graph()
文件转换为.ckpt
文件.pb
- 下面的代码行显示了如何执行此操作
freeze_graph.freeze_graph(input_graph_path, input_saver_def_path, input_binary, input_checkpoint_path, output_node_names, restore_op_name, filename_tensor_name, output_graph_path, clear_devices, initializer_nodes)
- input_graph_path:是写入图形的
文件的路径,并且此.pb
文件未冻结。您将使用.pb
来编写图形tf.train.write_graph()
- input_saver_def_path:可以将其保留为空字符串
- input_binary:这是一个布尔值,请将其保留为false,这样文件Generated就不是二进制的,并且人类可读
- 输入检查点路径:指向
.ckpt文件的路径
- output_graph_path:您要写入
文件的路径pb
- 清除\u设备:布尔值。。。保持虚假
- 输出节点名称:要保存的显式张量节点名称
- restore_op_name:字符串值,应为“save/restore_all”
- filename\u tensor\u name=“保存/Const:0”
- 初始值设定项_nodes=“”
- input_graph_path:是写入图形的
python tensorflow_models/object_detection/export_inference_graph.py \
--input_type image_tensor \
--pipeline_config_path architecture_used_while_training.config \
--trained path_to_saved_ckpt/model.ckpt-NUMBER \
--output_directory model/
我使用
tf.train.Saver()
创建了一个.ckpt
文件,但它没有给我一个.config
文件。这是从哪里来的?使用与您用于培训模型相同的配置文件,或者从TFI不理解冻结\u图形的示例配置中选取一个。您是说它将.ckpt
文件转换为.pb
文件,但是input\u graph\u path
是指向预先存在的.pb
文件的路径?那是从哪里来的?
python tensorflow_models/object_detection/export_inference_graph.py \
--input_type image_tensor \
--pipeline_config_path architecture_used_while_training.config \
--trained path_to_saved_ckpt/model.ckpt-NUMBER \
--output_directory model/