YOLOv8 实例分割训练实战:Mask 数据集、训练曲线与测试集预测
YOLOv8 实例分割训练实战:Mask 数据集、训练曲线与测试集预测
这篇教程根据我复现 YOLOv8 实例分割流程时整理,重点演示预训练分割推理、自定义 mask 数据训练、模型验证和测试集预测。
本文整理自我的学习和项目复现过程,尽量按实操顺序保留 notebook 的关键步骤,同时把数据集获取方式调整为适合中文教程发布的写法。
本文会重点跑通以下流程:
- 安装 YOLOv8 分割依赖
- 运行 COCO 预训练分割模型
- 从数据集后台获取分割数据集
- 训练 YOLOv8 实例分割模型
- 验证并展示测试集 mask 预测
如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型,建议收藏本文;配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住,可以在评论区说明具体报错。
📚 文章目录
- YOLOv8 实例分割训练实战:Mask 数据集、训练曲线与测试集预测
- ⚙️ 环境准备
- 🧩 安装 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-qfromIPythonimportdisplay display.clear_output()# 关闭 Ultralytics 运行统计同步!yolo settings sync=Falseimportultralytics ultralytics.checks()fromultralyticsimportYOLOfromIPython.displayimportdisplay,Image🔍 预训练分割推理
先用预训练分割模型跑通示例图,确认分割链路正常。
%cd{HOME}!yolo task=segment mode=predict model=yolov8s-seg.pt conf=0.25source='/content/example'save=true%cd{HOME}Image(filename='runs/segment/predict/dog.jpeg',height=600)model=YOLO(f'{HOME}/yolov8s-seg.pt')results=model.predict(source='/content/example',conf=0.25)results[0].boxes.xyxyresults[0].boxes.confresults[0].boxes.clsresults[0].masks.data📦 从数据集后台获取分割数据集
从数据集后台导出分割数据,确认data.yaml指向 train、valid、test。
fromtypesimportSimpleNamespace# 从数据集后台下载 YOLO 分割 格式数据集后,修改 DATASET_DIR 指向解压目录。DATASET_DIR="/content/dataset"# 修改为数据集后台导出的数据集目录dataset=SimpleNamespace(location=DATASET_DIR,version="1",name="custom-dataset")🏋️ 自定义训练
开始训练前重点检查数据路径和类别数量。
%cd{HOME}!yolo task=segment mode=train model=yolov8s-seg.pt data={dataset.location}/data.yaml epochs=10imgsz=640%cd{HOME}Image(filename=f'{HOME}/runs/segment/train/confusion_matrix.png',width=600)%cd{HOME}Image(filename=f'{HOME}/runs/segment/train/results.png',width=600)%cd{HOME}Image(filename=f'{HOME}/runs/segment/train/val_batch0_pred.jpg',width=600)📏 验证模型
训练完成后先跑验证,确认指标和输出目录。
%cd{HOME}!yolo task=segment mode=val model={HOME}/runs/segment/train/weights/best.pt data={dataset.location}/data.yaml🧪 自定义模型推理
加载训练好的 best.pt,在测试集图片上做批量推理。
%cd{HOME}!yolo task=segment mode=predict model={HOME}/runs/segment/train/weights/best.pt conf=0.25source={dataset.location}/test/images save=trueimportglobfromIPython.displayimportImage,displayforimage_pathinglob.glob(f'{HOME}/runs/segment/predict2/*.jpg')[:3]:display(Image(filename=image_path,height=600))print("\n")📤 部署说明
Notebook 原流程包含在线部署。这里保留本地模型路径,方便接入自己的部署流程。
# 可选:将训练得到的模型目录接入自己的部署流程。MODEL_DIR="./runs"MODEL_DIR# 可选:部署完成后,可在这里接入自己的在线推理服务进行测试。📌 小结
这篇教程完整整理了Fine-Tune YOLOv8 on Instance Segmentation Dataset的核心复现流程。实际操作时,建议先确认 GPU、依赖版本、数据集路径和模型权重路径,再逐段运行 notebook。
后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。
📚 同系列教程汇总
Google Gemini 3.5 Flash 零样本目标检测教程:从提示词到可视化结果
GLM-OCR 文档识别实战教程:从验证码、公式到车牌 OCR
RF-DETR + ByteTrack 多目标跟踪实战教程:从命令行到 Python 视频轨迹可视化
SAM 3 图像分割实战教程:文本、框和点提示的多种分割方式
SAM 3 视频分割实战教程:用文本提示分割并跟踪视频中的目标
YOLOv8 实例分割训练实战:Mask 数据集、训练曲线与测试集预测-本文
