模型转换问题汇总

这篇博客总结了在将Caffe模型转换为ONNX过程中遇到的问题,包括:1) Upsample操作过时,解决方案是将Upsample改为Resize;2) Python版本不兼容,需要使用Python2或更新protobuf版本;3) 文件路径错误,需要修正文件路径中的斜杠。给出了详细的错误信息和修复步骤。
摘要由CSDN通过智能技术生成

https://github.com/htshinichi/caffe-onnx

1Q:

2.onnx模型转换完成

3.模型存在问题,未保存成功:

Op registered for Upsample is deprecated in domain_version of 15

==> Context: Bad node spec for node. Name: layer11-upsample OpType: Upsample

 解决方案:

src/load_save_model.py

def saveonnxmodel(onnxmodel,onnx_save_path):

try:

#onnx.checker.check_model(onnxmodel)

onnx.save_model(onnxmodel, onnx_save_path)

print("3.模型保存成功,已保存至"+onnx_save_path)

except Exception as e:

print("3.模型存在问题,未保存成功:\n",e)

 解决方案2 >解决方案

将 上采样Upsample 改为 Resize

layer {
    bottom: "layer10-conv"
    top: "layer11-upsample"
    name: "layer11-upsample"
    type: "

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在将模型转换为 ONNX 格式时,可能会出现一些错误,下面是一些常见的错误汇总及解决方法: 1. AttributeError: module 'torch.onnx' has no attribute 'OperatorExportTypes' 解决方法:更新 PyTorch 版本至 1.7 以上。 2. TypeError: Forward is not a function 解决方法:检查模型的 forward 函数是否写正确。 3. TypeError: can't pickle torch.Tensor objects 解决方法:将模型中的所有 tensor 转换为 numpy 数组。 4. ValueError: ONNX export failed: Couldn't export operator aten::upsample_bilinear2d 解决方法:将上采样函数改为 interpolate 函数。 5. RuntimeError: ONNX export failed: Couldn't export operator aten::max_pool2d 解决方法:将模型中的 max_pool 函数改为 adaptive_max_pool 函数。 6. RuntimeError: ONNX export failed: Couldn't export operator aten::mm 解决方法:将模型中的 mm 函数改为 matmul 函数。 7. RuntimeError: ONNX export failed: Couldn't export operator aten::addmm 解决方法:将模型中的 addmm 函数改为 matmul 函数与 add 函数相结合。 8. RuntimeError: ONNX export failed: Could not export Cast 解决方法:将 Cast 函数改为 astype 函数。 9. RuntimeError: ONNX export failed: Could not export Expand 解决方法:将 Expand 函数改为 broadcast_to 函数。 10. RuntimeError: ONNX export failed: Could not export Gather 解决方法:将 Gather 函数改为 gather 函数。 需要注意的是,在转换模型时,需要保证模型的版本兼容性,以及选择适当的 ONNX 运行时。同时,也需要确保模型的输入输出格式正确,以便后续使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值