Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 如何将.ckpt文件转换为.pb_Tensorflow_Solid State Drive - Fatal编程技术网

Tensorflow 如何将.ckpt文件转换为.pb

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

我在对象检测API中使用ssd_mobilenets来训练我自己的模型,并获取.ckpt文件。它在我的电脑上运行良好,但现在我想在手机上使用该型号。所以,我需要将其转换为.pb文件。我不知道怎么做,有人能帮忙吗?顺便说一下,ssd_mobilenets的图形很复杂,我找不到哪个是模型的输出。有人知道输出的名称吗?

  • 这是此链接中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=“”
用于将模型检查点文件转换为.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/

我使用
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/