YOLOv8 图像分类训练实战:分类数据集、训练验证与预测结果
YOLOv8 图像分类训练实战:分类数据集、训练验证与预测结果
这篇教程根据我复现 YOLOv8 图像分类流程时整理,重点演示如何用文件夹格式分类数据训练 YOLOv8 分类模型,并完成验证和测试集预测。
本文整理自我的学习和项目复现过程,尽量按实操顺序保留 notebook 的关键步骤,同时把数据集获取方式调整为适合中文教程发布的写法。
本文会重点跑通以下流程:
- 安装 YOLOv8 分类依赖
- 运行 ImageNet 预训练分类模型
- 从数据集后台获取分类数据集
- 训练 YOLOv8 分类模型
- 验证并查看预测结果
如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型,建议收藏本文;配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住,可以在评论区说明具体报错。
📚 文章目录
- YOLOv8 图像分类训练实战:分类数据集、训练验证与预测结果
- ⚙️ 环境准备
- 🧩 安装 YOLOv8
- 🔍 预训练分类推理
- 📦 从数据集后台获取分类数据集
- 🏋️ 自定义分类训练
- 📏 验证模型
- 🧪 自定义模型推理
- 📤 部署说明
- 📌 小结
- 📚 同系列教程汇总
⚙️ 环境准备
先检查 GPU 与基础运行环境。建议优先使用 Colab GPU 或本地 NVIDIA GPU 环境。
!nvidia-smiimportos HOME=os.getcwd()print(HOME)🧩 安装 YOLOv8
安装 Ultralytics 后,先确认版本和环境检查通过。
# Pip install method (recommended)!pip install ultralytics==8.2.103-q# 关闭 Ultralytics 运行统计同步!yolo settings sync=FalsefromIPythonimportdisplay display.clear_output()importultralytics ultralytics.checks()# Git clone method (for development)# %cd {HOME}# !git clone github.com/ultralytics/ultralytics# %cd {HOME}/ultralytics# !pip install -e .# from IPython import display# display.clear_output()# import ultralytics# ultralytics.checks()fromultralyticsimportYOLOfromIPython.displayimportdisplay,Image🔍 预训练分类推理
先用预训练分类模型验证推理流程。
%cd{HOME}!yolo task=classify mode=predict model=yolov8n-cls.pt conf=0.25source='/content/example'%cd{HOME}Image(filename='runs/classify/predict/dog.jpeg',height=600)model=YOLO(f'{HOME}/yolov8n-cls.pt')results=model.predict(source='/content/example',conf=0.25)📦 从数据集后台获取分类数据集
分类数据通常是文件夹结构,确保 train、valid/test 目录命名正确。
fromtypesimportSimpleNamespace# 从数据集后台下载 文件夹分类 格式数据集后,修改 DATASET_DIR 指向解压目录。DATASET_DIR="/content/dataset"# 修改为数据集后台导出的数据集目录dataset=SimpleNamespace(location=DATASET_DIR,version="1",name="custom-dataset")!mv{dataset.location}/valid{dataset.location}/val🏋️ 自定义分类训练
分类训练重点看训练曲线和验证准确率。
%cd{HOME}!yolo task=classify mode=train model=yolov8n-cls.pt data={dataset.location}epochs=25imgsz=128!ls-la{HOME}/runs/classify/train/!cat{HOME}/runs/classify/train/results.csv|head-10📏 验证模型
训练完成后先跑验证,确认指标和输出目录。
%cd{HOME}!yolo task=classify mode=val model={HOME}/runs/classify/train/weights/best.pt data={dataset.location}🧪 自定义模型推理
加载训练好的 best.pt,在测试集图片上做批量推理。
%cd{HOME}!yolo task=classify mode=predict model={HOME}/runs/classify/train/weights/best.pt conf=0.25source={dataset.location}/test/overripeimportglobfromIPython.displayimportImage,displayforimage_pathinglob.glob(f'{HOME}/runs/classify/predict2/*.jpg')[:3]:display(Image(filename=image_path,width=600))print("\n")📤 部署说明
Notebook 原流程包含在线部署。这里保留本地模型路径,方便接入自己的部署流程。
# 可选:将训练得到的模型目录接入自己的部署流程。MODEL_DIR="./runs"MODEL_DIR# 可选:部署完成后,可在这里接入自己的在线推理服务进行测试。📌 小结
这篇教程完整整理了Fine-Tune YOLOv8 on Classification Dataset的核心复现流程。实际操作时,建议先确认 GPU、依赖版本、数据集路径和模型权重路径,再逐段运行 notebook。
后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。
📚 同系列教程汇总
Google Gemini 3.5 Flash 零样本目标检测教程:从提示词到可视化结果
GLM-OCR 文档识别实战教程:从验证码、公式到车牌 OCR
RF-DETR + ByteTrack 多目标跟踪实战教程:从命令行到 Python 视频轨迹可视化
SAM 3 图像分割实战教程:文本、框和点提示的多种分割方式
SAM 3 视频分割实战教程:用文本提示分割并跟踪视频中的目标
Google Gemini 2.5 零样本检测与分割实战:从 JSON 结果到可视化-本文