tensorflow模型ckpt转pb以及其遇到的问题

Posted youyou0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow模型ckpt转pb以及其遇到的问题相关的知识,希望对你有一定的参考价值。

  使用tensorflow训练模型,ckpt作为tensorflow训练生成的模型,可以在tensorflow内部使用。但是如果想要永久保存,最好将其导出成pb的形式。

  tensorflow已经准备好ckpt转pb的脚本,直接使用tensorflow脚本就可以很方便地将文件类型转换掉。

  在github下载tensorflow代码,https://github.com/tensorflow/models/tree/master,其中research/object_detection文件夹里,提供了名为export_inference_graph.py的脚本。

  在导出之前,请确保你在训练目录中有以下文件:

model.ckpt-$.data-00000-of-00001,model.ckpt-$.indexmodel.ckpt-$.meta

  你可能有几个具有相同格式的文件,但是使用不同的检查点数量。因此,只需选择所需的检查点,并在命令行中进入到research文件夹中执行以下命令:

  python object_detection/export_inference_graph.py --input_type image_tensor --pipeline_config_path=path/to/training/ssd_mobilenet_v1_pets.config --      trained_checkpoint_prefix=path/to/training/model.ckpt-xxxxx --output_directory path/to/output/directory

输出将是一个文件,该文件包含一个叫做frozen_inference_graph.pb模型的“冻结(frozen)”版本。

 

 

附:

  当导出模型后,并进行测试一段时间之后,可能会出现因为checkpoint改变而报错的情况,这时将checkpoint文件删掉即可。

以上是关于tensorflow模型ckpt转pb以及其遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow ckpt模型转saved_model格式并进行模型预测

何时在 Tensorflow 模型保存中使用 .ckpt、.hdf5 和 .pb 文件扩展名?

TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式

Tensorflow Learning1 模型的保存和恢复

TensorFlow 生成 .ckpt 和 .pb

保存tensorflow模型为pb文件