YOLOv10 自定义目标检测训练实战预训练推理、数据集训练与结果验证这篇教程根据我复现 YOLOv10 自定义目标检测训练流程时整理重点演示源码安装、权重下载、预训练模型推理、自定义数据训练和模型预测可视化。YOLOv10 的流程和 Ultralytics 生态接近但安装方式、权重下载和 data.yaml 处理有自己的细节。本文适合作为 YOLOv10 自定义训练的快速模板。本文会重点跑通以下流程安装 YOLOv10 源码包与可视化依赖下载 COCO 预训练权重并运行单图推理从数据集后台获取 YOLO 格式数据集修正 data.yaml 并启动自定义训练查看训练曲线、混淆矩阵和自定义模型预测如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型建议收藏本文配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住可以在评论区说明具体报错。 文章目录YOLOv10 自定义目标检测训练实战预训练推理、数据集训练与结果验证⚙️ 环境准备 安装 YOLOv10⬇️ 下载预训练权重️ 准备示例图片 使用 COCO 预训练模型推理 从数据集后台获取 YOLO 数据集️ 自定义数据训练 自定义模型推理 部署说明 小结 同系列教程汇总⚙️ 环境准备先检查 GPU 运行环境并准备后续训练和推理依赖。建议优先使用 Colab GPU 或本地 NVIDIA GPU 环境。!nvidia-smiimportos HOMEos.getcwd()print(HOME) 安装 YOLOv10YOLOv10 需要从源码安装同时安装可视化依赖。!pip install-q githttps://github.com/THU-MIG/yolov10.git!pip install-q supervision⬇️ 下载预训练权重先下载 COCO 预训练权重后面用于基线推理和微调初始化。!mkdir-p{HOME}/weights !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10n.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10s.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10m.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10b.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10x.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10l.pt !ls-lh{HOME}/weights️ 准备示例图片示例图建议从数据集后台或本地资源中准备路径保持和代码一致。!mkdir-p{HOME}/data# 请从数据集后台下载示例图片保存为 {HOME}/data/dog.jpeg。!ls-lh{HOME}/data 使用 COCO 预训练模型推理先用命令行和 SDK 两种方式确认 YOLOv10 推理正常。%cd{HOME}!yolo taskdetect modepredict conf0.25saveTrue\ model{HOME}/weights/yolov10n.pt \ source{HOME}/data/dog.jpeg%cd{HOME}fromIPython.displayimportImage Image(filenameruns/detect/predict/dog.jpeg,height600)fromultralyticsimportYOLOv10 modelYOLOv10(f{HOME}/weights/yolov10n.pt)resultsmodel(sourcef{HOME}/data/dog.jpeg,conf0.25)results[0].boxes.xyxyresults[0].boxes.confresults[0].boxes.clsimportcv2importsupervisionassvfromultralyticsimportYOLOv10 modelYOLOv10(f{HOME}/weights/yolov10n.pt)imagecv2.imread(f{HOME}/data/dog.jpeg)resultsmodel(image)[0]detectionssv.Detections.from_ultralytics(results)bounding_box_annotatorsv.BoundingBoxAnnotator()label_annotatorsv.LabelAnnotator()annotated_imagebounding_box_annotator.annotate(sceneimage,detectionsdetections)annotated_imagelabel_annotator.annotate(sceneannotated_image,detectionsdetections)sv.plot_image(annotated_image) 从数据集后台获取 YOLO 数据集导出 YOLO 格式数据后检查data.yaml中 train、val、test 路径。!mkdir-p{HOME}/datasets%cd{HOME}/datasetsfromtypesimportSimpleNamespace# 从数据集后台下载 YOLO 格式数据集后修改 DATASET_DIR 指向解压目录。DATASET_DIRf{HOME}/datasets/custom-dataset# 修改为数据集后台导出的数据集目录datasetSimpleNamespace(locationDATASET_DIR,version1)!sed-i$d{dataset.location}/data.yaml !sed-i$d{dataset.location}/data.yaml !sed-i$d{dataset.location}/data.yaml !sed-i$d{dataset.location}/data.yaml !echo-etest: ../test/images\ntrain: ../train/images\nval: ../valid/images{dataset.location}/data.yaml️ 自定义数据训练使用预训练权重启动自定义数据训练并保存训练曲线和权重。%cd{HOME}!yolo taskdetect modetrain epochs10batch32plotsTrue\ model{HOME}/weights/yolov10n.pt \ data{dataset.location}/data.yaml!ls{HOME}/runs/detect/train/%cd{HOME}Image(filenamef{HOME}/runs/detect/train/confusion_matrix.png,width600)%cd{HOME}Image(filenamef{HOME}/runs/detect/train/results.png,width600) 自定义模型推理加载训练得到的 best.pt在验证集图片上做可视化预测。fromultralyticsimportYOLOv10 modelYOLOv10(f{HOME}/runs/detect/train/weights/best.pt)datasetsv.DetectionDataset.from_yolo(images_directory_pathf{dataset.location}/valid/images,annotations_directory_pathf{dataset.location}/valid/labels,data_yaml_pathf{dataset.location}/data.yaml)bounding_box_annotatorsv.BoundingBoxAnnotator()label_annotatorsv.LabelAnnotator()importrandom random_imagerandom.choice(list(dataset.images.keys()))random_imagedataset.images[random_image]resultsmodel(sourcerandom_image,conf0.25)[0]detectionssv.Detections.from_ultralytics(results)annotated_imagebounding_box_annotator.annotate(scenerandom_image,detectionsdetections)annotated_imagelabel_annotator.annotate(sceneannotated_image,detectionsdetections)sv.plot_image(annotated_image) 部署说明Notebook 原流程包含在线部署演示。这里保留本地模型路径方便接入自己的部署流程。# 可选将训练得到的 best.pt 按自己的部署流程发布。MODEL_DIRf{HOME}/runs/detect/train/MODEL_DIR 小结YOLOv10 自定义训练的关键是确认权重路径、data.yaml 路径和输出目录。先跑通预训练推理再切换数据集训练排错会更清晰。这一类 notebook 建议按“先环境、再数据、再单样例、最后批量推理”的顺序复现。遇到报错时优先检查 GPU、依赖版本、数据集目录和模型权重路径。后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。 同系列教程汇总Google Gemini 3.5 Flash 零样本目标检测教程从提示词到可视化结果GLM-OCR 文档识别实战教程从验证码、公式到车牌 OCRRF-DETR ByteTrack 多目标跟踪实战教程从命令行到 Python 视频轨迹可视化SAM 3 图像分割实战教程文本、框和点提示的多种分割方式YOLOv10 自定义目标检测训练实战预训练推理、数据集训练与结果验证-本文
YOLOv10 自定义目标检测训练实战:预训练推理、数据集训练与结果验证
YOLOv10 自定义目标检测训练实战预训练推理、数据集训练与结果验证这篇教程根据我复现 YOLOv10 自定义目标检测训练流程时整理重点演示源码安装、权重下载、预训练模型推理、自定义数据训练和模型预测可视化。YOLOv10 的流程和 Ultralytics 生态接近但安装方式、权重下载和 data.yaml 处理有自己的细节。本文适合作为 YOLOv10 自定义训练的快速模板。本文会重点跑通以下流程安装 YOLOv10 源码包与可视化依赖下载 COCO 预训练权重并运行单图推理从数据集后台获取 YOLO 格式数据集修正 data.yaml 并启动自定义训练查看训练曲线、混淆矩阵和自定义模型预测如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型建议收藏本文配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住可以在评论区说明具体报错。 文章目录YOLOv10 自定义目标检测训练实战预训练推理、数据集训练与结果验证⚙️ 环境准备 安装 YOLOv10⬇️ 下载预训练权重️ 准备示例图片 使用 COCO 预训练模型推理 从数据集后台获取 YOLO 数据集️ 自定义数据训练 自定义模型推理 部署说明 小结 同系列教程汇总⚙️ 环境准备先检查 GPU 运行环境并准备后续训练和推理依赖。建议优先使用 Colab GPU 或本地 NVIDIA GPU 环境。!nvidia-smiimportos HOMEos.getcwd()print(HOME) 安装 YOLOv10YOLOv10 需要从源码安装同时安装可视化依赖。!pip install-q githttps://github.com/THU-MIG/yolov10.git!pip install-q supervision⬇️ 下载预训练权重先下载 COCO 预训练权重后面用于基线推理和微调初始化。!mkdir-p{HOME}/weights !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10n.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10s.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10m.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10b.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10x.pt !wget-P{HOME}/weights-q https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10l.pt !ls-lh{HOME}/weights️ 准备示例图片示例图建议从数据集后台或本地资源中准备路径保持和代码一致。!mkdir-p{HOME}/data# 请从数据集后台下载示例图片保存为 {HOME}/data/dog.jpeg。!ls-lh{HOME}/data 使用 COCO 预训练模型推理先用命令行和 SDK 两种方式确认 YOLOv10 推理正常。%cd{HOME}!yolo taskdetect modepredict conf0.25saveTrue\ model{HOME}/weights/yolov10n.pt \ source{HOME}/data/dog.jpeg%cd{HOME}fromIPython.displayimportImage Image(filenameruns/detect/predict/dog.jpeg,height600)fromultralyticsimportYOLOv10 modelYOLOv10(f{HOME}/weights/yolov10n.pt)resultsmodel(sourcef{HOME}/data/dog.jpeg,conf0.25)results[0].boxes.xyxyresults[0].boxes.confresults[0].boxes.clsimportcv2importsupervisionassvfromultralyticsimportYOLOv10 modelYOLOv10(f{HOME}/weights/yolov10n.pt)imagecv2.imread(f{HOME}/data/dog.jpeg)resultsmodel(image)[0]detectionssv.Detections.from_ultralytics(results)bounding_box_annotatorsv.BoundingBoxAnnotator()label_annotatorsv.LabelAnnotator()annotated_imagebounding_box_annotator.annotate(sceneimage,detectionsdetections)annotated_imagelabel_annotator.annotate(sceneannotated_image,detectionsdetections)sv.plot_image(annotated_image) 从数据集后台获取 YOLO 数据集导出 YOLO 格式数据后检查data.yaml中 train、val、test 路径。!mkdir-p{HOME}/datasets%cd{HOME}/datasetsfromtypesimportSimpleNamespace# 从数据集后台下载 YOLO 格式数据集后修改 DATASET_DIR 指向解压目录。DATASET_DIRf{HOME}/datasets/custom-dataset# 修改为数据集后台导出的数据集目录datasetSimpleNamespace(locationDATASET_DIR,version1)!sed-i$d{dataset.location}/data.yaml !sed-i$d{dataset.location}/data.yaml !sed-i$d{dataset.location}/data.yaml !sed-i$d{dataset.location}/data.yaml !echo-etest: ../test/images\ntrain: ../train/images\nval: ../valid/images{dataset.location}/data.yaml️ 自定义数据训练使用预训练权重启动自定义数据训练并保存训练曲线和权重。%cd{HOME}!yolo taskdetect modetrain epochs10batch32plotsTrue\ model{HOME}/weights/yolov10n.pt \ data{dataset.location}/data.yaml!ls{HOME}/runs/detect/train/%cd{HOME}Image(filenamef{HOME}/runs/detect/train/confusion_matrix.png,width600)%cd{HOME}Image(filenamef{HOME}/runs/detect/train/results.png,width600) 自定义模型推理加载训练得到的 best.pt在验证集图片上做可视化预测。fromultralyticsimportYOLOv10 modelYOLOv10(f{HOME}/runs/detect/train/weights/best.pt)datasetsv.DetectionDataset.from_yolo(images_directory_pathf{dataset.location}/valid/images,annotations_directory_pathf{dataset.location}/valid/labels,data_yaml_pathf{dataset.location}/data.yaml)bounding_box_annotatorsv.BoundingBoxAnnotator()label_annotatorsv.LabelAnnotator()importrandom random_imagerandom.choice(list(dataset.images.keys()))random_imagedataset.images[random_image]resultsmodel(sourcerandom_image,conf0.25)[0]detectionssv.Detections.from_ultralytics(results)annotated_imagebounding_box_annotator.annotate(scenerandom_image,detectionsdetections)annotated_imagelabel_annotator.annotate(sceneannotated_image,detectionsdetections)sv.plot_image(annotated_image) 部署说明Notebook 原流程包含在线部署演示。这里保留本地模型路径方便接入自己的部署流程。# 可选将训练得到的 best.pt 按自己的部署流程发布。MODEL_DIRf{HOME}/runs/detect/train/MODEL_DIR 小结YOLOv10 自定义训练的关键是确认权重路径、data.yaml 路径和输出目录。先跑通预训练推理再切换数据集训练排错会更清晰。这一类 notebook 建议按“先环境、再数据、再单样例、最后批量推理”的顺序复现。遇到报错时优先检查 GPU、依赖版本、数据集目录和模型权重路径。后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。 同系列教程汇总Google Gemini 3.5 Flash 零样本目标检测教程从提示词到可视化结果GLM-OCR 文档识别实战教程从验证码、公式到车牌 OCRRF-DETR ByteTrack 多目标跟踪实战教程从命令行到 Python 视频轨迹可视化SAM 3 图像分割实战教程文本、框和点提示的多种分割方式YOLOv10 自定义目标检测训练实战预训练推理、数据集训练与结果验证-本文