前言
在当今的计算机视觉领域,目标检测技术已经取得了显著的进展。随着深度学习算法的不断发展,越来越多的研究者致力于开发更高效、更准确的检测模型。在众多目标检测模型中,YOLO(You Only Look Once)系列以其快速的检测速度和较高的准确率而受到广泛关注。YOLOv8是YOLO家族中的一个重要成员,它在保持YOLO系列优秀特性的基础上,进行了进一步的优化和改进。通过更小的模型架构和先进的优化技术,YOLOv8在保持较高检测准确性的同时,实现了更快的处理速度。这对于实际应用场景中的实时目标检测具有重要意义。
一、yolov8下载配置:
Yolov8 的源代码下载:
代码下载完成之后配置环境
conda create -n YOLOv8 python=3.8 #创建YOLOv8的环境
conda activate YOLOv8 #激活环境
建好环境后,选择与自己cuda版本相同的版本安装pytorch
torch安装好了之后运行代码:
pip install ultralytics
至此前期的准备工作结束,下面我们开始数据集的制作,本次的数据集是在百度飞桨Ai Studio中下载的猫狗图片,数据集地址,在这些数据中挑选一部分进行数据集制作。
数据集格式如下所示:
把收集到的猫狗图片分成按类别分为四个文件夹,每个文件夹下只有猫或只有狗,图片数量较多的文件夹放进train中较少的放进val进行验证至此数据集制作完成,接下来只需在之前下载好的项目中创建一个新的train.py,并将下面的代码运行即可开始训练。
二、模型训练:
训练代码:
from numpy import half
from ultralytics import YOLO
# 加载模型
model = YOLO('/home/build/下载/ultralytics-main-2/yolov8s-cls.pt') # 加载预训练模型(推荐用于训练)
# 使用2个GPU训练模型
# in
results = model.train(data='/home/build/桌面/date', epochs=300, imgsz=640, device="0, 1", batch=16, project='runs/train'
, name='exp', optimizer='auto', patience=100)
# Run Ray Tune on the modeurl
其中’/home/build/下载/ultralytics-main-2/yolov8s-cls.pt’是预训练模型的路径可以在上面提到的这进行下载data='/home/build/桌面/date’是你数据集所在的根目录,project,name是训练好的模型的保存路径,更详细的训练参数在这:
三,模型测试:
运行代码:
from ultralytics import YOLO
# Load a pretrained YOLOv8n model
model = YOLO('/home/build/下载/ultralytics-main-2/runs/train/exp/weights/best.pt')
# Run inference on 'bus.jpg' with arguments
model.predict('/home/build/桌面/date/test', save=True, imgsz=(640,640), device=[0],task="classify")
进行模型推理效果如下:
在左上角打印上了类别信息以及置信度,至此yolov8-cls训练部分结束