DeBug:An error has been caught in function ‘<module>‘, process ‘MainProcess‘ (1824)..

问题:要将在YOLOX中生成的权重文件.pth转成.onnx格式时报错

解决:按最新的使用例子去改写

正确格式(21/10/30):

python3 tools/export_onnx.py --output-name yolox_s.onnx -n yolox-s -c yolox_s.pth

请看参考:YOLOX/demo/ONNXRuntime at main · Megvii-BaseDetection/YOLOX · GitHubYOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/ - YOLOX/demo/ONNXRuntime at main · Megvii-BaseDetection/YOLOXhttps://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo/ONNXRuntime

所以错误代码:

python tools/export_onnx.py -n yolox-nano -c weights/yolox_nano.pth --output name weights/yolox_nano.onnx

应该改为

python tools/export_onnx.py --output-name weights/yolox_nano.onnx -n yolox-nano -c weights/yolox_nano.pth

具体细节:

将pth转onnx时:使用了错误代码:

python tools/export_onnx.py -n yolox-nano -c weights/yolox_nano.pth --output name weights/yolox_nano.onnx

给出了报错信息:

ERROR    | __main__:<module>:116 - An error has been caught in function '<module>', process 'MainProcess' (1824), thread 'MainThread' (7948):

完整报错如下:

(mypytorch) P:\PytorchProject\YOLOX>python tools/export_onnx.py -n yolox-nano -c weights/yolox_nano.pth --output name weights/yolox_nano.onnx
2021-10-30 15:38:26.938 | INFO     | __main__:main:59 - args value: Namespace(batch_size=1, ckpt='weights/yolox_nano.pth', dynamic=False, exp_file=None, experiment_name=None, input='images', name='yolox-nano', no_onnxsim=False, opset=11, opts=['weights/yolox_nano.onnx'], output='name', output_name='yolox.onnx')
2021-10-30 15:38:26.949 | ERROR    | __main__:<module>:116 - An error has been caught in function '<module>', process 'MainProcess' (1824), thread 'MainThread' (7948):
Traceback (most recent call last):

> File "tools\export_onnx.py", line 116, in <module>
    main()
    └ <function main at 0x0000025294D575E0>

  File "tools\export_onnx.py", line 61, in main
    exp.merge(args.opts)
    │   │     │    └ ['weights/yolox_nano.onnx']
    │   │     └ Namespace(batch_size=1, ckpt='weights/yolox_nano.pth', dynamic=False, exp_file=None, experiment_name=None, input='images', na...
    │   └ <function BaseExp.merge at 0x0000025294D573A0>
    └ ╒══════════════════╤════════════════════════════╕
      │ keys             │ values                     │
      ╞══════════════════╪═════...

  File "P:\PytorchProject\YOLOX\yolox\exp\base_exp.py", line 64, in merge
    assert len(cfg_list) % 2 == 0
               └ ['weights/yolox_nano.onnx']

AssertionError: assert len(cfg_list) % 2 == 0

附图:

没看懂,去找官方文档,按最新的使用例子去改写后,正常运行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值