【问题标题】:How to get input/output name to create .pb file如何获取输入/输出名称以创建 .pb 文件
【发布时间】:2018-04-29 05:46:55
【问题描述】:

我用我的数据集训练了一个用于 Tensorflow 对象检测 API 的模型。保存模型后,我得到了三个文件:

  • model.ckpt-10000.data-00000-of-00001
  • model.ckpt-10000.meta
  • model.ckpt-10000.index

从这些文件中,我想创建一个 .pb 文件。我用谷歌搜索并意识到我可以使用 Tensorflow 项目中包含的“freeze_graph.py”。但是要使用 freeze_graph.py,我需要输入/输出名称。

有人建议使用“summarize_graph 工具”,但要这样做,我需要在参数中提供 .pb 文件。我需要输出/输入名称来创建 .pb 文件,所以我不能使用“summarize_graph 工具”,因为我还没有 .pb 文件。

我看到了这个问题:How do you get the name of the tensorflow output nodes in a Keras Model?
但它只是给了我数千个可能的输出/输入节点名称。

所以我的问题是:
没有 .pb 文件如何获取输入/输出节点?

【问题讨论】:

    标签: python python-3.x tensorflow object-detection-api


    【解决方案1】:

    我发现有一个用于对象检测 API 的冻结图形的工具,它可以在没有输入/输出名称的情况下使用。 有关命令,请参阅here。是这样的:

    # From tensorflow/models/research/
    python object_detection/export_inference_graph.py \
        --input_type image_tensor \
        --pipeline_config_path ${PIPELINE_CONFIG_PATH} \
        --trained_checkpoint_prefix ${TRAIN_PATH} \
        --output_directory output_inference_graph.pb
    

    然后我从这三个文件中得到了一个.pb文件:model.ckpt-10000.data-00000-of-00001、model.ckpt-10000.meta、model.ckpt-10000.index。

    或者如果你已经有一个 .pb 文件,你可以使用这个: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/graph_transforms/README.md#inspecting-graphs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多