发布时间:2026/7/12 0:16:55
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/7/12 0:16:55

终极字体资源库: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/7/12 1:27:02

从0开局到底该如何学习网络安全?2000字带你避开所有弯路

从0开局到底该如何学习网络安全?2000字带你避开所有弯路 你是正在为志愿表发愁的2026届高考生? 还是零基础想转行学一门硬技术的打工人? 如果你想找一条靠谱的技术后路并且完全靠实力说话的硬核方向,网络安全绝对是一条不错的选…

2026/7/12 1:27:02

ArcGIS 10.8 投影工具 vs 定义投影:2种坐标问题场景与选择指南

ArcGIS 10.8 投影工具与定义投影:核心差异与实战决策指南1. 坐标系基础:GIS数据定位的DNA地理信息系统中的坐标系如同现实世界中的GPS导航,是数据空间定位的核心依据。在ArcGIS 10.8中,坐标系系统主要分为两大类型:地理…

2026/7/12 1:27:02

从零实现C++ JSON解析器:递归下降、内存管理与API设计实战

1. 项目概述与核心价值 如果你正在学习C,并且已经走过了语法基础、面向对象和STL容器这几个阶段,那么“实现一个JSON解析器”这个项目,绝对是你从“会用库”到“理解库”的关键一步。这不仅仅是完成一个作业,而是一次对C综合能力…

2026/7/12 1:27:02

C/C++ 保留小数全攻略:从printf到setprecision

C/C 保留小数全攻略:从printf到setprecision 前言 写代码的时候经常遇到保留小数的问题——输出要保留两位小数、计算要四舍五入、有时候还要控制有效数字位数。C和C在这方面的处理方式不太一样,C有printf那一套格式控制,C则有cout配合iomani…

2026/7/12 1:22:02

每天介绍一个变态网站:5 分钟搞懂怎么让 AI 主动引用你

每天介绍一个变态网站:5 分钟搞懂怎么让 AI 主动引用你 每天介绍一个变态网站。 今天这个网站叫 GEO 指南,目标很直接:用 5 分钟告诉你,怎么让内容更容易被 ChatGPT、Perplexity、AI Overviews 和豆包理解、引用和复述。 你还在只…

2026/7/12 0:01:29

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/12 0:01:29

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/12 0:01:29

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/12 0:01:29

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/12 0:01:29

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/12 0:01:29

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/11 8:37:53

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…