YOLOv6 自定义目标检测训练实战:数据准备、训练、评估与推理
这篇教程根据我复现 YOLOv6 自定义目标检测流程时整理,重点演示 YOLOv6 环境、数据格式、训练命令、评估和测试集推理。
本文整理自我的学习和项目复现过程,尽量按实操顺序保留 notebook 的关键步骤,同时把数据集获取方式调整为适合中文教程发布的写法。
本文会重点跑通以下流程:
- 安装 YOLOv6 环境
- 从数据集后台获取 YOLOv6 格式数据
- 启动自定义训练
- 评估模型效果
- 在测试集上批量推理
如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型,建议收藏本文;配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住,可以在评论区说明具体报错。
📚 文章目录
- YOLOv6 自定义目标检测训练实战:数据准备、训练、评估与推理
- ⚙️ 安装依赖
- 📦 从数据集后台获取数据
- 🏋️ 开始训练
- 📏 评估模型
- 🧪 推理结果
- 📌 小结
- 📚 同系列教程汇总
⚙️ 安装依赖
下面按 notebook 原流程继续执行。
# Download MT-YOLOv6 repository and install requirements!git clone https://github.com/meituan/YOLOv6%cd YOLOv6 !pip install-r requirements.txt📦 从数据集后台获取数据
下面按 notebook 原流程继续执行。
fromtypesimportSimpleNamespace# 从数据集后台下载 YOLOv6 检测 格式数据集后,修改 DATASET_DIR 指向解压目录。DATASET_DIR="/content/dataset"# 修改为数据集后台导出的数据集目录dataset=SimpleNamespace(location=DATASET_DIR,version="1",name="custom-dataset")🏋️ 开始训练
下面按 notebook 原流程继续执行。
# 运行此单元开始训练!python tools/train.py--batch32--conf configs/yolov6s.py--epochs100--img-size416--data{dataset.location}/data.yaml--device0📏 评估模型
下面按 notebook 原流程继续执行。
# 运行评估!python tools/eval.py--data{dataset.location}/data.yaml--img-size416--weights runs/train/exp/weights/best_ckpt.pt--device0🧪 推理结果
下面按 notebook 原流程继续执行。
# infer on all images in our /test directory!python tools/infer.py--yaml{dataset.location}/data.yaml--img-size416--weights runs/train/exp/weights/best_ckpt.pt--source{dataset.location}/images/test/--device0# display test inference result imagesimportglobfromIPython.displayimportImage,display i=0limit=3# max images to printforimageNameinglob.glob('./runs/inference/exp/*.jpg'):#assuming JPGifi<limit:display(Image(filename=imageName))print("\n\n")i=i+1# # setup access to your workspace# rf = (api_key="YOUR_API_KEY") # used above to load data# inference_project = rf.workspace().project("YOUR_PROJECT_NAME") # used above to load data# model = inference_project.version(1).model# upload_project = rf.workspace().project("YOUR_PROJECT_NAME")# print("inference reference point: ", inference_project)# print("upload destination: ", upload_project)# # example upload: if prediction is below a given confidence threshold, upload it# confidence_interval = [10,70] # [lower_bound_percent, upper_bound_percent]# for prediction in predictions: # predictions list to loop through# if(prediction['confidence'] * 100 >= confidence_interval[0] and# prediction['confidence'] * 100 <= confidence_interval[1]):# # upload on success!# print(' >> image uploaded!')# upload_project.upload(image, num_retry_uploads=3) # upload image in question📌 小结
这篇教程完整整理了YOLOv6 自定义目标检测训练的核心复现流程。实际操作时,建议先确认 GPU、依赖版本、数据集路径和模型权重路径,再逐段运行 notebook。
后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。
📚 同系列教程汇总
Google Gemini 3.5 Flash 零样本目标检测教程:从提示词到可视化结果
GLM-OCR 文档识别实战教程:从验证码、公式到车牌 OCR
RF-DETR + ByteTrack 多目标跟踪实战教程:从命令行到 Python 视频轨迹可视化
SAM 3 图像分割实战教程:文本、框和点提示的多种分割方式
SAM 3 视频分割实战教程:用文本提示分割并跟踪视频中的目标
Google Gemini 2.5 零样本检测与分割实战:从 JSON 结果到可视化-本文