目标检测——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, 
                  )
相关推荐
twc8291 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
宇擎智脑科技1 小时前
A2A Python SDK 源码架构解读:一个请求是如何被处理的
人工智能·python·架构·a2a
IT_陈寒1 小时前
Redis缓存击穿:3个鲜为人知的防御策略,90%开发者都忽略了!
前端·人工智能·后端
电商API&Tina1 小时前
【电商API接口】开发者一站式电商API接入说明
大数据·数据库·人工智能·云计算·json
湘美书院--湘美谈教育1 小时前
湘美谈教育湘美书院网文研究:人工智能与微型小说选集
人工智能·深度学习·神经网络·机器学习·ai写作
uzong2 小时前
Harness Engineering 是什么?一场新的 AI 范式已经开始
人工智能·后端·架构
墨有6662 小时前
FieldFormer:基于物理场论的极简AI大模型底层架构,附带源码
人工智能·架构·电磁场算法映射
Mountain and sea2 小时前
从零搭建工业机器人激光切割+焊接产线:KUKA七轴协同+节卡AGV+视觉检测实战复盘
人工智能·机器人·视觉检测
K姐研究社2 小时前
阿里JVS Claw实测 – 手机一键部署 OpenClaw,开箱即用
人工智能·智能手机·aigc·飞书
卷积殉铁子2 小时前
从“手动挡”到“自动驾驶”:OpenClaw如何让AI开发变成“说话就行”
人工智能