目录
2.在data目录下新建voc_label.py文件;里面存放代码,里面classes需要改成自己的类别
RKNPU SDK的版本
yolov8官网地址:yolov8
RKNPU2_SDK 模型文件
RKNN Model Zoo RKNPU SDK的版本
RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程.
- 支持
RK3562
,RK3566
,RK3568
,RK3588
,RK3576
平台。 - 部分支持
RV1103
,RV1106
- 支持
RK1808
,RV1109
,RV1126
平台。
一、环境准备
在这之前,需要先准备主机的环境,环境如下:
- Ubuntu22.04
- cuda12.4
三个文件的链接放在这:ultralytics_yolov8,rknn_model_zoo ,rknn-toolkit2
进入自己带pytorch的虚拟环境,与之前的yolo系列安装都不太一样,yolov8仅需要安装ultralytics这一个库:
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
1、创建虚拟环境
conda create -n yolo8 python==3.10 -y
conda activate yolo8
2、下载ultralytics库
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
另外一种方法:需要先克隆git仓库,再进行安装;二者取其一即可
git clone https://github.com/ultralytics/ultralytics
cd ultralytics
pip install -e .
二、数据准备
1、指定格式存放数据集
在yolov8/data目录下新建Annotations, images, ImageSets, labels 四个文件夹
images目录下存放数据集的图片文件
Annotations目录下存放图片的xml文件(labelImg标注)
这里直接参考我的另一篇文章
(链接:yolov7训练数据集详细流程bike-car-person_yolov7模型训练详细过程-CSDN博客)
1)新建split_train_val.py文件
运行之后会在ImageSets/Main下生成四个.txt文件
2.在data目录下新建voc_label.py文件;里面存放代码,里面classes需要改成自己的类别
运行之后生成3个txt文件
3、修改数据加载配置文件
进入data/文件夹,新建coco.yaml,内容如下,注意txt需要使用绝对路径
# COCO 2017 dataset http://cocodataset.org
# Train command: python train.py --data coco.yaml
# Default dataset location is next to /yolov5:
# /parent_folder
# /coco
# /yolov5
# download command/URL (optional)
# download: bash data/scripts/get_coco.sh
# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
# train: ../coco/train2017.txt # 118287 images
# val: ../coco/val2017.txt # 5000 images
# test: ../coco/test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
train: /home/sxj/yolov8/data/train.txt # 118287 images
val: /home/sxj/yolov8/data/val.txt # 5000 images
test: /home/sxj/yolov8/data/test.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
# number of classes
nc: 3
# class names
names: [ 'bike','carsgraz','person' ]
# Print classes
# with open('data/coco.yaml') as f:
# d = yaml.load(f, Loader=yaml.FullLoader) # dict
# for i, x in enumerate(d['names']):
# print(i, x)
至此数据集的准备已经就绪,索引文件在data目录下的train.txt/val.txt/test.txt
三、模型训练/验证/预测/导出
(1)模型训练
进入虚拟环境,进入yolov8文件夹,终端中输入,开始训练:
yolo task=detect mode=train model=yolov8n.pt data=data/coco.yaml batch=1 epochs=50 imgsz=640 workers=8 device=0
yolo task=detect mode=train model=yolov8n.pt data=data/coco.yaml batch=1 epochs=50 imgsz=640 workers=8 device=0
多卡训练
yolov8的多卡训练其