公司动态

YOLOv8 自定义目标检测训练实战:预训练推理、数据集训练与部署

📅 2026/7/16 17:20:34
YOLOv8 自定义目标检测训练实战:预训练推理、数据集训练与部署
YOLOv8 自定义目标检测训练实战预训练推理、数据集训练与部署这篇教程根据我复现 YOLOv8 自定义目标检测训练流程时整理重点演示如何跑通预训练模型推理、获取自定义数据集、训练模型并做在线部署。YOLOv8 是很多目标检测项目的起点流程直观、文档也成熟。本文适合作为自定义检测任务的快速上手模板。本文会重点跑通以下流程安装 YOLOv8 依赖并关闭统计同步运行预训练模型检测示例图从数据集后台获取 YOLO 格式数据集训练自定义模型并查看曲线验证、推理并按自己的流程部署如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型建议收藏本文配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住可以在评论区说明具体报错。 文章目录YOLOv8 自定义目标检测训练实战预训练推理、数据集训练与部署⚙️ 环境准备 预训练模型推理 从数据集后台获取 YOLO 数据集️ 自定义训练 训练结果查看 验证与推理 部署说明☁️ 云端推理示例 小结 同系列教程汇总⚙️ 环境准备先检查运行环境并安装依赖。建议优先使用带 NVIDIA GPU 的环境避免推理和训练阶段显存不足。!nvidia-smiimportos HOMEos.getcwd()print(HOME)# Pip install method (recommended)!pip install ultralytics8.2.103-qfromIPythonimportdisplay display.clear_output()# prevent ultralytics from tracking your activity!yolo settings syncFalseimportultralytics ultralytics.checks()fromultralyticsimportYOLOfromIPython.displayimportdisplay,Image 预训练模型推理先在示例图上跑一遍预训练模型确认检测流程正常。%cd{HOME}!yolo taskdetect modepredict modelyolov8n.pt conf0.25sourcehttps://media..com/notebooks/examples/dog.jpegsaveTrue%cd{HOME}Image(filenameruns/detect/predict/dog.jpeg,height600)modelYOLO(f{HOME}/yolov8n.pt)resultsmodel.predict(sourcehttps://media..com/notebooks/examples/dog.jpeg,conf0.25)results[0].boxes.xyxyresults[0].boxes.confresults[0].boxes.cls 从数据集后台获取 YOLO 数据集从数据集后台导出 YOLO 格式数据集后训练阶段直接引用data.yaml。!mkdir-p{HOME}/datasets%cd{HOME}/datasets !pip install1.1.48--quietfromtypesimportSimpleNamespace# 从数据集后台下载 YOLO 格式数据集后修改 DATASET_DIR 指向解压目录。DATASET_DIR/content/dataset# 修改为数据集后台导出的数据集目录datasetSimpleNamespace(locationDATASET_DIR)️ 自定义训练训练阶段先把数据、模型和超参数都对齐再启动训练。 训练结果查看训练结束后先看曲线和验证结果确认没有明显异常。%cd{HOME}!yolo taskdetect modetrain modelyolov8s.pt data{dataset.location}/data.yaml epochs25imgsz800plotsTrue%cd{HOME}Image(filenamef{HOME}/runs/detect/train/confusion_matrix.png,width600)%cd{HOME}Image(filenamef{HOME}/runs/detect/train/results.png,width600)%cd{HOME}Image(filenamef{HOME}/runs/detect/train/val_batch0_pred.jpg,width600) 验证与推理训练完成后用测试集和本地推理再检查一遍。%cd{HOME}!yolo taskdetect modeval model{HOME}/runs/detect/train/weights/best.pt data{dataset.location}/data.yaml%cd{HOME}!yolo taskdetect modepredict model{HOME}/runs/detect/train/weights/best.pt conf0.25source{dataset.location}/test/images saveTrueimportglobfromIPython.displayimportImage,display# Define the base path where the folders are locatedbase_path/content/runs/detect/# List all directories that start with predict in the base pathsubfolders[os.path.join(base_path,d)fordinos.listdir(base_path)ifos.path.isdir(os.path.join(base_path,d))andd.startswith(predict)]# Find the latest folder by modification timelatest_foldermax(subfolders,keyos.path.getmtime)image_pathsglob.glob(f{latest_folder}/*.jpg)[:3]# Display each imageforimage_pathinimage_paths:display(Image(filenameimage_path,width600))print(\n) 部署说明Notebook 原流程包含在线部署。这里保留部署入口说明便于接入你自己的发布流程。project.version(dataset.version).deploy(model_typeyolov8,model_pathf{HOME}/runs/detect/train/)☁️ 云端推理示例云端推理适合部署后的快速验证这里保留调用示例。# Run inference on your model on a persistent, auto-scaling, cloud API# Load modelmodelproject.version(dataset.version).modelassertmodel,Model deployment is still loading# Choose a random test imageimportos,random test_set_locdataset.location/test/images/random_test_imagerandom.choice(os.listdir(test_set_loc))print(running inference on random_test_image)predmodel.predict(test_set_locrandom_test_image,confidence40,overlap30).json()pred 小结YOLOv8 的复现门槛低但路径和数据集版本经常是问题点。建议先确认预训练推理没问题再切训练数据。这一类 notebook 建议按“先环境、再数据、再单样例、最后批量推理”的顺序复现。遇到报错时优先检查 GPU、依赖版本、数据集目录和模型权重路径。后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。 同系列教程汇总Google Gemini 3.5 Flash 零样本目标检测教程从提示词到可视化结果GLM-OCR 文档识别实战教程从验证码、公式到车牌 OCRRF-DETR ByteTrack 多目标跟踪实战教程从命令行到 Python 视频轨迹可视化SAM 3 图像分割实战教程文本、框和点提示的多种分割方式YOLOv8 自定义目标检测训练实战预训练推理、数据集训练与部署