(深度学习)python+yolov11训练自己的数据集

目录

[一. 前言](#一. 前言)

二.yolo下载并配置环境

1.下载yolo

2.使用anacoda创建虚拟环境

3.使用vscode打开刚才下载的yolo库文件ultralytics-main

三.训练自己的数据集

[1.打开train.py ,前面已经创建的,没有创建就创建一个,将下面代码复制进去。](#1.打开train.py ,前面已经创建的,没有创建就创建一个,将下面代码复制进去。)

2.在ultralytics-main目录新建一个data目录-->放入自己的数据集。

3.新建一个.yaml的文件,内需要根据自己打标时定义的class名填写。

4.复制一份官方的yolo11.yaml改名为yolo11_cap.yaml,并修改下面内容,其他不用修改。

5.回到train.py,运行代码


一. 前言

yolov11的数据集格式需要是如下:

我这里省去了test测试集的图片。

如果需要自己训练数据集和标注的可以看这一篇文章,ISAT标注教程

二.yolo下载并配置环境

1.下载yolo

官网链接:https://github.com/ultralytics/ultralytics

2.使用anacoda创建虚拟环境

可以创建一个名叫yolov11的虚拟环境,名字可以随便取。不会创建的看一看这一篇教程,2025最新anaconda安装并创建环境教程

3.使用vscode打开刚才下载的yolo库文件ultralytics-main

需要提前装好CUDA,cudnn,这里就不给出了,请找其他教程,也可以先安装好这里的库再去安装CUDA,cudnn。

下一步是安装pytroch ,需要选择和CUDA对应的torch版本,

我安装的是12.6对应的版本,官方链接:https://pytorch.org/get-started/previous-versions/

如果遇到错误请多问问AI。

新建一个名为train.py的python文件

点击右下角的标志,弹出弹窗,选择刚才创建的yolov11虚拟环境

点击运行可以看到已经切换成yolov11的虚拟环境了

之后就是安装所有需要的库

新建一个文件 命名为 requirements.txt

执行安装库命令 pip install -r requirements.txt

复制代码
certifi
charset-normalizer==3.4.4
colorama==0.4.6
coloredlogs==15.0.1
contourpy==1.3.2
cycler==0.12.1
filelock==3.20.0
flatbuffers==25.9.23
fonttools==4.60.1
fsspec==2025.9.0
humanfriendly==10.0
idna==3.11
Jinja2==3.1.6
kiwisolver==1.4.9
MarkupSafe==3.0.3
matplotlib==3.10.7
ml_dtypes==0.5.3
mpmath==1.3.0
networkx==3.4.2
numpy==2.2.6
onnx==1.19.1
onnxruntime==1.23.2
onnxruntime-gpu==1.23.2
onnxslim==0.1.73
opencv-python==4.12.0.88
packaging==25.0
pillow==12.0.0
pip==25.2
polars==1.34.0
polars-runtime-32==1.34.0
protobuf==6.33.0
psutil==7.1.2
pyparsing==3.2.5
pyreadline3==3.5.4
python-dateutil==2.9.0.post0
PyYAML==6.0.3
requests==2.32.5
scipy==1.15.3
setuptools==80.9.0
six==1.17.0
sympy==1.14.0
#torch==2.9.0+cu126
#torchvision==0.24.0+cu126
tqdm==4.67.1
#typing_extensions==4.15.0
ultralytics==8.3.221
ultralytics-thop==2.0.17
urllib3==2.5.0
wheel==0.45.1

如果遇到版本不同,或库不存在这个版本,需要查找AI,让他给出适合的版本。

环境安装完成,运行_init_.py测试一下,像这样就可以了

三.训练自己的数据集

1.打开train.py ,前面已经创建的,没有创建就创建一个,将下面代码复制进去。
python 复制代码
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
 
if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/11/yolo11_cap.yaml')   # 指定YOLO模型对象,并加载指定配置文件中的模型配置
    #model.load('yolov8s.pt')      #加载预训练的权重文件'yolov8s.pt',加速训练并提升模型性能
    model.train(data='data/CAP/cap.yaml',   # 指定训练数据集的配置文件路径,这个.yaml文件包含了数据集的路径和类别信息
                cache=False,  # 是否缓存数据集以加快后续训练速度,False表示不缓存
                imgsz=640,    # 指定训练时使用的图像尺寸,640表示将输入图像调整为640x640像素
                epochs=200,   # 设置训练的总轮数为200轮
                batch=16,      # 设置每个训练批次的大小为16,即每次更新模型时使用16张图片
                close_mosaic=10,  # 设置在训练结束前多少轮关闭 Mosaic 数据增强,10 表示在训练的最后 10 轮中关闭 Mosaic
                workers=8,       # 设置用于数据加载的线程数为8,更多线程可以加快数据加载速度
                patience=50,     # 在训练时,如果经过50轮性能没有提升,则停止训练(早停机制)
                device='0',      # 指定使用的设备,'0'表示使用第一块GPU进行训练
                optimizer='SGD', #设置优化器为SGD(随机梯度下降),用于模型参数更新
                )
2.在ultralytics-main目录新建一个data目录-->放入自己的数据集。
3.新建一个.yaml的文件,内需要根据自己打标时定义的class名填写。
python 复制代码
train: ./train/images                #训练集路径
val: ./val/images                    #验证集路径

nc: 3                                #class数量
names: ["Capacitor", "Negative", "Positive"]   #class名称
4.复制一份官方的yolo11.yaml改名为yolo11_cap.yaml,并修改下面内容,其他不用修改。
python 复制代码
nc:  3                 #表示目标检测的类别总数
names: ["Capacitor", "Negative", "Positive"]  #表示类别名称列表,与 nc 对应
scales:  #YOLO 系列的 "复合缩放" 参数,用于生成不同大小的模型
  s: [0.50, 0.50, 1024] # summary: 181 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPs

#每行对应一个模型版本(n 对应 nano,s 对应 small,m 对应 medium,l 对应 large,x 对应 xlarge
5.回到train.py,注意代码中的两个.yaml路径就是上面创建的文件,运行代码

这样等他自己训练完成就会在run目录下生成想要的模型了,best.pt就是生成的最好模型了。

四.网盘链接

yolo训练数据集

相关推荐
yingjuxia.com2 小时前
【python】错误SyntaxError: invalid syntax的解决方法总结
开发语言·python
say_fall2 小时前
Python 核心语法与常用库完全指南
开发语言·python
喝醉酒的小白2 小时前
如何安装 `.whl` 文件(Python Wheel 包)
开发语言·python
小尤笔记2 小时前
【2024版】超详细Python+Pycharm安装保姆级教程,Python环境配置和使用指南,看完这一篇就够了
开发语言·ide·python·pycharm·编程语言·解释器
20年编程老鸟java+ai全栈2 小时前
零基础搞定开发环境:PHP + Node.js + MongoDB + Python 一键安装全攻略
python·mongodb·node.js·php
xcLeigh2 小时前
Python高效数据采集实战:基于IPIDEA代理的全方位教程
爬虫·python·数据采集·代理·request·ipidea
QQ4022054962 小时前
python基于vue的大学生课堂考勤系统设计与实现django flask pycharm
vue.js·python·django
tjjucheng2 小时前
小程序定制开发哪家有开发经验
python