ONNX转换为 RKNN 模型报错( module 'onnx' has no attribute 'mapping')-十万火急啊

  • tangj wrote: 2025-09-16 10:14 (1)目前版本rknn-toolkit2 version: 2.3.2,onnx version:1.19.0,onnxruntime version:1.19.2,
    (2)安装步骤参考:https://wiki.luckfox.com/zh/Luckfox-Pico-Pi/RKNN
    (3)使用命令:(RKNN-Toolkit2) mush@mush:~/luckfox_pico_rknn_example/scripts/luckfox_onnx_to_rknn/convert$ python convert.py ../model/yolov5.onnx ../dataset/yolov5_dataset.txt ../model/yolov5.rknn Yolov5,
    (4)报错信息如下:AttributeError: module 'onnx' has no attribute 'mapping'
    (5)更具体:
    I Loading : 100%|██████████████████████████████████████████████| 121/121 [00:00<00:00, 19150.63it/s]
    E load_onnx: Traceback (most recent call last):
    File "rknn/api/rknn_log.py", line 344, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
    File "rknn/api/rknn_base.py", line 1579, in rknn.api.rknn_base.RKNNBase.load_onnx
    File "rknn/api/rknn_base.py", line 613, in rknn.api.rknn_base.RKNNBase._create_ir_and_inputs_meta
    File "rknn/api/ir_graph.py", line 84, in rknn.api.ir_graph.IRGraph.__init__
    File "rknn/api/ir_graph.py", line 665, in rknn.api.ir_graph.IRGraph.rebuild
    File "rknn/api/base_utils.py", line 34, in rknn.api.base_utils.to_np_type
    AttributeError: module 'onnx' has no attribute 'mapping'

    I ===================== WARN(0) =====================
    E rknn-toolkit2 version: 2.3.2
    Traceback (most recent call last):
    File "rknn/api/rknn_log.py", line 344, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
    File "rknn/api/rknn_base.py", line 1579, in rknn.api.rknn_base.RKNNBase.load_onnx
    File "rknn/api/rknn_base.py", line 613, in rknn.api.rknn_base.RKNNBase._create_ir_and_inputs_meta
    File "rknn/api/ir_graph.py", line 84, in rknn.api.ir_graph.IRGraph.__init__
    File "rknn/api/ir_graph.py", line 665, in rknn.api.ir_graph.IRGraph.rebuild
    File "rknn/api/base_utils.py", line 34, in rknn.api.base_utils.to_np_type
    AttributeError: module 'onnx' has no attribute 'mapping'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/home/mush/luckfox_pico_rknn_example/scripts/luckfox_onnx_to_rknn/convert/convert.py", line 36, in <module>
    ret = rknn.load_onnx(model=model_path)
    File "/home/mush/miniconda3/envs/RKNN-Toolkit2/lib/python3.9/site-packages/rknn/api/rknn.py", line 168, in load_onnx
    return self.rknn_base.load_onnx(model, inputs, input_size_list, input_initial_val, outputs)
    File "rknn/api/rknn_log.py", line 349, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
    File "rknn/api/rknn_log.py", line 95, in rknn.api.rknn_log.RKNNLog.e
    ValueError: Traceback (most recent call last):
    File "rknn/api/rknn_log.py", line 344, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
    File "rknn/api/rknn_base.py", line 1579, in rknn.api.rknn_base.RKNNBase.load_onnx
    File "rknn/api/rknn_base.py", line 613, in rknn.api.rknn_base.RKNNBase._create_ir_and_inputs_meta
    File "rknn/api/ir_graph.py", line 84, in rknn.api.ir_graph.IRGraph.__init__
    File "rknn/api/ir_graph.py", line 665, in rknn.api.ir_graph.IRGraph.rebuild
    File "rknn/api/base_utils.py", line 34, in rknn.api.base_utils.to_np_type
    AttributeError: module 'onnx' has no attribute 'mapping'
    发一下onnx,我试试
  • 您好,您的问题应该是库的版本问题,请检查一下您的onnx库的版本

    Code: Select all

    python -c "import onnx; print(onnx.__version__)"
    
    我实测1.17.0版本的可以运行,建议更改为该版本的onnx再尝试

    Code: Select all

    python -m pip uninstall -y onnx
    conda remove onnx -y # 如果使用 conda 安装执行
    python -m pip cache purge
    python -m pip install --force-reinstall --no-cache-dir onnx==1.17.0
    
  • pointer wrote: 2025-09-16 10:55
    tangj wrote: 2025-09-16 10:14 (1)目前版本rknn-toolkit2 version: 2.3.2,onnx version:1.19.0,onnxruntime version:1.19.2,
    (2)安装步骤参考:https://wiki.luckfox.com/zh/Luckfox-Pico-Pi/RKNN
    (3)使用命令:(RKNN-Toolkit2) mush@mush:~/luckfox_pico_rknn_example/scripts/luckfox_onnx_to_rknn/convert$ python convert.py ../model/yolov5.onnx ../dataset/yolov5_dataset.txt ../model/yolov5.rknn Yolov5,
    (4)报错信息如下:AttributeError: module 'onnx' has no attribute 'mapping'
    (5)更具体:
    I Loading : 100%|██████████████████████████████████████████████| 121/121 [00:00<00:00, 19150.63it/s]
    E load_onnx: Traceback (most recent call last):
    File "rknn/api/rknn_log.py", line 344, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
    File "rknn/api/rknn_base.py", line 1579, in rknn.api.rknn_base.RKNNBase.load_onnx
    File "rknn/api/rknn_base.py", line 613, in rknn.api.rknn_base.RKNNBase._create_ir_and_inputs_meta
    File "rknn/api/ir_graph.py", line 84, in rknn.api.ir_graph.IRGraph.__init__
    File "rknn/api/ir_graph.py", line 665, in rknn.api.ir_graph.IRGraph.rebuild
    File "rknn/api/base_utils.py", line 34, in rknn.api.base_utils.to_np_type
    AttributeError: module 'onnx' has no attribute 'mapping'

    I ===================== WARN(0) =====================
    E rknn-toolkit2 version: 2.3.2
    Traceback (most recent call last):
    File "rknn/api/rknn_log.py", line 344, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
    File "rknn/api/rknn_base.py", line 1579, in rknn.api.rknn_base.RKNNBase.load_onnx
    File "rknn/api/rknn_base.py", line 613, in rknn.api.rknn_base.RKNNBase._create_ir_and_inputs_meta
    File "rknn/api/ir_graph.py", line 84, in rknn.api.ir_graph.IRGraph.__init__
    File "rknn/api/ir_graph.py", line 665, in rknn.api.ir_graph.IRGraph.rebuild
    File "rknn/api/base_utils.py", line 34, in rknn.api.base_utils.to_np_type
    AttributeError: module 'onnx' has no attribute 'mapping'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/home/mush/luckfox_pico_rknn_example/scripts/luckfox_onnx_to_rknn/convert/convert.py", line 36, in <module>
    ret = rknn.load_onnx(model=model_path)
    File "/home/mush/miniconda3/envs/RKNN-Toolkit2/lib/python3.9/site-packages/rknn/api/rknn.py", line 168, in load_onnx
    return self.rknn_base.load_onnx(model, inputs, input_size_list, input_initial_val, outputs)
    File "rknn/api/rknn_log.py", line 349, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
    File "rknn/api/rknn_log.py", line 95, in rknn.api.rknn_log.RKNNLog.e
    ValueError: Traceback (most recent call last):
    File "rknn/api/rknn_log.py", line 344, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
    File "rknn/api/rknn_base.py", line 1579, in rknn.api.rknn_base.RKNNBase.load_onnx
    File "rknn/api/rknn_base.py", line 613, in rknn.api.rknn_base.RKNNBase._create_ir_and_inputs_meta
    File "rknn/api/ir_graph.py", line 84, in rknn.api.ir_graph.IRGraph.__init__
    File "rknn/api/ir_graph.py", line 665, in rknn.api.ir_graph.IRGraph.rebuild
    File "rknn/api/base_utils.py", line 34, in rknn.api.base_utils.to_np_type
    AttributeError: module 'onnx' has no attribute 'mapping'
    发一下onnx,我试试
    我目前用的是:https://github.com/LuckfoxTECH/luckfox_ ... xample.git
    这个例子下面的 luckfox_pico_rknn_example/scripts/luckfox_onnx_to_rknn目录下面的例子
    (onnx就是model下面的yolov5),
    也是官方网页https://wiki.luckfox.com/zh/Luckfox-Pico-Pi/RKNN给的例子,
    使用命令是python convert.py ../model/yolov5.onnx ../dataset/yolov5_dataset.txt ../model/yolov5.rknn Yolov5, 感谢大佬
    Last edited by tangj on 2025-09-17 1:07, edited 1 time in total.
  • Crocodile wrote: 2025-09-16 11:01 您好,您的问题应该是库的版本问题,请检查一下您的onnx库的版本

    Code: Select all

    python -c "import onnx; print(onnx.__version__)"
    
    我实测1.17.0版本的可以运行,建议更改为该版本的onnx再尝试

    Code: Select all

    python -m pip uninstall -y onnx
    conda remove onnx -y # 如果使用 conda 安装执行
    python -m pip cache purge
    python -m pip install --force-reinstall --no-cache-dir onnx==1.17.0
    
    你好,请问修改onnx版本的话,需要修改onnxruntime版本吗?会有一些其他的影响吗
    下载.png
  • Crocodile wrote: 2025-09-16 11:01 您好,您的问题应该是库的版本问题,请检查一下您的onnx库的版本

    Code: Select all

    python -c "import onnx; print(onnx.__version__)"
    
    我实测1.17.0版本的可以运行,建议更改为该版本的onnx再尝试

    Code: Select all

    python -m pip uninstall -y onnx
    conda remove onnx -y # 如果使用 conda 安装执行
    python -m pip cache purge
    python -m pip install --force-reinstall --no-cache-dir onnx==1.17.0
    
    您好,我目前使用您上诉给的命令去降级Onnx的版本,但是出现了错误,提示ERROR: Could not find a version that satisfies the requirement onnx==1.17.0 (from versions: none)
    ERROR: No matching distribution found for onnx==1.17.0,我之前的版本是onnx 1.19.0,请问现在还有什么办法解决吗?
    下载2.png
  • 我conda环境用的python 是 Python 3.8.13,python 的版本也可能导致找不到指定的 python 包,不一定要指定 1.17.0 版本的其他低版本的也可以尝试