目标检测——YOLOv8训练自己的数据集

1.下载YOLOv8源代码

下载链接

2. 配置环境
bash 复制代码
conda create -n yolov8 python=3.8
conda activate yolov8
pip install -r requirements.txt
pip install -e .

无需执行下面这步!

bash 复制代码
pip freeze > requirements.txt # 导出conda环境中相关的包
3. 数据集准备

数据集标签的格式标注为yolo的txt格式,在labelimg选择YOLO即可,然后进行标注,最后把数据集划分为训练集,验证集,(测试集)即可

  • 非yolo的txt格式,需进行数据集格式转换,相应的转换代码:链接

  • 划分数据集代码见:链接

4.预训练模型

如果未改变网络结构,则可以加载官方在COCO数据集上训练好的预训练模型,加快网络的收敛速度,下载相应的目标检测预训练模型并导入预训练模型,下载链接:链接

5.配置参数
  • 配置数据集路径,类别等(data.yaml文件)
  • 训练轮次(epoch)
  • 批次(batchsize)
  • 数据增广等超参数...
6.开始训练

创建train.py文件,复制以下代码运行

python 复制代码
from ultralytics import YOLO
if __name__ == '__main__':
    # 加载模型
    model = YOLO("ultralytics/ultralytics/cfg/models/v8/yolov8n.yaml")
    # 加载预训练权重
    model.load("yolov8n")
    # 训练模型
    results = model.train(data="ultralytics/data/data.yaml",  
                          resume=True,
                          epochs=100,
                          project='train',
                          patience=30,
                          name='exp',
                          amp=False)
7.开始推理

创建val.py文件,复制以下代码运行

python 复制代码
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('runs/train/exp/weights/best.pt')
    model.val(data='dataset/data.yaml',
              split='test',
              imgsz=640,
              batch=1,
              project='runs/val',
              name='exp',
              )
8.开始预测

创建detect.py文件,复制以下代码运行。如果需要对预测的结果进行一些处理,则需要知道预测的结果张量中代表的含义,参考链接如下:链接

python 复制代码
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('runs/train/exp/weights/best.pt') # select your model.pt path
    model.predict(source='dataset/images/test',
                  project='runs/detect',
                  name='exp',
                  save=True, 
                  )
相关推荐
AI_56781 分钟前
Postman接口测试极速入门指南
开发语言·人工智能·学习·测试工具·lua
我的golang之路果然有问题2 分钟前
开源绘画大模型简单了解
人工智能·ai作画·stable diffusion·人工智能作画
极智视界13 分钟前
目标检测数据集 - 自动驾驶场景车辆方向检测数据集下载
人工智能·目标检测·自动驾驶
田井中律.16 分钟前
知识图谱(四)之LSTM+CRF
人工智能·机器学习
Hcoco_me22 分钟前
大模型面试题74:在使用GRPO训练LLM时,训练数据有什么要求?
人工智能·深度学习·算法·机器学习·chatgpt·机器人
筱昕~呀23 分钟前
基于深度生成对抗网络的智能实时美妆设计
人工智能·python·生成对抗网络·mediapipe·beautygan
qunaa010129 分钟前
钻井作业场景下设备与产品识别与检测:基于YOLO11-SRFD的目标检测系统实现与应用
人工智能·目标检测·计算机视觉
AI前言观察者30 分钟前
2026年工作简历怎么写?
人工智能·经验分享·面试·职场和发展·求职招聘
Guheyunyi32 分钟前
智慧消防管理平台的关键技术突破与创新
大数据·运维·人工智能·安全·音视频
PEARL的AI指南35 分钟前
智启AI零售营销实践:案例复盘与效果分享
人工智能·零售