配置好python环境后,就可以使用YOLOv11了
1. 打开GitHub,下载源码
GitHub - ultralytics/ultralytics: Ultralytics YOLO11 🚀
2. 使用pycharm打开ultralytics项目
新建一个train.py文件
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('E:\\YOLOv11\\cfg\\models\\11\\yolo11n.yaml')
model.load('E:\\ultralytics\\yolo11n.pt') #注释则不加载
results = model.train(
data='E:\\YOLO\\dataset\\road crack.v1i.yolov11\\data.yaml', #数据集配置文件的路径
epochs=200, #训练轮次总数
batch=16, #批量大小,即单次输入多少图片训练
imgsz=640, #训练图像尺寸
workers=8, #加载数据的工作线程数
device= 0, #指定训练的计算设备,无nvidia显卡则改为 'cpu'
optimizer='SGD', #训练使用优化器,可选 auto,SGD,Adam,AdamW 等
amp= True, #True 或者 False, 解释为:自动混合精度(AMP) 训练
cache=False # True 在内存中缓存数据集图像,服务器推荐开启
)
YOLO('yolo11n.yaml')
:- 从
yolo11n.yaml
加载模型架构(定义网络结构)。 - 如果只提供
.yaml
,则从头开始训练(随机初始化权重)。
- 从
-
model.load('yolo11n.pt')
:- 加载预训练权重(
.pt
文件),用于迁移学习(微调已有模型)。 - 如果注释掉这行,则完全从头训练。
- 加载预训练权重(
上面这两个文件是源码自带的,只需要在按地址寻找
而data.yaml 文件需要自己写
train: E:\RoadCrack.v2i.yolov11\train\images # train images (relative to 'path') 128 images
val: E:\RoadCrack.v2i.yolov11\valid\images # val images (relative to 'path') 128 images
test: E:\RoadCrack.v2i.yolov11\test\images
nc: 1 #数据集的类别数量
# Classes
names: ['crack']
train:训练集图片的存放地址
val:验证集图片的存放地址
test:测试集图片的存放地址
nc:标签数量
names:标签名称
————————————————————————————————————
运行train.py,训练完成后,模型权重默认保存在 runs/train/exp/weights/best.pt
3. 结果查看
创建predict.py文件
from ultralytics import YOLO
# 加载训练好的模型,改为自己的路径
model = YOLO('runs\\detect\\train11\\weights\\best.pt') #修改为训练好的路径
source = 'E:\\target_detection\\RoadCrack.v2i.yolov11\\test\\images\\26_jpg.rf.3a6c38a6ddf86acd619d02ea7ea1d0da.jpg' #修改为自己的图片路径及文件名
# 运行推理,并附加参数
model.predict(source, save=True)