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



相关推荐
ARM+FPGA+AI工业主板定制专家7 小时前
国产化RK3576+FPGA架构|晶圆传输机器人高速定位+AI瑕疵检测一体化方案
fpga开发·架构·机器人·嵌入式·fpga·工控·机器人运控
Eloudy1 天前
FPGA (QSFP28 + CMAC US+ RoCEv2) 与 Ubuntu22 + Mellanox 网卡直连分析
fpga开发
szxinmai主板定制专家1 天前
RK3568+FPGA高速并行采集|半导体探针测试设备多通道同步数据采集系统设计
人工智能·嵌入式硬件·计算机视觉·fpga开发
ARM|X86+FPGA工业主板厂家2 天前
RK3588+FPGA+EtherCAT异构架构解析|工业场景如何同时保住AI算力与微秒级运动实时性
人工智能·fpga开发·架构
zlinear数据采集卡2 天前
从“脏信号”到“纳伏级纯净”:硬核拆解DABL7606的多级抗混叠滤波与24位过采样算法
arm开发·科技·嵌入式硬件·fpga开发·开源
尤老师FPGA3 天前
HDMI数据的接收发送实验(二十)
fpga开发
千寻xun3 天前
三、实战篇-NVME SSD控制之FPGA实现(一)
fpga开发·nvme ssd·nvme协议
XMAIPC_Robot3 天前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
upper20203 天前
从零开始设计riscv cpu记录之七
fpga开发·riscv·riscv设计·btb·分支预测
ARM|X86+FPGA工业主板厂家3 天前
AI视觉跟随运动控制实战|RK3588 NPU检测+FPGA EtherCAT多轴联动精准跟随方案,适用于半导体视觉对位等
人工智能·fpga开发·硬件工程·ethercat·实时系统