尝试使用onnx-tf库将.onnx模型转换为.pb模型

时间:2020-09-14 07:57:30

标签: python tensorflow

我正在尝试使用 .onnx 模型转换为 .pb 格式> onnx-tf 软件包,但是,调用 onnx_tf.backend.prepare 函数后,python内核崩溃。我正在使用以下代码:

import onnx

from onnx_tf.backend import prepare
import tensorflow
onnx_model = onnx.load(<path-to-model>)  # load onnx model
tf_rep = prepare(onnx_model)  # <------ That's where python crashes
tf_rep.export_graph(<output-path>)  # export the model

我已经仔细检查了软件包的版本依赖性,因为错误的依赖性在加载 .onnx 模型时会导致不同的错误,如下所示:

onnx==1.7.0
onnx-tf==1.6.0
tensorflow==2.2.0
tensorflow-addons==0.10.0
torch==1.6.0+cu101

但是,根据Github的页面,依赖性似乎是正确的。

3 个答案:

答案 0 :(得分:1)

ONNX 1.6和1.7之间发生了很大的变化,从而导致了许多依赖性问题。尝试使用Onnx 1.6,这可能是问题的根源。您在哪里找到提到的1.7作为必需版本?

此外,您提到Python内核崩溃了吗?您正在使用Jupyter笔记本电脑吗?

我发现该软件包在Juypter笔记本电脑中更加不稳定,并且无法打印出所有相关错误。如果您可以使用独立的Python脚本测试系统,则可能会获得更多信息。

答案 1 :(得分:0)

onnxonnx-tf之前导入tfpytorch相关库应该会有所帮助。该问题可能是由于onnxonnx-tf都使用tf引起的版本冲突引起的。

答案 2 :(得分:0)

您能否安装此提交7d8fa7d88fab469253d75e5e11cf9cdcb90104c4的onnx-tf

在导入顺序和提交之间,这个问题为我解决了