Advertisement

yolo 训练自己的数据集

阅读量:

要使用带有Bam标签的自定义数据集训练YOLO模型,需要进行以下准备工作:

步骤 1:准备数据集

图片数据

复制代码
* 将所有用于训练的图片放在一个文件夹中,通常是`images/train`。
* 对应的验证集图片可以放在`images/val`。

标签数据

复制代码
* 每个图片文件需要有一个对应的标签文件,标签文件使用相同的文件名,但扩展名为`.txt`。
* 标签文件的内容格式如下: 
复制代码
    0 x_center y_center width height

其中0代表Bam的类别编号(假设数据集中只有一种类别)。x_center, y_center, width, height均为相对于图片尺寸的归一化值(0到1之间)。

步骤 2:创建YOLO数据集配置文件

在项目中创建一个.yaml文件,例如zhuli.yaml,内容如下:

复制代码
 path: E:/PYTHON/yolo_v8/datasets/zhuli  # 数据集路径

    
 train: images/train  # 训练集图片路径
    
 val: images/val  # 验证集图片路径
    
  
    
 nc: 1  # 类别数量
    
 names:
    
   0: "Bam"  # 类别名称

步骤 3:安装必要的依赖

  • 确保已经安装了YOLOv8所需的库。可以使用以下命令安装:
复制代码
    pip install ultralytics

步骤 4:加载并训练YOLO模型

  • 使用以下代码来加载YOLO模型并开始训练:
复制代码
        1. import os

    
        2. from ultralytics import YOLO
    
        3. import multiprocessing
    
        4.  
    
        5. if __name__ == '__main__':
    
        6.     # 设置环境变量
    
        7.     os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
    
        8.     os.environ['TORCH_USE_CUDA_DSA'] = '1'
    
        9.  
    
        10.     # 加载预训练的YOLO模型
    
        11.     model = YOLO('yolov8n.pt')  # 使用较小的模型以适应硬件资源
    
        12.  
    
        13.     # 设置训练参数
    
        14.     train_args = {
    
        15.         'data': 'E:/PYTHON/yolo_v8/datasets/zhuli/zhuli.yaml',  # 自定义数据集的yaml路径
    
        16.         'epochs': 30,  # 训练轮次
    
        17.         'imgsz': 1024,  # 图片输入尺寸
    
        18.         'batch': 4,  # 批处理大小
    
        19.         'workers': 4,  # 使用的线程数量
    
        20.         'lr0': 0.0001,  # 初始学习率
    
        21.     }
    
        22.  
    
        23.     # 在 Windows 系统上,确保正确处理多进程
    
        24.     if os.name == 'nt':
    
        25.         multiprocessing.freeze_support()
    
        26.  
    
        27.     # 开始训练
    
        28.     model.train(**train_args)

步骤 5:评估和导出模型

通过这些步骤,您可以训练出一个能够检测Bam的YOLO模型。

  • 在训练完成后,可以通过以下命令评估模型:
复制代码
    results = model.val()
  • 如果模型表现良好,可以将其导出用于推理:
复制代码
    model.export(format='torchscript')  # 导出为TorchScript格式
训练时的注意事项
  • 检查标签文件的准确性 :确保每个标签文件与对应图片匹配且标签格式正确。
  • 数据预处理 :如果图片的尺寸不一致,YOLO会在训练时自动调整,但最好在数据准备阶段保持一致性。

全部评论 (0)

还没有任何评论哟~