目录
1、环境准备
2、模型转换
虚拟机环境准备
生成onnx模型
生成rknn模型
3、rk3588部署
4、解决opencv读取RTSP进行图像处理时,高延迟
5、相关错误
1、xxx.onnx 模型转xxx.rknn模型时报错: E build: ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found
6、参考
开发板环境
开发环境 | 软件版本/配置 |
---|---|
开发板 | firefly rk3588J |
操作系统 | openEuler 20.03 LTS |
python版本 | 3.9.18 |
虚拟机环境
开发环境 | 软件版本/配置 |
---|---|
操作系统 | Ubuntu 18.04.6 LTS (查看命令:lsb_release -a) |
python版本 | 3.6 |
rknn-toolkit版本 | rknn-toolkit2-1.4.0 |
思路:在虚拟机上将pt模型转化成onnx模型,然后通过rknn-toolkit将onnx模型转换成rknn模型
下载 rknn-toolkit2-1.4.0.zip,yolov5-v5.0
# 创建python环境
conda create -n rk3588 python=3.6
conda activate rk3588
pip install numpy
git clone https://gitcode.net/mirrors/rockchip-linux/rknn-toolkit2.git (下载rknn-toolkit2)
cd ../rknn-toolkit2/doc
pip install -r rknn-toolkit2/doc/requirements_cp36-1.4.0.txt
pip install pandas pyyaml matplotlib seaborn
# 安装rknn-toolkit2工具包
cd ../rknn-toolkit2/packages
pip install rknn_toolkit2-1.4.0_22dcfef4-cp36-cp36m-linux_x86_64.whl
python环境验证是否安装成功
from rknn.api import RKNN
下载yolov5v6.0
GitHub - ultralytics/yolov5: YOLOv5 in PyTorch > ONNX > CoreML > TFLite
GitCode - 开发者的代码家园 该工程不包含预训练模型yolov5s.pt
git clone https://gitcode.com/mirrors/ultralytics/yolov5.git -b v6.0
下载yolov5s.pt,下载地址如下,可浏览器或迅雷直接下载
https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt
(Releases · ultralytics/yolov5 · GitHub)
将 yolov5s.pt 放在 yolov5/weights下
(1)修改 yolov5/emodels/yolo.py 脚本
将
改为
def forward(self, x):
z = [] # inference output
for i in range(self.nl):
x[i] = self.m[i](x[i]) # conv
return x
改后只能用于模型转换,模型训练训练时需要改回来
(2)修改yolov5/export.py脚本
--- opset_version=opset
+++ opset_version=12
(3)生成onnx
python export.py --weights weights/yolo