地址1,转换模型
地址2,转换模型
地址3,解决ppa
下载k2
本文目录
- 一、将.pt模型转为onnx模型文件。(Windows)
- 二、将.onnx模型转为.rknn模型文件。(Linux)
- 三、将.rknn模型部署到开发板RK3588中。(ARM)
一、将.pt模型转为onnx模型文件。(Windows)
前提:下载源码。源码下载地址~
- 将
models/yolo.py
中的Detect类下的forward函数改为下面内容:
def forward(self, x):z = [] # inference outputfor i in range(self.nl):x[i] = self.m[i](x[i]) # convreturn x
-
修改
export.py
文件
原内容:
修改为:shape = tuple(y[0].shape) # model output shape
-
将训练好的模型文件best.pt文件放入export.py文件的同级目录下。
使用命令:python export.py --weights best.pt --img 640 --batch 1 --include onnx
。将.pt模型转为.onnx模型。
二、将.onnx模型转为.rknn模型文件。(Linux)
- 为了减少不必要的麻烦,请下载Ubuntu新版本,如22.04版本。Ubuntu下载地址!
- 安装miniconda:
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.9.2-Linux-aarch64.sh
bash Miniconda3-py38_4.9.2-Linux-aarch64.sh
这里创建环境就不多赘述,详情查看创建环境教程地址。这里我们创建python=3.9的环境。
3.下载转换文件。 下载文件地址。
在windows上下载好转换文件,然后移到Ubuntu系统上。然后使用命令: cd rknn-toolkit2-master/rknn-toolkit2/packages
,进入packages文件夹中,安装以下文件。(因为我们安装的环境是python3.9)
使用命令:
pip install rknn_toolkit2-1.6.0+81f21f4d-cp39-cp39-linux_x86_64.whl -i https://pypi.doubanio.com/simple/
pip install -r requirements_cp39-1.6.0.txt -i https://pypi.doubanio.com/simple/
安装完成后,使用命令:python
,然后使用命令from rknn.api import RKNN
,若没有报错,则说明安装成功。
坑1:使用源时一定要使用:-i https://pypi.doubanio.com/simple/
,因为其他很多源里没有一些安装的依赖文件,所以会出错,这里我也浪费了很多时间,所以一定要使用本文中的命令。避免出现一些错误。
坑2:有时在安装时会出现错误并暂停,有时是因为下载速度的原因导致的错误,这时多执行几次安装命令即可。
- 将.onnx模型存放在ylov5文件夹中。
使用命令:cd rknn-toolkit2-master/rknn-toolkit2/examples/onnx/yolov5
移到到该文件夹下,将windows下生成的.onnx放到该目录下。如下所示。
- 修改test.py文件。
自定义类别中,要与训练模型时的类别一致。
- 生成.rknn模型
运行test.py,使用命令:python test.py
。运行完成后,文件目录下生成了.rknn模型。