TensorFlow模型转ONNX格式-官方示例
https://github.com/onnx/tutorials/blob/master/tutorials/TensorflowToOnnx-1.ipynb
——Translated by Blssel
前言
对Tensorflow和ONNX来说,虽然它们使用的是不同的计算图格式,但你可以使用Tensorflow-ONNX将一个Tensorflow模型转化为ONNX。本文将分为两个部分:第1部分介绍基本的转换方法,第2部分讨论更高级的话题。目录可以概括如下:
- 转换TensorFlow模型的步骤
-准备tensorflow模型
-转换为ONNX
-验证- 额外说明
1. 转换TensorFlow模型的步骤
步骤1:准备tensorflow模型
Tensorflow有好几种保存模型的文件格式,如检查点(checkpoint)文件、graph with weight(called frozen graph next) 以及saved_model,,你可以在训练模型时使用tensorflow提供的api来生成这些文件,可以参考脚本tensorflow_to_onnx_example.py
无论是这三种格式中的哪一种,Tensorflow-onnx都能够将它们转换成onnx格式不过更推荐使用“saved_model”格式,因为它不需要用户指定图形的输入和输出名称。本节将以它为例进行介绍,然后在第2部分(part2)中介绍其他两个。此外,你还可以从tensorflow-onnx的README文件中获得更多细节。
import os
import shutil
import tensorflow as tf
from assets.tensorflow_to_onnx_example import create_and_train_mnist
def save_model_to_saved_model(sess, input_tensor, output_tensor