(请原谅我的长篇文章,非常感谢您的帮助)
我正在根据此处的存储库中的培训代码,训练pascalDet模型以获取pascal VOC样式的自定义数据
保存的模型检查点表现良好,因为我可以看到可接受的性能.
现在我尝试使用coreML冻结模型以进行部署,以了解性能在移动平台中的表现.该脚本的作者仅在其研究论文中报告GPU环境中的性能.
我按照张量流程遵循建议的步骤,我的命令如下
我从检查点元文件中写出了图形
path_to_ckpt_meta = rootdir + "model.ckpt-355000.meta"
path_to_ckpt_data = rootdir + "model.ckpt-355000"
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True))
saver = tf.train.import_meta_graph(path_to_ckpt_meta)
saver.restore(sess, path_to_ckpt_data)
tf.train.write_graph(tf.get_default_graph().as_graph_def(), rootdir, "model_ckpt_355000_graph_V2.pb", False)
Run Code Online (Sandbox Code Playgroud)
我查看图表摘要,查看模型中的所有张量.输出摘要文件在这里.
但是,当我使用tensorflow中的inspect_checkpoint.py函数检查检查点文件时,我看不到image_input节点.检查的输出是在这里.
我使用tensorflow freeze_graph.py函数冻结图形
python ./tensorflow/python/tools/freeze_graph.py \
--input_graph=path-to-dir/train/model_ckpt_355000_graph.pb \
--input_checkpoint=path-to-dir/train/model.ckpt-355000 \
--output_graph=path-to-dir/train/frozen_sqdt_ckpt_355000.pb \
--output_node_names=bbox/trimming/bbox,probability/score,probability/class_idx
Run Code Online (Sandbox Code Playgroud)
freeze_graph调用完成且没有错误,并根据上面的命令生成冻结图.
当我使用summarize_graph函数调用检查冻结的图形时
bazel-bin/tensorflow/tools/graph_transforms/summarize_graph --in_graph=/tmp/logs/squeezeDet_NewDataset_test01_March02/train/frozen_sqdt_ckpt_355000.pb
Run Code Online (Sandbox Code Playgroud)
我得到以下内容
No inputs spotted.
No variables spotted.
Found 3 possible outputs: (name=bbox/trimming/bbox, op=Transpose) (name=probability/score, op=Max) (name=probability/class_idx, op=ArgMax)
Found 2703452 …Run Code Online (Sandbox Code Playgroud)