最近更新时间:2025-09-05 15:39:40
SAM2(Segment Anything Model 2)是 Meta 公司推出的开源万物分割大模型,在计算机视觉、具身智能等领域有广泛的应用。本文将介绍如何使用星流平台完成一个 SAM2 模型的开发与训练。
SAM2开源代码链接:https://github.com/facebookresearch/sam2/tree/main
注意:原始数据集中存在隐藏文件,需要全部删除后才能保证训练的正常进行
此处以 KS3 为例。
进入金山云控制台--对象存储
上传数据集至存储空间中
存储空间 -- aicptest-qh -- 内容管理 -- 上传文件
SAM2训练项目数据集被上传在MOSE_release文件夹中
回到星流训推平台,新建存储配置
选择存储类型为KS3 -- 填写AK/SK,选择KS3实例
KS3路径:上传数据文件的路径
挂载路径:拉起任务时数据挂载的路径
配置完成后点击确认存储配置新建成功
刷新页面,在存储配置中看到新建的配置即为创建成功
在星流训推平台选择开发任务并新建
进入新建开发任务页面后填写开发任务基本信息
配置初始的开发环境,选择使用的镜像类型。SAM2需要使用torch>=2.5.1的环境,这里选择pytorch2.6.0镜像作为基础镜像
存储配置&输出挂载
本次开发任务可以不需要挂载,后续配置中源码通过git clone下载到环境中
对于其他任务,如果有在开发环境中调用项目代码/数据的需求可以在此处挂载对应的代码
选择可用的资源池与队列。本次开发任务使用单卡开发,GPU数量设定为1
以上配置完成后,确认新建任务
创建成功后可以在主页看到如下显示运行中的实例
点击连接
选择IDE(以Jupyter Notebook为例)
进入Terminal
在 terminal 中,依次执行下列操作:
注意:开源代码中有一些路径的硬编码默认读取 root 路径的文件,为了最大程度降低拉起训练的复杂度(尽量不修改源码&防止读取文件路径混淆),将源码文件放到 root 中
下载依赖:
cd ~ #进入/root目录
source activate base #进入 conda base环境
apt update && apt install git -y #下载git
git clone https://github.com/facebookresearch/sam2 #下载sam2项目代码
cd sam2 #进入项目目录
pip install -e .
pip install -e ".[dev]" #下载依赖下载 checkpoints:
apt update && apt install -y curl
cd checkpoints
./download_ckpts.sh这组命令会下载四个checkpoints文件到checkpoints文件夹(download_ckpts.sh)
要实现所有的训练、推理任务可能会用到所有四组checkpoints,因此建议一次性全部下载。
本次的训练任务可以注释掉其余三个CMD任务,只下载第三个checkpoints(红框内)。
备选方案:
如果不想在终端下载 checkpoints,也可以使用以下的下载链接下载文件到本地,将 checkpoints 文件挂载到开发环境中,然后 cp 到 /root/sam2/checkpoints文件夹下
SAM2 任务中提供了四组检查点,拉起训练任务需要用到的检查点文件是以下四个
训练任务拉起需要用到的检查点文件是sam2.1_hiera_base_plus.pt (如果只跑训练任务也可以只上传这一个)
配置config文件:
SAM2项目中与训练启动有关的config文件路径为:
sam2/configs/sam2.1_training/sam2.1_hiera_b+_MOSE_finetune.yaml
通过路径找到sam2.1_hiera_b+_MOSE_finetune.yaml 并编辑(目录如下):
编辑dataset片段:
将红框内信息按照下述代码块补全:
注意:训练数据存储配置的挂载路径是 /mnt/data/
dataset:
# PATHS to Dataset
img_folder: /mnt/data/train/JPEGImages # PATH to MOSE JPEGImages folder
gt_folder: /mnt/data/train/Annotations # PATH to MOSE Annotations folder
file_list_txt: null # training/assets/MOSE_sample_train_list.txt # Optional PATH to filelist containing a subset of videos to be used for training
multiplier: 2以上三个步骤均成功执行则SAM2训练项目的环境配置完成。
退出开发环境,返回主界面,选择保存镜像
填写镜像信息(自定义),点击确定导出镜像
看到刚才保存的镜像状态是可用,则表示自定义镜像保存成功了
填写基本信息
选择刚才保存的自定义镜像
输入启动命令
cd /root/sam2
python training/train.py \
-c configs/sam2.1_training/sam2.1_hiera_b+_MOSE_finetune.yaml \
--use-cluster 0 \
--num-gpus 1存储配置-对象存储KS3-选择存储配置
选择可用的资源池和队列。单节点训练,将worker设置为0
配置完成后点击确认,完成训练任务创建
在训练任务界面看到任务状态为运行中即顺利拉起了训练
点击任务名称,进入任务
日志 -- 查看训练任务拉起日志(如右侧红框所示,训练任务顺利拉起)
纯净模式
