使用yolo11训练自己数据集的简洁教程
·
1.配置环境
和yolo之前的系列一样,略。
# YOLOv5 requirements
# Usage: pip install -r requirements.txt
# Base ------------------------------------------------------------------------
gitpython>=3.1.30
matplotlib>=3.3
numpy>=1.23.5
opencv-python>=4.1.1
pillow>=10.3.0
psutil # system resources
PyYAML>=5.3.1
requests>=2.32.2
scipy>=1.4.1
thop>=0.1.1 # FLOPs computation
torch>=1.8.0 # see https://pytorch.org/get-started/locally (recommended)
torchvision>=0.9.0
tqdm>=4.66.3
ultralytics>=8.2.34 # https://ultralytics.com
2.下载 yolo11源码
官网链接:
GitHub - ultralytics/ultralytics: Ultralytics YOLO 🚀

解压后:

3.下载 预训练权重
还是官网,往下翻。GitHub - ultralytics/ultralytics: Ultralytics YOLO 🚀

GitHub - ultralytics/ultralytics: Ultralytics YOLO 🚀
3.下载 yolo11.yaml
ultralytics/ultralytics/cfg/models/11/yolo11.yaml at main · ultralytics/ultralytics · GitHub

4.制作数据集dataset
和之前的yolo一样,用labelimg制作,略。
制作dataset.yaml

dataset.yaml 内容如下:

path: D:/py/PythonProject1/ultralytics-main/dataset # 数据集根目录
# 训练集图像路径(相对于 path)
train: images/train
val: images/val
# 标签路径(相对于 path)
train_labels: labels/train
val_labels: labels/val
nc: 10 # 类别数
names: ['A', 'B', 'C', 'D', 'E','F','G','H','I','J']
path记得修改
5.创建train.py文件

train.py代码如下:
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('yolo11.yaml')
model = model.load('yolo11n.pt')
model.train(
data='dataset.yaml',
epochs=10,
imgsz=640,
batch=16,
name='my_exp'
)
运行:

运行后在runs。 my_exp中得到结果
6.使用模型
from sympy import false
from ultralytics import YOLO
import cv2
# 1. 加载训练好的模型
model = YOLO('runs/detect/my_exp2/weights/best.pt') # 修改为你的实际路径
# 2. 定义要检测的图片路径
img_path = 'data/images/train/2025_02_18-14_22_23_523.bmp' # 替换为你的图片路径
# 3. 执行推理检测
results = model(
source=img_path,
conf=0.25, # 置信度阈值(可根据需要调整)
save=False # 自动保存结果到 runs/detect/ 目录
)
# 4. 可视化结果(可选)
# 获取带标注的图片
annotated_img = results[0].plot()
# 使用OpenCV显示结果
cv2.imshow('Detection Result', annotated_img)
cv2.waitKey(0) # 按任意键关闭窗口
cv2.destroyAllWindows()
# 保存结果到本地
#cv2.imwrite('detection_result.jpg', annotated_img)
更多推荐



所有评论(0)