无.meta文件的TensorFlow目标检测模型如何导出pb格式文件
问题解答
1. 缺少.meta文件能否运行通用冻结程序
不能。通用的TensorFlow模型冻结脚本依赖.meta文件存储的计算图结构信息,没有该文件脚本无法还原完整的模型网络结构,无法完成变量到常量的转换操作。
2. .meta文件生成方法
你已经可以基于现有ckpt文件完成推理,说明你已经有了构建模型结构、加载ckpt权重的完整代码,只需要在推理代码的会话(Session)存活、权重已经加载完成的状态下,执行一次saver保存操作即可自动生成.meta文件:
# 你原有推理代码中加载完权重后加入以下代码 saver = tf.train.Saver() saver.save(sess, save_path='./ckpt-11')
执行完成后你会在对应目录下得到ckpt-11.meta文件。
额外提示:你使用的是TensorFlow官方目标检测模块训练的模型,更推荐直接用官方自带的
export_inference_graph.py导出脚本,不需要单独生成.meta文件,只需要传入你的pipeline.config和ckpt前缀即可直接导出可用的pb文件,适配性更高。
3. output_node_names参数获取方式
通过TensorFlow目标检测API训练的MobilenetSSD模型,固定输出节点名如下,直接填入即可:detection_boxes, detection_scores, detection_classes, num_detections
如果你需要自行确认,可在加载完模型的推理会话中执行以下代码打印所有节点名筛选:
for node in sess.graph_def.node: print(node.name)
内容的提问来源于stack exchange,提问作者Tyler Oleson
相关产品推荐
相关产品推荐

