目标检测——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, 
                  )
相关推荐
同元软控44 分钟前
MWORKS EI:从数字空间到物理世界,面向具身智能产品的一体化研发环境
人工智能·机器学习
jay神1 小时前
2026年YOLO还有哪些创新点可以做?
python·yolo·毕业设计·科研·课程设计·创新
VivienneLuo2 小时前
1. 联邦大模型微调综述 -《Federated Large Language Models...》
人工智能·语言模型·微调·联邦学习
漂流瓶jz6 小时前
【AI】大模型本地部署与量化:Ollama、transformers、llama.cpp实践
人工智能·llm·ai编程
毕竟是shy哥8 小时前
计算YOLO数据集中每个类的目标数
算法·yolo·机器学习
飞哥数智坊8 小时前
AI时代,我们到底该学什么、用什么,为什么还没提效?
人工智能
飞哥数智坊8 小时前
GPT 做架构,国内模型写代码:这条 AI 开发路线能跑通吗?
人工智能·ai编程
AI_AGENT_DEV_AI9 小时前
AI 智能体的开发与上线
人工智能
VL——MOESR9 小时前
【具身智能】VLA论文阅读随笔
论文阅读·人工智能·机器学习·具身智能·vla
OCR_133716212759 小时前
从模板匹配到AI泛化识别:文本抽取如何重构护照阅读器落地生态
人工智能·重构