我正在使用MobileNetv2
,并使用deeplab
作为预处理器(如果这是正确的术语?)。我已经完成了转移学习,以在自己的数据集上训练示例网络,并创建了.meta
,.index
和.pbtxt
文件。当我尝试将它们转换为pb
文件时,遇到了很多问题。
freeze_graph.py
需要知道output_node_names
。如果我使用的是InceptionV3而不是deeplab,则应为“ InceptionV3 / Predictions / Reshape_1”。在其他地方,我见过人们使用“ softmax”。
我尝试使用列出节点名称
print([graph.as_graph_def()。node中节点的节点名称])
但是该列表太长了。搜索“预测”,“输出”,“重塑”,“ softmax”的变体并没有发现任何有希望的东西。
我看了张量图,但是图的复杂性让我不知所措。我找不到任何看起来像输出节点的东西。
有人建议淡褐色,但是当我尝试
bazel构建tensorflow / tools / graph_transforms:summarize_graph
我明白了
ERROR: no such package 'tensorflow/tools/graph_transforms': BUILD file not found on package path`
编辑:如果相关,我将mobilenetv2_coco_voc_trainaug
检查点用作从https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md转移学习的起点
答案 0 :(得分:1)
鉴于生成图形的代码是on github,我只是从头开始构建它并检查其最终名称。
import tensorflow as tf
# you'll need `models/research/slim` on your PYTHONPATH FOR THE FOLLOWING
from nets.mobilenet import mobilenet_v2
image = tf.zeros((1, 224, 224, 3), dtype=tf.float32) # values don't matter
out, endpoints = mobilenet_v2.mobilenet(image)
print(out.name)