使用自己的电脑配置较低,训练慢。选择云算力是性价比高的选择,现在市面上有很多算力平台,我这里就以AtuoDL为例(无广)。来实现训练自己的YOLO11模型,如果需要训练其他一些版本的YOLO模型也同理都用ultralytics即可,使用自己的数据集无非就是自己写一下简单的配置。下面将会详细介绍该过程。

 一.准备操作

1.租用算力服务器

        首先需要来到算力市场创建一个满足自己要求的算力实例,我这里采用按量计费租L20一张显卡。

      2.配置镜像

       接着选择镜像同时选择基础配置,我这里选择适用PyTorch2.51,Python3.12,CUDA选择12.4。配置后点击开机即可。

3.无卡模式开机

随后进入控制台即可看见刚才创建的容器实例,先关机后选择无卡模式开机,进行基础配置。

4.登录方式选择

可以选择自己喜欢的方式登录SSH或者使用Jupyter,我这里使用XTerminal。

在复制登录指令后获取地址,用户与端口信息。

二.配置环境

1.conda

在默认环境中已经配置了miniconda,直接使用即可。

首先需要创建一个conda环境:

conda create -n yolo python==3.10

等待完成后激活环境:

conda activate yolo

如果出现:

就先执行:

conda init

后重启后再激活环境

2.ultralytics
pip install ultralytics

等待完成。

三.准备数据集与三个文件

     1.数据集

        在数据集的准备上,也就是下图的images与labels,两个文件夹中均包含train与val,分别用于存储对应的图片与标签文件。

        

2.data.yaml      

  在这里使用的是YOLO11模型,所以需要准备预训练模型yolo11n.pt。接着编辑data.yaml用于配置数据集信息:

train: ./images/train    
val: ./images/val
nc: 1
names:
- person

如上代码所示:

train 指定的是训练集的图片所在目录

val 指定的是验证集的图片所在目录

nc: 类别数量,如仅有person一个类别就为1,具体数量需要自己确定

names: 每个类别标签

3.train.py

在上述文件准备好后,创建文件train.py,注意参数需要按照实际情况修改,编辑训练:

from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO(r'yolo11n.pt')  # 预训练模型
    model.train(
        data=r'data.yaml',     # 数据集配置文件
        imgsz=640,             # 图像输入大小默认640*640
        epochs=50,             # 训练轮数
        batch=32,              # 批次
        workers=8,             # CPU线程数
        device='0',            # 指定显卡
        single_cls=true,      # 是否单类别,因为上边的数据集中只有person
    )
python train.py

四.查看与下载训练结果

       训练完成后可以在train.py的同级目录下打开run/detect/train 包含训练结果信息,其中的weights中的best.pt为训练好的模型。

附:

如果训练时间较长,同时网络不稳定建议在训练之前使用screen工具确保可以保持训练。

使用方式很简单。在激活conda环境前使用:

screen -S screen_name

进入单独的screen再进行环境激活开启训练,此时可以断开ssh链接,如果再次登录需要进入训练查看的screen可以直接执行:

screen -r screen_name
最后如果需要删除screen可以直接按Ctrl+D

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐