
YOLOv5 图像分类训练实战分类数据、验证与自定义推理这篇教程根据我复现 YOLOv5 图像分类流程时整理重点演示如何加载 ImageNet 预训练模型、接入自定义分类数据并完成训练验证。本文整理自我的学习和项目复现过程尽量按实操顺序保留 notebook 的关键步骤同时把数据集获取方式调整为适合中文教程发布的写法。本文会重点跑通以下流程安装 YOLOv5 分类环境运行 ImageNet 示例推理从数据集后台获取分类数据训练自定义分类模型验证并执行推理如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型建议收藏本文配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住可以在评论区说明具体报错。 文章目录YOLOv5 图像分类训练实战分类数据、验证与自定义推理⚙️ 环境准备 ImageNet 示例推理 从数据集后台获取分类数据️ 自定义分类训练 验证模型 自定义推理 主动学习说明 小结 同系列教程汇总⚙️ 环境准备先检查 GPU 与基础运行环境。建议优先使用 Colab GPU 或本地 NVIDIA GPU 环境。# save the working directory path for later useimportos HOMEos.getcwd()print(HOME)!git clone https://github.com/ultralytics/yolov5# clone%cd yolov5%pip install-qr requirements.txt# installimporttorchimportutils displayutils.notebook_init()# checks ImageNet 示例推理下面按 notebook 原流程继续执行。fromutils.downloadsimportattempt_download p5[n,s,m,l,x]# P5 modelscls[f{x}-clsforxinp5]# classification modelsforxincls:attempt_download(fweights/yolov5{x}.pt)PATH_TO_IMAGEf{HOME}/bananas.jpg!curl https://i.imgur.com/OczPfaz.jpg-o{PATH_TO_IMAGE}# Infer using classify/predict.py!python classify/predict.py--weights./weigths/yolov5s-cls.pt--source bananas.jpg 从数据集后台获取分类数据下面按 notebook 原流程继续执行。# Ensure were in the right directory to download our custom datasetimportos os.makedirs(../datasets/,exist_okTrue)%cd../datasets/!pip install1.1.48-qfromtypesimportSimpleNamespace# 从数据集后台下载 文件夹分类 格式数据集后修改 DATASET_DIR 指向解压目录。DATASET_DIR/content/dataset# 修改为数据集后台导出的数据集目录datasetSimpleNamespace(locationDATASET_DIR,version1,namecustom-dataset)#Save the dataset name to the environment so we can use it in a system call laterdataset_namedataset.location.split(os.sep)[-1]os.environ[DATASET_NAME]dataset_name️ 自定义分类训练分类训练重点看训练曲线和验证准确率。%cd../yolov5 !python classify/train.py--model yolov5s-cls.pt--data $DATASET_NAME--epochs30--img128--pretrained weights/yolov5s-cls.pt 验证模型训练完成后先跑验证确认指标和输出目录。!python classify/val.py--weights runs/train-cls/exp/weights/best.pt--data../datasets/$DATASET_NAME 自定义推理下面按 notebook 原流程继续执行。# Get the path of an image from the test or validation setifos.path.exists(os.path.join(dataset.location,test)):split_pathos.path.join(dataset.location,test)else:os.path.join(dataset.location,valid)example_classos.listdir(split_path)[0]example_image_nameos.listdir(os.path.join(split_path,example_class))[0]example_image_pathos.path.join(split_path,example_class,example_image_name)os.environ[TEST_IMAGE_PATH]example_image_pathprint(fInferring on an example of the class {example_class})# Infer!python classify/predict.py--weights runs/train-cls/exp/weights/best.pt--source $TEST_IMAGE_PATH 主动学习说明下面按 notebook 原流程继续执行。# 可选这里可以接入主动学习或批量推理流程。# 可选这里可以接入主动学习或批量推理流程。# 可选这里可以接入主动学习或批量推理流程。# 可选这里可以接入主动学习或批量推理流程。 小结这篇教程完整整理了YOLOv5 图像分类训练的核心复现流程。实际操作时建议先确认 GPU、依赖版本、数据集路径和模型权重路径再逐段运行 notebook。后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。 同系列教程汇总Google Gemini 3.5 Flash 零样本目标检测教程从提示词到可视化结果GLM-OCR 文档识别实战教程从验证码、公式到车牌 OCRRF-DETR ByteTrack 多目标跟踪实战教程从命令行到 Python 视频轨迹可视化SAM 3 图像分割实战教程文本、框和点提示的多种分割方式SAM 3 视频分割实战教程用文本提示分割并跟踪视频中的目标YOLOv5 图像分类训练实战分类数据、验证与自定义推理-本文