YOLOv11 环境配置与使用指南
一、下载YOLOv11代码
官方代码仓库位于:ultralytics/ultralytics: Ultralytics YOLO11 🚀
git clone https://github.com/ultralytics/ultralytics.git
版本号可以在ultralytics/init.py中的__version__找到。本实验环境:python: 3.8、torch: 2.2.2+cu121、torchvision: 0.17.2+cu121。
二、创建虚拟环境
首先,创建一个新的conda环境,并激活它:
conda create -n your_env_name python=3.8 # 替换your_env_name 为你想命名的环境名
conda env list #查看虚拟环境
conda activate your_env_name #激活虚拟环境
三、安装CUDA 12.1版pyTorch(GPU版)
3.1在激活的环境中运行以下命令来安装PyTorch及其依赖项:
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=12.1 -c pytorch -c nvidia
3.1验证安装
import torch
print(torch.__version__) # 应输出 2.2.2
print(torch.cuda.is_available()) # 应输出 True
四、安装YOLOv11基础环境包
4.1安装依赖
# 在代码根目录执行
pip install -e .
如果已经安装ultralytics库之后,请先卸载ultralytics库(请确保卸载干净),再执行pip install -e .
pip uninstall ultralytics #卸载ultralytics库
如果出现WARNING: Skipping ultralytics as it is not installed.证明已经卸载干净。
pip install -e .
五、构建数据集
5.1目录结构
my_data/
└── e-bike/
├── train/
│ ├── images/
│ └── labels/
├── valid/
│ ├── images/
│ └── labels/
└── test/
├── images/
└── labels/
5.2YOLO标签格式(YOLOv11模型的训练需要原图像及对应的YOLO格式标签)
每张图片对应一个 .txt 文件,内容格式:类别_id x_center y_center width height(归一化坐标)。
5.3数据集文件配置(data.yaml)
train: my_data/e-bike/train/images
val: my_data/e-bike/valid/images
test: my_data/e-bike/test/images
nc: 2# 类别数
names: ['motoycar', 'e-bike']
六、训练模型
- 创建或编辑train.py脚本:
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('yolo11n.yaml')#怎么切换模型版本, ymal文件可以改为 yolov11s.yaml就是使用的v11s,
# model.load('yolov11n.pt') # 是否加载预训练权重,不建议加载
model.train(data=r"填写你数据集data.yaml文件的地址",
cache=False,
imgsz=640,
epochs=100,
single_cls=False, # 是否是单类别检测
batch=4,
close_mosaic=0,
workers=0,
device='0',
optimizer='SGD', # using SGD 优化器
# resume=, # 续训的话这里填写True, yaml文件的地方改为lats.pt的地址,需要注意的是如果你设置训练200轮次模型训练了200轮次是没有办法进行续训的.
amp=True, # 如果出现训练损失为Nan可以关闭amp
project='runs/train',
name='exp',
)
七、模型推理
当前目录下新建detect.py,代码如下:
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('runs/train/exp/weights/best.pt') # 训练好的模型(best.pt)
model.predict(source='images', #需要推理的图片路径
imgsz=640,
device='0',
)
以上就是YOLOv11从环境搭建到模型训练再到最后推理的完整流程。希望这份指南能帮助您顺利完成工作。