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



相关推荐
FPGA小徐8 小时前
FPGA FIFO一篇完整解释
fpga开发
I'm a winner17 小时前
【IP核】 Xilinx FPGA LVDS 高速接口,含验证工程与板级测试用例
tcp/ip·fpga开发·测试用例
I'm a winner18 小时前
基于Xilinx FPGA的LVDS高速串行通信系统 - 完整源码解决方案(一)(文末附源码)
fpga开发
国科安芯20 小时前
航天器多路并联大功率电源系统设计与ASP4644均流特性分析
单片机·嵌入式硬件·fpga开发·安全性测试
techdashen2 天前
从网络栈继续往下:micro:bit、2.4GHz、调制方式,以及一个不太靠谱但很有趣的想法
网络·fpga开发
FPGA小徐2 天前
FIR 数字滤波器 --verilog设计实现
fpga开发
zlinear数据采集卡2 天前
从协议解析到波形实时显示:硬核拆解ZLinear采集卡上位机软件的开发架构
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
pcjiushizhu2 天前
ModelSim 仿真时 Simulate 无反应或只显示 Loading 的解决方法:网卡问题排查
fpga开发
FPGA小迷弟2 天前
vivado中的AXI Interconnect到底应该怎么用,他的底层原理是什么,一篇文档全部理清楚!!!
网络协议·tcp/ip·fpga开发·verilog·fpga
国科安芯3 天前
ASC4T245S分组双向控制架构深度解析:独立DIR/OE控制、QFN16封装与混合方向总线桥接
单片机·嵌入式硬件·物联网·fpga开发·架构·risc-v