python - 如何从 Tensorflow Objectdetection 2 中的检查点导出frozen_inference_graph.pb
问题描述
如何将经过训练的模型导出到 frozen_inference_graph.pb 而不是 saved_model.pb,因为当我使用 Tensorflow 对象检测 v2 附带的 exporter_main_v2.py 时,它会给我一个文件夹
├─ exported-models/
└─ my_model/
├─ checkpoint/
├─ saved_model/
└─ assets/
├─ variables/
└─ saved_model.pb
└─ pipeline.config
在 save_model 里面我有 save_model.pb 但问题是我不能单独使用它进行推理,但我需要使用它附带的变量文件夹。这就是为什么我要问他们是否有一种方法可以将经过训练的模型导出到 frozen_inference_graph.pb 以将其用于推理,而无需 TF1 中的变量文件夹。
解决方案
不幸的是,TF2 不支持 export_inference_graph.py,它会做你所要求的确切事情 - 但仅适用于 TF1。exporter_main_v2.py 不会导出任何冻结图。
你可以做的是冻结你的图表使用
from tensorflow.python.tools import freeze_graph
freeze_graph.freeze_graph(...)
您还可以在您的计算机上的 tensorflow\python\tools 中找到文件 freeze_graph.py,该文件对如何使用它进行了很好的评论。此外,您可以查看如何冻结它:freeze_graph_test 但是,TF2 不再打算生成冻结图!
编辑:可以在这里找到很好的解决方法
推荐阅读
- ruby - 如何实现link_to,AJAX,remote:true,respond_to而不渲染新的url Rails 6
- r - H2O R 包的安全问题
- javascript - 我怎样才能让桨把球击起来并回到空中?
- python - 在 Python 3.9 中导入 numpy 库时出错
- java - Java HashSet does not work as expected with Arrays.asList
- filepath - Prettier - 如何忽略 CLI 文件模式中的某些文件类型?
- node.js - 如何将类验证器实现为中间件?
- amazon-web-services - 报告来自自动触发的 lambda 函数的匹配时间戳
- c++ - 我可以使用互斥锁在 Android 中读取和写入同一个文件,而不会出现未定义的行为吗?
- compiler-construction - 如何使用可选前缀 LL(2) 制作语法?