2、PyTorch训练YOLOv11—训练篇(detect)—Windows系统

夕西行 / 2024-10-10 / 原文

1、标注样本

使用labelImg标注样本,注意选择YOLO模式

labelImg下载地址 github.com

2、安装ultralytics包

先进入到自己创建的conda环境中,把包安装到该环境里

pip install ultralytics

如果已经有了ultralytics,可以更新最新版本

pip install -U ultralytics

最终 miniconda3\envs\你的环境名\Lib\site-packages 里有个ultralytics文件夹

用pyCharm打开这个文件夹,可以方便的查看一些py文件

3、组织样本

以coco8为例,学习组织和训练自己的样本

3.1 下载coco8样本

 下载地址可以从coco8.yaml里看到,直接复制链接用浏览器下载

download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip

解压后放到D:/datasets中

把上图的coco8.yaml也放到D:/datasets中,如下图所示

修改coco8.yaml两处

# 指定为自己数据集的路径
path: D:/datasets/coco8 # dataset root dir
# 屏蔽最下边的下载
# download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip 

3.2 pyCharm创建python项目

main.py内容如下

# -------------------- 设置YOLO配置文件的路径(即settings.json文件路径)
import os

os.environ['YOLO_CONFIG_DIR'] = "D:/datasets"
# 查看下是否设置成功
print(f"YOLO_CONFIG_DIR: {os.getenv('YOLO_CONFIG_DIR')}")

# -------------------- 载入YOLO
from ultralytics import YOLO

运行,之后在D:/datasets中自动生成了settings.json文件,只修改1处(指定自己的数据集路径)

"datasets_dir": "D:\\datasets",

【关于settings.json默认生成位置】此内容看看就行

 该文件里指定了settings.json默认生成的位置

    if WINDOWS:
        path = Path.home() / "AppData" / "Roaming" / sub_dir
    elif MACOS:  # macOS
        path = Path.home() / "Library" / "Application Support" / sub_dir
    elif LINUX:
        path = Path.home() / ".config" / sub_dir
    else:
        raise ValueError(f"Unsupported operating system: {platform.system()}")

对与windows系统默认生成在 C:\Users\admin\AppData\Roaming\Ultralytics

4、训练YOLO

main.py内容如下

def myFun():
    # -------------------- 设置YOLO配置文件的路径(即settings.json文件路径)
    import os

    os.environ['YOLO_CONFIG_DIR'] = "D:/datasets"
    # 查看下是否设置成功
    print(f"YOLO_CONFIG_DIR: {os.getenv('YOLO_CONFIG_DIR')}")

    # -------------------- 载入YOLO
    from ultralytics import YOLO
    # 训练
    model = YOLO("yolo11n.pt")
    results = model.train(data="D:/datasets/coco8.yaml", epochs=1, batch=1, imgsz=640)


if __name__ == '__main__':
    myFun()

运行,得到模型

 预测看下效果 Predict - Ultralytics YOLO Docs

【其他】

yolo训练参数的含义 【YOLOv8】修改默认的配置文件_yolov8怎么改detect文件-CSDN博客

VS使用conda虚拟环境,管理 Python 环境和解释器 - Visual Studio (Windows) | Microsoft Learn

settings.json参数的含义

 【参考】

官网 GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite

参考 手把手教你使用YOLOv11训练自己数据集(含环境搭建 、数据集查找、模型训练)-CSDN博客