一、环境安装
环境依然使用anaconda配置虚拟环境,请确保虚拟环境的python>=3.7,torch>=1.7,我推荐python=3.8。同时,为了加速训练过程,有GPU平台的读者请确保CUDA>=10.2。
conda create -n 环境名字 python=3.8
我们假设你已经安装好了python=3.8的conda虚拟环境,进入刚刚建立好的虚拟环境后,安装GPU版本的torch和torchvision(没有GPU的请去掉+cu111)。
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
二、安装
下面进行下载YOLOv8,下面给出的是下载链接(可以顺道把预训练权重也下载下来,放在根目录下weights文件夹中,如果没有该文件夹请自建一个)。
pip install -r requirements.txt
最后安装ultralytics。
pip install ultralytics -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
安装完成之后,为了测试YOLOv8是否安装成功,请运行下方的代码。
yolo task=segment mode=predict model=weight/yolov8s.pt source=ultralytics/assets/bus.jpg save=true
如果成功运行的话,结果存放在runs\detect\predict文件夹下。
三、训练
如果使用自己的训练集,请将格式进行转换,具体步骤请参考下方链接。
labelme制作自己数据集以及图片格式问题_labelme数据格式_彩色面团儿的博客-CSDN博客
数据集制作完成后,文件结构如下(detect_plane.yaml不是数据集制作过程中出现的,后期会讲到):
在data文件夹下,建立xxx.yaml,就是上图中的detect_plane.yaml,复制如下代码:
train: G:/yz/ultralytics-main-YOLOv8/data/train.txt
val: G:/yz/ultralytics-main-YOLOv8/data/val.txt
test: G:/yz/ultralytics-main-YOLOv8/data/test.txt
# number of classes
nc: 9
# class names
names: ['E2','B52', 'B2', 'Mirage2000', 'F4', 'F14', 'Tornado', 'J20', 'JAS39']
train代表数据集的训练集的路径
val代表数据集的验证集的路径(训练集和验证集可以使用同一路径)
test代表数据集的测试集的路径
nc代表数据集有多少个标签,我这里有9个标签
names代表几个标签的名字
完成上述工作后,即可进行测试,请在命令行输入如下代码:
yolo task=detect mode=train model=yolov8n.pt data=data/detect_plane.yaml batch=32 epochs=100 imgsz=640 workers=16 device=0
显存大的读者可以把batch和workers调大,显存小的建议batch改为4或者2,workers建议改为2或者1。
最终训练完后,会把训练好的权重保存在runs/train/weights文件夹下
其中best代表最好的权重,last代表最好的权重。
四、测试
运行如下代码即可:
yolo task=detect mode=predict model=runs/detect/train3/weights/best.pt source=data/images device=0