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文件



相关推荐
s09071361 天前
FPGA中同步与异步复位
fpga开发·verilog·xilinx·zynq
tiantianuser1 天前
RDMA设计15:连接管理模块设计2
网络协议·fpga开发·rdma·高速传输·cmac
民乐团扒谱机1 天前
十字路口交通信号灯控制器设计(Multisim 电路 + Vivado 仿真)
单片机·fpga开发·verilog·状态机·仿真·时序逻辑·multism
乌恩大侠1 天前
一文讲解 USRP X410
fpga开发·usrp
s09071361 天前
多波束声呐 FPGA 信号处理链路介绍
算法·fpga开发·信号处理·声呐
坏孩子的诺亚方舟1 天前
FPGA系统架构设计实践11_FPGA开机
fpga开发·系统架构·xilinx·fpga配置
晓晓暮雨潇潇2 天前
Diamond基础6:LatticeFPGA配置流程
fpga开发·diamond·lattice·latticeecp3
江蘇的蘇2 天前
基于7系列FPGA实现万兆网通信
fpga开发
GateWorld2 天前
FPGA实战:一段让我重新认识时序收敛的FPGA迁移之旅
fpga开发·实战经验·fpga时序收敛·建立保持时间
GateWorld2 天前
性能飞跃:DDR4特性解析与FPGA实战指南
fpga开发·信号完整性·ddr3·ddr4