yolov8目标检测训练在rk3588上部署

参考 :
yolov8环境安装_yolov8 github地址-CSDN博客

yolov8训练导出到rk3588上运行-CSDN博客


安装cuda11.8


_安装_Anaconda

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror


创建一个python3.10虚拟环境,建议python的版本尽量选择高


激活环境,并设置pip下载源

复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

安装pytorch,优先尝试符合cuda=11.8的pytorch的高版本

复制代码
pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu118

然后安装ultralytics

复制代码
pip install ultralytics

安装onnx onnxruntime库

复制代码
pip install onnx onnxruntime

下面是此时的安装包列表


到瑞芯微官网下载 yolov8工程

https://github.com/airockchip/ultralytics_yolov8,下载后解压


在激活env310虚拟环境情况下,切到解压的目录里

执行 一下命令

复制代码
 pip  install -e  .

上面命令执行成功后,安装包列表如下:


上面的这一步 安装 -e .的操作必须的做,否则下面的转换不认识rknn是啥


开始导出onnx,注意 下面箭头指向的地方 format一定要设置成rknn,这样导出的onnx会有9个输出,如果format设置成onnx,则onnx默认只会有一个输出




下面是代码:

训练代码

复制代码
from ultralytics import YOLO

if __name__ == '__main__':
    # 载入预训练模型
    model = YOLO("C:/Users/TR/Desktop/ultralytics-main2/yolov8s.pt")  #建议直接用绝对地址
    train_results = model.train(
        data="C:/Users/TR/Desktop/ultralytics-main2/coco128.yaml",  #建议用绝对路径, yaml文件指定数据集配置文件
        epochs=100,  # 训练轮数
        imgsz=640,  # 训练时转换后的图片大小
        device=0,  #  'cpu'和 0 可选 ,其中0表示gpu
    )

验证代码

复制代码
from ultralytics import YOLO

if __name__ == '__main__':

# # 用训练后的模型
    model = YOLO("C:/Users/TR/Desktop/ultralytics-main2/runs/detect/train8/weights/best.pt")  #建议绝对路径
    # # #推理
    results = model("C:/Users/TR/Desktop/targetRe/img2/dataset09_03_00004395.jpg")  
    #查看结果
    results[0].show()  

导出onnx代码

复制代码
from ultralytics import YOLO

if __name__ == '__main__':

# # 用训练后的模型
    model = YOLO("C:/Users/TR/Desktop/ultralytics-main2/runs/detect/train8/weights/best.pt")  #建议绝对路径
# # 导出ONNX模型
    path = model.export(
        format="rknn" 
    ) 



下面开始将onnx转rknn,这一步既可以在虚拟机上做,也可以直接在rk3588板子上做

这里我直接讲在板子做onnx转rk3588


直接在板子上装一个rknntoolkit2,注意不是lite2,别选错

最新的toolkit2版本支持在板子上直接安装,早期版本不支持


板子上装conda ,然后建立一个python=3.11的conda环境

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

然后直接安装toolkit2的whl包

rknn-toolkit2/rknn-toolkit2/packages/arm64 at master · airockchip/rknn-toolkit2 · GitHub

下载下面两个文件

arm64_requirements_cp311.txt

rknn_toolkit2-2.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

然后先安装txt文件,然后安装whl文件



相关推荐
第二层皮-合肥3 小时前
USB3.0专题-硬件的测试
fpga开发
hexiaoyan8274 小时前
高速数据采集卡设计方案:886-基于RFSOC的8路5G ADC和8路9G的DAC PCIe卡
fpga开发·高速数据采集卡·光纤pcie卡·通用pcie卡·xc7a100t板卡
嵌入式软硬件攻城狮10 小时前
2.FPGA板卡通过电脑映射连接上网
fpga开发·电脑
brave and determined12 小时前
可编程逻辑器件学习(day22):“让ARM穿上FPGA的马甲“:赛灵思Zynq的命名哲学与技术革命
arm开发·嵌入式硬件·fpga开发·zynq·fpga设计·嵌入式设计·fpga开发流程
FPGA_小田老师1 天前
FPGA语法基础(二):SystemVerilog 数组清零方法详解
fpga开发·systemverilog·数组清零·systemverilog数组·systemverilog语法
jiushun_suanli1 天前
FPGA(现场可编程门阵列)详解
经验分享·学习·fpga开发
Terasic友晶科技1 天前
1-串行通信基础知识
fpga开发·串口通信·异步通信·串行通信·同步通信·并行通信·单工
FPGA_小田老师2 天前
Xilinx Aurora 8B/10B IP核(2):Shared Logic的选择
fpga开发·aurora 8b/10b·share logic·aurora接口
嵌入式软硬件攻城狮2 天前
4.FPGA字符格式
fpga开发