1 YOLOv11代码下载

如果你看过我上一篇文章,就会发现yolo11和yolo8的运行方法基本上是一模一样的,几乎没有区别,因此如果有不清楚的地方,大家可以参考上一篇,会更详细一些,为了不水篇幅,节约大家的时间,今天这篇会相对简短一点。

YOLOv11的代码在github上可以直接下载,给出下载链接:

https://github.com/ultralytics/ultralytics

下载后我们对压缩包进行解压,得到YOLO11的代码:

2 环境准备

这里默认大家安装了conda和torch的环境,以下演示是在conda中进行的,如果有同学不太了解conda的安装过程,可以参考我的历史文章。

安装好前置环境后,此时查看README文档,创建虚拟环境,然后yolo11的依赖库,步骤如下:

创建一个名为yolov11_envconda虚拟环境(注意python要>=3.7):

conda create -n yolov11_env python=3.8 -y

  • 激活环境:

conda activate yolov11_env

  • 安装所需要的库:

pip install ultralytics

  • 查看安装的库:

conda list

此时yolo11的环境准备工作已经完成,我们可以开始着手准备训练。

3 YOLOv11的推理与训练

yolo11的推理训练测试与yolov8不能说是大差不差吧,只能说是一模一样。

为了快速验证效果,我们首先来使用yolov11进行推理,在我们的环境中运行命令:

yolo predict model=yolo11n.pt source="./bus.jpg"

执行命令:

此次检测结果存放在/ultralytics-main/runs/detect/predict5下:

我们再来看看yolo11的训练:

yolo detect train data=coco128.yaml model=yolo11n.pt epochs=100 imgsz=640

对比yolov8的命令:

yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640

大家可以看出只有一个细微的区别,yolo模型的名字不带版本'v'.

4 YOLO11训练自定义数据集

我们针对卡车检测数据集采用yolo11来训练,数据集的下载地址:

https://public.roboflow.com/object-detection/vehicles-openimages/1

下载后我们进行解压,看到依然是yolo的目录和格式(数据集中是data.yaml),vehicles.yaml是我改的。

我们修改vehicles.yaml为:

#Dataset root directory relative to the yolov5 directory
path: ../datasets/Vehicles
#Train/val/test sets: specify directories, *.txt files, or lists
train: ../train/images
val: ../valid/images
test: ../test/images
nc: 5
names: ['Ambulance', 'Bus', 'Car', 'Motorcycle', 'Truck']

将这个yaml放在/ultralytics-main/ultralytics/cfg/datasets/vehicles.yaml。

我们来进行训练,训练命令:

yolo detect train data=./ultralytics/cfg/datasets/vehicles.yaml model=yolo11n.pt epochs=100 imgsz=640

训练界面:

训练完成,权重结果保存在/ultralytics-main/runs/detect/train8/weights/best.pt

进行测试,命令为:

 yolo predict model=runs/detect/train8/weights/best.pt source= ../datasets/Vehicles/test/images

看看效果:

效果还行。

欢迎大家关注我的gzh:阿龙AI日记

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐