我正在尝试使用 将 .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的页面,依赖性似乎是正确的。
答案 0 :(得分:1)
ONNX 1.6和1.7之间发生了很大的变化,从而导致了许多依赖性问题。尝试使用Onnx 1.6,这可能是问题的根源。您在哪里找到提到的1.7作为必需版本?
此外,您提到Python内核崩溃了吗?您正在使用Jupyter笔记本电脑吗?
我发现该软件包在Juypter笔记本电脑中更加不稳定,并且无法打印出所有相关错误。如果您可以使用独立的Python脚本测试系统,则可能会获得更多信息。
答案 1 :(得分:0)
在onnx
和onnx-tf
之前导入tf
和pytorch
相关库应该会有所帮助。该问题可能是由于onnx
和onnx-tf
都使用tf
引起的版本冲突引起的。
答案 2 :(得分:0)
您能否安装此提交7d8fa7d88fab469253d75e5e11cf9cdcb90104c4的onnx-tf
在导入顺序和提交之间,这个问题为我解决了