2026/7/23 0:53:56

YOLOX 自定义目标检测训练实战:VOC 数据、训练评估与预测展示

YOLOX 自定义目标检测训练实战:VOC 数据、训练评估与预测展示 YOLOX 自定义目标检测训练实战VOC 数据、训练评估与预测展示这篇教程根据我复现 YOLOX 目标检测流程时整理重点演示依赖安装、VOC 数据接入、类别配置、训练评估和单图预测可视化。本文整理自我的学习和项目复现过程尽量按实操顺序保留 notebook 的关键步骤同时把数据集获取方式调整为适合中文教程发布的写法。本文会重点跑通以下流程安装 YOLOX、Apex 和 PyCocoTools 依赖从数据集后台获取 Pascal VOC 检测数据整理 VOCdevkit 目录和类别文件训练并评估 YOLOX 检测模型使用训练权重做单图预测展示如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型建议收藏本文配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住可以在评论区说明具体报错。 文章目录YOLOX 自定义目标检测训练实战VOC 数据、训练评估与预测展示⚙️ 安装 YOLOX 依赖 从数据集后台获取 VOC 数据 整理 VOC 数据目录️ 配置自定义类别 下载预训练权重️ 训练模型 评估模型 单图预测️ 预测结果可视化 导出权重 小结 同系列教程汇总⚙️ 安装 YOLOX 依赖先安装 YOLOX、Apex 和 PyCocoTools建议在 Colab GPU 环境中执行。!git clone https://github.com/Megvii-BaseDetection/YOLOX.git%cd YOLOX !pip3 install-U pippip3 install-r requirements.txt !pip3 install-v-e.!pip uninstall-y torch torchvision torchaudio# May need to change in the future if Colab no longer uses CUDA 11.0!pip install torch1.8.0cu111 torchvision0.9.0cu111 torchaudio0.8.0-f https://download.pytorch.org/whl/torch_stable.html%cd/content/!git clone https://github.com/NVIDIA/apex%cd apex !pip install-v--disable-pip-version-check--no-cache-dir--global-option--cpp_ext--global-option--cuda_ext./!pip3 install cython;pip3 installgithttps://github.com/cocodataset/cocoapi.git#subdirectoryPythonAPI 从数据集后台获取 VOC 数据从数据集后台导出 Pascal VOC 格式数据并将路径接入后续训练流程。fromtypesimportSimpleNamespace# 从数据集后台下载 Pascal VOC 检测 格式数据集后修改 DATASET_DIR 指向解压目录。DATASET_DIR/content/dataset# 修改为数据集后台导出的数据集目录datasetSimpleNamespace(locationDATASET_DIR,version1,namecustom-dataset)# 确认数据集目录。dataset.location 整理 VOC 数据目录YOLOX 训练脚本按 VOCdevkit 结构读取数据这里创建符号链接并整理目录。%cd YOLOX/!ln-s{dataset.location}/train/./datasets/VOCdevkit%mkdir/content/YOLOX/datasets/VOCdevkit/VOC2007!python3 voc_txt.py/content/YOLOX/datasets/VOCdevkit/%mkdir/content/YOLOX/datasets/VOCdevkit/VOC2012!cp-r/content/YOLOX/datasets/VOCdevkit/VOC2007/./content/YOLOX/datasets/VOCdevkit/VOC2012️ 配置自定义类别根据自己的类别写入 VOC/COCO 类别文件并同步修改类别数量。fromIPython.core.magicimportregister_line_cell_magicregister_line_cell_magicdefwritetemplate(line,cell):withopen(line,w)asf:f.write(cell.format(**globals()))##REPLACE this cell with your classnames stripped of whitespace and lowercase%%writetemplate/content/YOLOX/yolox/data/datasets/voc_classes.py VOC_CLASSES(rbc,wbc,platelets)##REPLACE this cell with your classnames stripped of whitespace and lowercase%%writetemplate/content/YOLOX/yolox/data/datasets/coco_classes.py COCO_CLASSES(rbc,wbc,platelets)NUM_CLASSES3!sed-i-es/self.num_classes 20/self.num_classes {NUM_CLASSES}/g/content/YOLOX/exps/example/yolox_voc/yolox_voc_s.py 下载预训练权重下载 YOLOX-S 预训练权重作为自定义训练初始化参数。%cd/content/!wget https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_s.pth%cd/content/YOLOX/️ 训练模型启动 YOLOX 训练。显存不足时优先调小 batch size。!python tools/train.py-f exps/example/yolox_voc/yolox_voc_s.py-d1-b16--fp16-o-c/content/yolox_s.pth 评估模型使用训练得到的 checkpoint 在验证集上评估指标。MODEL_PATH/content/YOLOX/YOLOX_outputs/yolox_voc_s/latest_ckpt.pth.tar!python3 tools/eval.py-n yolox-s-c{MODEL_PATH}-b64-d1--conf0.001-f exps/example/yolox_voc/yolox_voc_s.py 单图预测指定测试图片路径并运行 demo 推理。TEST_IMAGE_PATH/content/valid/BloodImage_00057_jpg.rf.1ee93e9ec4d76cfaddaa7df70456c376.jpg!python tools/demo.py image-f/content/YOLOX/exps/example/yolox_voc/yolox_voc_s.py-c{MODEL_PATH}--path{TEST_IMAGE_PATH}--conf0.25--nms0.45--tsize640--save_result--device gpu️ 预测结果可视化打开推理输出图检查检测框和类别预测是否合理。fromPILimportImage OUTPUT_IMAGE_PATH/content/YOLOX/YOLOX_outputs/yolox_voc_s/vis_res/2021_08_01_19_51_59/BloodImage_00057_jpg.rf.1ee93e9ec4d76cfaddaa7df70456c376.jpgImage.open(OUTPUT_IMAGE_PATH) 导出权重将训练好的权重复制到云盘或本地目录方便后续部署。fromgoogle.colabimportdrive drive.mount(/content/gdrive)%cp{MODEL_PATH}/content/gdrive/My\ Drive 小结这篇教程完整整理了YOLOX 自定义目标检测训练的核心复现流程。实际操作时建议先确认 GPU、依赖版本、数据集路径和模型权重路径再逐段运行 notebook。后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。 同系列教程汇总Google Gemini 3.5 Flash 零样本目标检测教程从提示词到可视化结果GLM-OCR 文档识别实战教程从验证码、公式到车牌 OCRRF-DETR ByteTrack 多目标跟踪实战教程从命令行到 Python 视频轨迹可视化SAM 3 图像分割实战教程文本、框和点提示的多种分割方式SAM 3 视频分割实战教程用文本提示分割并跟踪视频中的目标YOLOX 自定义目标检测训练实战VOC 数据、训练评估与预测展示-本文