SAM-2.1 自定义分割微调实战:从自定义数据集到自动掩码生成

发布时间:2026/10/26 14:12:34

SAM-2.1 自定义分割微调实战:从自定义数据集到自动掩码生成 SAM-2.1 自定义分割微调实战从自定义数据集到自动掩码生成这篇教程是我根据 SAM-2.1 自定义数据集微调和自动 mask 生成流程整理出来的。重点演示如何下载 SAM2 格式数据集配置 SAM-2.1 训练脚本训练后对比微调模型和基础模型的分割效果。SAM-2.1 的训练流程依赖官方仓库、配置文件和 checkpoint。这个 notebook 适合作为完整项目复现模板尤其适合希望把 SAM-2.1 迁移到特定零件、工业目标或业务数据集的场景。本文会重点跑通以下流程下载 SAM2 格式数据集克隆并安装 SAM2 官方仓库修正数据集文件名以适配训练配置启动 SAM-2.1 单 GPU 微调对比微调模型和基础模型的自动 mask 结果如果你正在系统学习多模态微调、目标检测、OCR 或图像分割建议收藏本文配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住可以在评论区说明具体报错。 文章目录SAM-2.1 自定义分割微调实战从自定义数据集到自动掩码生成 下载 SAM-2.1 与数据集 修改数据集文件名️ 开始训练 SAM-2.1 可视化微调模型结果 小结 同系列教程汇总 下载 SAM-2.1 与数据集先从数据集后台获取 car parts 数据集再克隆 SAM2 官方仓库和训练配置。注意原 notebook 中直接写了 API key发布前建议替换为自己的密钥或 Colab Secrets。fromtypesimportSimpleNamespace# 从数据集后台下载并解压数据集后修改 DATASET_DIR 指向数据集目录。DATASET_DIR/content/dataset# 修改为数据集后台导出的数据集目录datasetSimpleNamespace(locationDATASET_DIR)!git clone https://github.com/facebookresearch/sam2.git!wget-O/content/sam2/sam2/configs/train.yamlhttps://drive.usercontent.google.com/download?id11cmbxPPsYqFyWq87tmLgBAQ6OZgEhPG3%cd./sam2/!pip install-e.[dev]-q!cd./checkpoints./download_ckpts.sh 修改数据集文件名SAM-2.1 训练对文件名格式有要求这一步把 自定义数据集导出的文件名改成兼容形式。# 将 自定义数据集文件名改成 SAM 2.1 兼容格式。# 也可以通过调整 sam2/sam2/configs/train.yaml 来避免这一步。importosimportre FOLDER/content/data/trainforfilenameinos.listdir(FOLDER):# Replace all except last dot with underscorenew_filenamefilename.replace(.,_,filename.count(.)-1)ifnotre.search(r_\d\.\w$,new_filename):# Add an int to the end of base namenew_filenamenew_filename.replace(.,_1.)os.rename(os.path.join(FOLDER,filename),os.path.join(FOLDER,new_filename))️ 开始训练 SAM-2.1使用官方训练脚本和配置文件启动单 GPU 训练并可通过 TensorBoard 查看训练曲线。!python training/train.py-cconfigs/train.yaml--use-cluster0--num-gpus1%load_ext tensorboard%tensorboard--bind_all--logdir./sam2_logs/ 可视化微调模型结果加载微调 checkpoint 和基础 checkpoint在验证集图片上生成 mask 并并排对比。!pip install supervision-qimporttorchfromsam2.build_samimportbuild_sam2fromsam2.automatic_mask_generatorimportSAM2AutomaticMaskGeneratorimportsupervisionassvimportosimportrandomfromPILimportImageimportnumpyasnp# 在整个 notebook 中使用 bfloat16# from Meta notebooktorch.autocast(cuda,dtypetorch.bfloat16).__enter__()iftorch.cuda.get_device_properties(0).major8:torch.backends.cuda.matmul.allow_tf32Truetorch.backends.cudnn.allow_tf32Truecheckpoint/content/sam2/sam2_logs/configs/train.yaml/checkpoints/checkpoint.ptmodel_cfgconfigs/sam2.1/sam2.1_hiera_b.yamlsam2build_sam2(model_cfg,checkpoint,devicecuda)mask_generatorSAM2AutomaticMaskGenerator(sam2)checkpoint_base/content/sam2/checkpoints/sam2.1_hiera_base_plus.ptmodel_cfg_baseconfigs/sam2.1/sam2.1_hiera_b.yamlsam2_basebuild_sam2(model_cfg_base,checkpoint_base,devicecuda)mask_generator_baseSAM2AutomaticMaskGenerator(sam2_base)validation_setos.listdir(/content/data/valid)# choose random with .json extensionimagerandom.choice([imgforimginvalidation_setifimg.endswith(.jpg)])imageos.path.join(/content/data/valid,image)opened_imagenp.array(Image.open(image).convert(RGB))resultmask_generator.generate(opened_image)detectionssv.Detections.from_sam(sam_resultresult)mask_annotatorsv.MaskAnnotator(color_lookupsv.ColorLookup.INDEX)annotated_imageopened_image.copy()annotated_imagemask_annotator.annotate(annotated_image,detectionsdetections)base_annotatorsv.MaskAnnotator(color_lookupsv.ColorLookup.INDEX)base_resultmask_generator_base.generate(opened_image)base_detectionssv.Detections.from_sam(sam_resultbase_result)base_annotated_imageopened_image.copy()base_annotated_imagebase_annotator.annotate(base_annotated_image,detectionsbase_detections)sv.plot_images_grid(images[annotated_image,base_annotated_image],titles[Fine-Tuned SAM-2.1,Base SAM-2.1],grid_size(1,2)) 小结这篇教程完整整理了Fine-Tune SAM-2.1的核心复现流程。实际操作时建议先确认 GPU、依赖版本、数据集路径和模型权限再逐段运行 notebook。下载 SAM2 格式数据集克隆并安装 SAM2 官方仓库修正数据集文件名以适配训练配置启动 SAM-2.1 单 GPU 微调对比微调模型和基础模型的自动 mask 结果后续我会继续按源项目顺序整理 项目教程 中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。 同系列教程汇总Google Gemini 3.5 Flash 零样本目标检测教程从提示词到可视化结果GLM-OCR 文档识别实战教程从验证码、公式到车牌 OCRRF-DETR ByteTrack 多目标跟踪实战教程从命令行到 Python 视频轨迹可视化SAM 3 图像分割实战教程文本、框和点提示的多种分割方式SAM 3 视频分割实战教程用文本提示分割并跟踪视频中的目标SAM-2.1 自定义分割微调实战从自定义数据集到自动掩码生成-本文
延伸阅读

更多相关文章

2026/10/24 19:59:53

终极字体资源库:15款专业字体一站式获取指南

终极字体资源库:15款专业字体一站式获取指南 【免费下载链接】fonts My favorite fonts: SF Pro Text, Pingfang SC, Avenir Next, Roboto, Uber and more. 项目地址: https://gitcode.com/gh_mirrors/font/fonts 还在为设计项目寻找合适的字体而烦恼吗&…

2026/10/26 14:08:37

AIGC时代必备:grep、awk、sed三剑客高效处理文本

1. 为什么在AIGC时代还要死磕这三个老命令1.1 一个真实的工作场景切入前阵子帮一个做模型训练的朋友排查日志问题,他那边跑一个图像生成任务,几十万条训练日志散落在十几个文本文件里,想找出所有loss异常飙升的片段,还要统计每个e…

2026/10/26 14:08:37

大模型学习路线:从零基础到实战开发

1. 大模型学习路线全景解析作为一名从2017年开始接触Transformer架构的老兵,我完整经历了BERT掀起预训练浪潮、GPT-3展现涌现能力、到如今多模态大模型爆发的全过程。最近三个月收到上百条关于如何入门大模型的咨询,今天就用这篇万字指南系统梳理从零基础…

2026/10/26 14:08:37

大模型学习路线:从理论到工程实践全解析

1. 大模型学习路线全景解析 当ChatGPT掀起全球AI浪潮时,我正带着团队从零搭建第一个Transformer模型。三年间见证了从BERT到GPT-4的技术跃迁,也踩过所有初学者可能遇到的坑。这份攻略将用最直白的方式,带你走完大模型学习的完整闭环。 大模型…

2026/10/26 14:08:37

Agent与Workflow核心区别及Dify多Agent实践

1. 项目概述在AI应用开发领域,Agent和Workflow这两个概念经常被混为一谈,但它们在设计理念和实际应用中存在本质区别。作为一名在自动化系统领域实践多年的开发者,我发现很多团队在技术选型时容易陷入概念混淆的误区,导致后期系统…

2026/10/26 14:08:37

vxe-table行间关联校验实现与优化指南

1. 理解vxe-table校验机制的基本原理在开始自定义校验逻辑之前,我们需要先理解vxe-table内置的校验机制是如何工作的。vxe-table作为一款基于Vue.js的表格组件,其校验系统设计得非常灵活,主要通过validator属性和rules配置来实现数据验证。1.…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/26 0:20:17

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/26 0:00:48

Nested Learning:解决AI灾难性遗忘的分层记忆架构

1. 为什么AI需要"记忆"能力?在传统深度学习模型中,我们常遇到一个根本性问题:模型在处理新任务时,往往会完全遗忘之前学到的知识。这种现象被业界称为"灾难性遗忘"(Catastrophic Forgetting)。想象一下&#…

2026/10/26 0:00:48

企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战

1. 这不是“用大模型”,而是重构工作流的起点“大模型的应用和工具”——这八个字现在被贴在无数技术分享、招聘JD、内部立项书的标题栏里,但绝大多数人点进去后看到的,是零散的API调用示例、几个开源UI截图、或者一句“接入LLM就能降本增效”…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑