跳转至

YOLO11模型训练、转换及使用流程

1. 安装Anaconda

1.1 官网下载

官网地址:Anaconda | The Operating System for AI
下载地址:Download Anaconda Distribution | Anaconda

打开下载地址,点击右上角 Free Download 进行下载,下载需要填写邮箱,填好后点 Submit 即可。

1.2 镜像站下载

也可以去清华大学开源软件镜像站下载
清华大学开源软件镜像站 | Tsinghua Open Source Mirror

2. 安装Pytorch

具体操作,可以参照B站视频:五分钟教你安装pytorch环境咿咿咿咿bilibili

2.1 创建虚拟环境

打开 Anaconda Prompt

conda create -n <name> python=3
其中<name>替换成你的环境名字(自定义名称),python版本根据自己实际需要填写。可以在base中输入python --version查看自己计算机的python版本。
python不建议选择过高的版本,可能不支持。

输入好后回车等待完成安装,安装好后会提示:

# To activate this environment, use
# $ conda activate <name>
# To deactivate an active environment, use
# $ conda deactivate

输入:

conda activate <name>
激活刚刚安装的环境

2.2 PyTorch安装

进入PyTorch官网,选择自己的环境,可以参考以下配置(我的计算机选择是Windows-CPU版本):

PyTorch Build Stable(2.1.2)
Your OS Windows
Package Conda
Language Python
Compute Platform CPU
Run This Command conda install pytorch torchvision torchaudio cpuonly -c pytorch

在刚刚激活的虚拟环境中,输入Run This Command中的命令,安装Run This Command,如果中途报错,可以查看是否是python版本不兼容。

2.3 PyTorch测试

安装好PyTorch后,关闭Anacond Prompt,在程序列表中会出现Spyder()应用,打开它,测试如下代码执行:

# 首先我们需要导入PyTorch库
import torch

# 然后我们可以创建一个新的tensor。以下是一些创建tensor的方法

# 创建一个未初始化的5x3矩阵
x = torch.empty(5, 3)
print(x)

# 创建一个随机初始化的5x3矩阵
x = torch.rand(5, 3)
print(x)

# 创建一个5x3的零矩阵,类型为long
x = torch.zeros(5, 3, dtype=torch.long)
print(x)

# 直接从数据创建tensor
x = torch.tensor(5, 3)
print(x)

注意:实测中,安装完labelImg后,spyder无法正常启动,报错:

Warning: None of the following fonts is installed: ['simSun']
Quidget: Must construct a QApplication before a Quidget

第二行报错导致Spyder无法正常启动。

附录:Anaconda 常用命令

1. 环境管理命令

  • ① 创建虚拟环境:conda create -n environment_name python=3.x

  • ② 激活 / 切换环境:conda activate environment_name

  • ③ 删除环境:conda remove -n environment_name --all,该命令可删除整个环境及其中的所有包。

  • ④ 列出所有虚拟环境:conda info --envsconda env list,可查看所有可用的虚拟环境。

  • ⑤ 复制环境:conda create --name new_env_name --clone old_env_name,可复制现有环境。

2. 包管理命令

  • ① 安装包:在激活的环境中使用 conda install package_name 安装指定的包。

  • ② 更新包:conda update package_name,可更新已安装的包。

  • ③ 移除包:conda remove package_name,可删除指定的包;示例命令(用于修复 Spyder 启动报错等场景):

conda remove qt pyqt --force

conda clean --all

conda install qt pyqt

其中remove为删除命令,clean为清除缓存等命令,install为安装命令、、、、。

  • ④ 列出环境中的包:conda list,可查看当前环境中安装的所有包。

3. 其他常用命令

  • ① 设置镜像源:conda config --add channels ``https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free,添加国内镜像源可提高下载速度、。

  • ② 导出和导入环境:conda env export > environment.yml 导出当前环境的依赖关系,conda env create -f environment.yml 从 yml 文件创建环境。

3. 安装 PyCharm

3.1 下载 PyCharm

  1. 打开 PyCharm 官网:PyCharm: the Python IDE for data science and web development。

  2. 点击官网中的 “Download” 按钮。

  3. 向下滑动页面,下载 “PyCharm Community Edition”(社区版,免费)。

3.2 配置 Python 解析器

将 PyCharm 的 Python 解析器配置为前文新建的 Anaconda 虚拟环境。

4. 测试 YOLO11

4.1 下载 YOLO11 源码

  1. 前往 GitHub 下载 YOLO11 源码,若无法打开 GitHub,可搜索相关教程解决。

  2. 源码地址:ultralytics/ultralytics: Ultralytics YOLO11 🚀。

  3. 下载方式:可直接用 Git 命令拉取到本地,或点击页面中的 “<> Code” 按钮,选择 “Download Zip” 下载源码压缩包。

4.2 测试 YOLO11 推理

4.2.1 编写推理代码

  1. 新建 Python 文件,命名为detect.py

  2. 粘贴以下示例代码:

# -*- coding: utf-8 -*- 
from ultralytics import YOLO 

if __name__ == '__main__':
    # Load a model
    model = YOLO(model=r'b:\2-Python\1-YOLO\YOLOv11\ultralytics-8.3.2\yololin-seg.pt')
    model.predict(
        source=r'b:\2-Python\1-YOLO\YOLOv11\ultralytics-8.3.2\ultralytics\assets\bus.jpg', 
        save=True, 
        show=True,
    )

其中:

  • model = YOLO(model=r'b:\2-Python\1-YOLO\YOLOv11\ultralytics-8.3.2\yololin-seg.pt'):其中 “路径” 为 YOLO11 模型文件(如 yolo11n-seg.pt)的实际存储路径、。

  • model.predict(source=r'b:\2-Python\1-YOLO\YOLOv11\ultralytics-8.3.2\ultralytics\assets\bus.jpg', save=True, show=True):中的路径为需要推理内容的路径,可以是图片或视频 ,save=True表示保存推理结果,show=True表示显示推理过程。

4.3 测试YOL011模型训练

创建yolo训练配置文件data.yaml

train: E:\Desktop\new-yo1ov9\yo1otest\images\train # train images (relative to 'path') 4 images
val: E:\Desktop\new-yo1ov9\yo1otest\images\val # val images (relative to 'path') 4 images

nc: 2

# class names
names: ['dog','cat']

其中:

  • train路径为训练集路径,即图片的路径
  • val参数填验证集的路径,即图片的路径
  • nc填标签类别的总数
  • name填类别的名称

创建train.py

# -*- coding: utf-8 -*-

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    # model.load('yo1ol1n.pt') # 加载预训练权重,改进或者做对比实验时候不建议打开,因为用预训练模型整体精度没有很明显的提升
    model = YOLO(model='D:\\2-Python\\1-YOLO\\YOLO\\11\\ultralytics-8.3.2\\ultralytics\\cfg\\models\\11\\yo1ol1.yaml')
    model.train(
        data='data.yaml',
        imgsz=640,
        epochs=50,
        batch=4,
        workers=0,
        device='',
        optimizer='SGD',
        close_mosaic=10,
        resume=False,
        project='runs/train',
        name='exp',
        single_cls=False,
        cache=False,
    )

4.4 导出YOLO11模型(.pt)

训练:

训练完成后,会自动在ultralytics/runs/train文件夹下生成相关训练文件,进入本次的exp文件夹,其中weights权重文件夹下边即为我们所需要的模型,有best.pt和last.pt,exp文件夹下的其他文件为训练信息

推理:

训练完成后,会自动在ultralytics/runs/detect文件夹下生成相关推理文件(如果推理配置了保存),进入本次的predict文件夹,即可看到本次推理文件

5. 安装labelimg

可以在配置好解释器的PyCharm终端安装,也可以在Anacond中安装,在base环境和我们配置的环境中都可以,因为只是用labelimg打标签而已。

安装指令:

pip install labelimg

如果报错:

QWimeDatabase: Error loading internal MTME data An error has been encountere

尝试:

pip install --upgrade PyQt5

6. 参考

可参考:YOLOv11来了,使用YOLOv11训练自己的数据集和推理(附YOLOv11网络结构图)

声明:参考文件版权归原作者所有