pytorch1.4 + onnx问题

本文详细探讨了在PyTorch1.4与ONNX1.6环境下,使用ONNXRuntime进行模型优化及检查时遇到的问题与解决策略。包括如何通过调整ONNX版本解决checker.check_model的错误,以及在将模型从PyTorch导出到Caffe2时,因设备类型不匹配导致的报错解决方案。同时,提供了在模型优化和简化过程中的关键参数设置,以及一系列实用的参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

onnxruntime:https://github.com/microsoft/onnxruntime/
pytorch1.4 + onnx1.6
onnx.checker.check_model(onnx_model) 会报错
onnx降版本到1.5,运行通过

pip install onnx
pip install onnxruntime
pip install onnx-simplifier

参考链接:

https://www.jianshu.com/p/fa2ea3750554
https://blog.csdn.net/cc13949459188/article/details/96427493

caffe2加载onnx文件报错:

    model = onnx.optimizer.optimize(model)
  File "/home/chl/.conda/envs/pytorch_1.4/lib/python3.6/site-packages/onnx/optimizer.py", line 55, in optimize
    optimized_model_str = C.optimize(model_str, passes)
IndexError: _Map_base::at

在pytorch导出的时候设置参数:keep_initializers_as_inputs=True

torch_out = torch.onnx.export(res_model, x, output_onnx, export_params=True, verbose=False, input_names=input_names, output_names=output_names, opset_version=9, keep_initializers_as_inputs=True)

原因是导出模型时使用了CPU,导入caffe2时默认使用CUDA,导致错误。
参考链接:

https://blog.csdn.net/weixin_38331384/article/details/103897154

移植:

https://blog.csdn.net/u011961856/article/details/102478346
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值