-
-
- Posts: 2
- Joined: 2024-11-21 14:52
我购买了Luckfox-Pico-Max,并烧录了网盘提供的Buildroot FLASH版本系统。但问题与此无关。
在尝试复现RKNN 推理测试_6.1 导出 RKNN 模型中,执行 rknn_model_zoo/examples/yolov5/python 目录下的模型转换程序 convert.py报错。请问如何解决?
环境为自建虚拟机:ubuntu-22.04.5,RKNN-Toolkit2版本为1.60(原仓库已声明废止,最新版本为2.30,是否应该升级),rknn_model_zoo为最新2.30。
Code: Select all
(RKNN-Toolkit2) ubuntu@ubuntu:~/Projects/rknn_model_zoo/examples/yolov5/python$ python3 convert.py ../model/yolov5s.onnx rv1106
W __init__: rknn-toolkit2 version: 1.6.0+81f21f4d
--> Config model
done
--> Loading model
E load_onnx: Model file ../model/yolov5s.onnx not exists!
W load_onnx: ===================== WARN(1) =====================
E rknn-toolkit2 version: 1.6.0+81f21f4d
Traceback (most recent call last):
File "convert.py", line 52, in <module>
ret = rknn.load_onnx(model=model_path)
File "/home/ubuntu/miniconda3/envs/RKNN-Toolkit2/lib/python3.8/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_base.py", line 1441, in rknn.api.rknn_base.RKNNBase.load_onnx
File "rknn/api/rknn_log.py", line 92, in rknn.api.rknn_log.RKNNLog.e
ValueError: Model file ../model/yolov5s.onnx not exists!
(RKNN-Toolkit2) ubuntu@ubuntu:~/Projects/rknn_model_zoo/examples/yolov5/python$ python3 convert.py ../model/yolov5s_relu.onnx rv1106
W __init__: rknn-toolkit2 version: 1.6.0+81f21f4d
--> Config model
done
--> Loading model
W load_onnx: It is recommended onnx opset 19, but your onnx model opset is 12!
W load_onnx: Model converted from pytorch, 'opset_version' should be set 19 in torch.onnx.export for successful convert!
Loading : 0%| | 0/125 [00:00<?, ?Loading : 100%|█████████████████████████████████████████████████| 125/125 [00:00<00:00, 3534.75it/s]
done
--> Building model
Illegal instruction (core dumped)
-
- Posts: 1286
- Joined: 2024-01-23 7:21
您好,根据log的错误提示“Model file ../model/yolov5s.onnx not exists!” 应该是转换命令参数错了或者文件不存在,在rknn_model_zoo/examples/yolov5/model下有一个download_model.sh 脚本会获取yolov5s_relu.onnx, 模型传入的参数应该是 ../model/yolov5s_relu.onnx
-
- Posts: 2
- Joined: 2024-11-21 14:52
Crocodile wrote: ↑2024-11-22 1:09
您好,根据log的错误提示“Model file ../model/yolov5s.onnx not exists!” 应该是转换命令参数错了或者文件不存在,在rknn_model_zoo/examples/yolov5/model下有一个download_model.sh 脚本会获取yolov5s_relu.onnx, 模型传入的参数应该是 ../model/yolov5s_relu.onnx
你好,这段问题已经解决,真正的问题出在这里:
Code: Select all
(RKNN-Toolkit2) ubuntu@ubuntu:~/Projects/rknn_model_zoo/examples/yolov5/python$ python3 convert.py ../model/yolov5s_relu.onnx rv1106
W __init__: rknn-toolkit2 version: 1.6.0+81f21f4d
--> Config model
done
--> Loading model
W load_onnx: It is recommended onnx opset 19, but your onnx model opset is 12!
W load_onnx: Model converted from pytorch, 'opset_version' should be set 19 in torch.onnx.export for successful convert!
Loading : 0%| | 0/125 [00:00<?, ?Loading : 100%|█████████████████████████████████████████████████| 125/125 [00:00<00:00, 3534.75it/s]
done
--> Building model
Illegal instruction (core dumped)
我重新安装了一台虚拟机,以2.30版本的rknn-toolkit2运行也是同样的地方同样的错误
-
- Posts: 1286
- Joined: 2024-01-23 7:21
我这边是wsl2转换的log信息如下
Code: Select all
(RKNN-Toolkit2) ➜ pythonpython3 convert.py ../model/yolov5s_relu.onnx rv1106
I rknn-toolkit2 version: 2.0.0b0+9bab5682
--> Config model
done
--> Loading model
I It is recommended onnx opset 19, but your onnx model opset is 12!
I Model converted from pytorch, 'opset_version' should be set 19 in torch.onnx.export for successful convert!
I Loading : 100%|██████████████████████████████████████████████| 125/125 [00:00<00:00, 14088.46it/s]
done
--> Building model
I GraphPreparing : 100%|████████████████████████████████████████| 149/149 [00:00<00:00, 8050.07it/s]
I Quantizating : 100%|████████████████████████████████████████████| 149/149 [00:04<00:00, 30.34it/s]
W build: The default input dtype of 'images' is changed from 'float32' to 'int8' in rknn model for performance!
Please take care of this change when deploy rknn model with Runtime API!
W build: The default output dtype of 'output0' is changed from 'float32' to 'int8' in rknn model for performance!
Please take care of this change when deploy rknn model with Runtime API!
W build: The default output dtype of '286' is changed from 'float32' to 'int8' in rknn model for performance!
Please take care of this change when deploy rknn model with Runtime API!
W build: The default output dtype of '288' is changed from 'float32' to 'int8' in rknn model for performance!
Please take care of this change when deploy rknn model with Runtime API!
I rknn building ...
I rknn buiding done.
done
--> Export rknn model
done
如果确定没有修改过convert.py 程序,yolov5s_relu.onnx也是通过 download_model.sh 获取的,那么出现该问题的解决方法只能向Rockchip求助,我们也没有相关的源码无法知道内部细节,您可以到
https://github.com/airockchip/rknn_model_zoo 提交issue
-
- Posts: 2
- Joined: 2025-03-04 3:27
遇到同样的问题,原因是老的CPU没有AVX/AVX2指令, libcpputils2.so编译的机器支持这些指令,因此需要提供non-avx/avx2版本的libcpputils2.so来解决.
Core was generated by `python3 convert.py ../model/yolo11n.onnx rv1106 i8'.
Program terminated with signal SIGILL, Illegal instruction.
#0 0x00007f6321d655c6 in sum_p_n () from xxxx/python3.6/site-packages/rknn/api/lib/linux-x86_64/libcpputils2.so
[Current thread is 1 (Thread 0x7f635a4e1700 (LWP 606))]
(gdb) x/i $pc
=> 0x7f6321d655c6 <sum_p_n+22>: vxorps %xmm4,%xmm4,%xmm4 (vxorps is an AVX instruction )
-
- Posts: 2
- Joined: 2025-03-04 3:27
使用Intel SDE仿真模拟可以解决,就是速度比较慢。