tensorflow的pb模型转为onnx模型

tensorflow模型转为onnx模型的工具:Tf2onnx

git源码:https://github.com/onnx/tensorflow-onnx

1、python和tensorflow版本要求

Python版本:3.6

Tensorflow版本:1.13

2、Tf2onnx安装

pip install -U tf2onnx

3、模型转换

python -m tf2onnx.convert --graphdef saved_model.pb --output model.onnx --inputs input/audio/preprocessed:0 --outputs output/softmax:0

参数说明:

-graphdef:需要进行转换的pb模型

–output:转换后的onnx模型名称

-inputs:pb模型输入层的名字

–outputs:pb模型输出层的名字

(模型输入名称见4)

4、summarize graph tool

查看pb模型输入输出的工具

1)安装

下载tensorflow源码:Git:https://github.com/tensorflow

安装bazel:下载:bazel-4.0.0-installer-linux-x86_64.sh

地址:Index of bazel-local/4.0.0

执行命令:chmod +x bazel-

./bazel-

2)使用

在下载的tensorflow源码中分别执行:

bazel build tensorflow/tools/graph_transforms:summarize_graph

bazel-bin/tensorflow/tools/graph_transforms/summarize_graph
--in_graph=tensorflow_inception_graph.pb

输出是模型的输入和输出层模型名称

[En]

The output is the input and output layer model name of the model

eg:

tensorflow的pb模型转为onnx模型

5.可能出现的问题

tensorflow的pb模型转为onnx模型

解决方案:不要将参数与输入和输出图层名一起使用

[En]

Solution: do not use parameters with input and output layer names

将模型当道tmp_model文件夹中,然后执行:

python -m tf2onnx.convert --saved-model tmp_model --output simbert.onnx --opset 13

6.直接从ckpt模型转换为onnx模型

但您需要知道输入和输出图层名,并且多个输入之间用逗号分隔

[En]

But you need to know the input and output layer names, and multiple inputs are separated by commas

python -m tf2onnx.convert --checkpoint ckpt/model.ckpt.meta --inputs input1:0,input2:0,input3:0 --outputs output:0 --output model.onnx --opset 13

Original: https://blog.csdn.net/weixin_43836242/article/details/122730148
Author: summerヾ(๑╹◡╹)ノ”
Title: tensorflow的pb模型转为onnx模型

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/496815/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球