如何获取 input/output 名称以创建 .pb 文件

How to get input/output name to create .pb file

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

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

有些人建议使用 "summarize_graph tool",但要这样做,我需要在参数中提供 .pb 文件。我需要 output/input 个名称来创建 .pb 文件,所以我不能使用 "summarize_graph tool",因为我还没有 .pb 文件。

我看到了这个问题:
但它只给了我数千个可能的 output/input 节点名称。

所以我的问题是:
如果没有 .pb 文件,如何获得 input/output 节点?

我发现有一个用于对象检测的冻结图形的工具 API 可以在没有 input/output 名称的情况下使用。 有关命令,请参阅 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