最近更新时间:2026-06-01 10:44:03
SAM2(Segment Anything Model 2)是 Meta 公司推出的开源万物分割大模型,在计算机视觉、具身智能等领域有广泛的应用。本文介绍如何使用星流训推平台完成 SAM2 模型的开发与训练。
原始数据集中存在隐藏文件,需要全部删除后再上传,才能保证后续训练正常进行。
SAM2 需要 torch>=2.5.1,建议使用 pytorch-2.6.0-devel 镜像,CUDA 版本选择 12.6。
开源代码中有部分路径硬编码默认读取 /root 路径下的文件,为降低训练复杂度(避免修改源码及文件路径混淆),建议将源码放到 /root 目录下。
训练任务必需 sam2.1_hiera_base_plus.pt 检查点文件,其余三个检查点文件(sam2.1_hiera_tiny.pt、sam2.1_hiera_small.pt、sam2.1_hiera_large.pt)可仅在需要时下载。
您也可选择使用文件存储 KPFS,本实践以 KS3 为例。
下载数据集,可直接访问 SAM2 GitHub。
原始数据集中存在隐藏文件,需要全部删除后才能保证训练的正常进行
登录对象存储控制台。
在左侧导航栏选择存储空间,新建存储空间。
若已存在可用的存储空间,可直接点击空间名称。
进入目标存储空间详情页面,选择内容管理 > 上传文件,将数据集上传至 MOSE_release 文件夹中。
进入星流平台,在顶部导航栏,选择训练与仿真 > 公共资产管理 > 存储配置。
选择 KS3存储配置 页签,点击 +新建,根据如下要求配置各项参数,点击确定。
选择KS3实例:选择前文中已经上传了数据集的实例。
KS路径:选择上传有数据集的目录,本实践为 MOSE_release/processed_dataset。
挂载路径:拉起任务时数据挂载的路径,本实践为 /mnt/data。
其他参数:参考 KS3 存储配置相关操作指南。
本实践的整体流程如下:
创建模型开发任务,配置开发环境基础参数。
连接开发环境,下载 SAM2 依赖与检查点文件,配置训练数据集路径。
将配置好的开发环境保存为自定义镜像。
基于自定义镜像新建模型训练任务并提交执行。
查看训练任务状态与日志,确认训练正常启动。
在左侧导航栏,选择开发任务,点击 +新建。
根据以下要求配置各项参数,点击确定,等待开发任务状态转为运行中。
任务名称:用户自定义,根据实际情况填写。
镜像类型:选择官方镜像。
镜像:选择 pytorch-2.6.0-devel(SAM2 需要 torch>=2.5.1),CUDA 版本选择 12.6。
资源配置:选择前文准备工作中已提前创建好的资源组和队列即可。本次开发任务使用单卡开发,故 GPU 卡数设定为 1 即可。
挂载配置:无需设置,开发任务主要用于配置模型训练环境,本示例采用 git clone 的方式获取源码。
其他参数:根据实际情况填写或保持默认即可。
返回开发任务列表页面,点击指定任务操作列中的连接。
在弹出的提示框中,选择 WebIDE,本次示例选择 Jupyter Notebook。
进入 JupyterLab 页面,选择 Other > Terminal,打开终端。
在 Terminal 中执行如下命令,下载依赖。
开源代码中有部分路径硬编码默认读取 /root 路径下的文件,为降低训练复杂度,建议将源码放到 /root 目录下。
cd ~
source activate base
apt update && apt install git -y
git clone https://github.com/facebookresearch/sam2
cd sam2
pip install -e .
pip install -e ".[dev]"执行如下命令,下载 checkpoints。
apt update && apt install -y curl
cd checkpoints
./download_ckpts.sh以上命令会下载四个 checkpoints 文件,其中训练任务必需的是
sam2.1_hiera_base_plus.pt。如仅执行训练任务,可注释掉download_ckpts.sh中其余三个下载任务,只保留该检查点。备选方案:也可使用下载链接将 checkpoints 文件下载到本地,挂载到开发环境后,通过
cp命令复制到/root/sam2/checkpoints目录下。四个检查点文件分别为:
在 JupyterLab 页面的左侧工作区内找到 /sam2/configs/sam2.1_training/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 # Optional PATH to filelist containing a subset of videos
multiplier: 2以上步骤均执行成功后,退出开发环境。
返回开发任务列表页面,在指定开发任务所在行,选择更多 > 保存镜像。
按照如下要求配置各项参数,点击确定即可。
在左侧导航栏中,选择公共资产管理 > 镜像管理 > 自定义镜像,上一步保存的镜像显示在列表中。
在左侧导航栏,选择训练任务。
在训练任务列表页面,点击 +新建。
在新建训练任务页面,根据以下要求配置各项参数,点击确定。
镜像类型:选择自定义镜像。
镜像:选择前文步骤三中已保存的镜像。
启动命令:直接输入以下命令即可。
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参数说明:
-c:指定训练配置文件路径
--use-cluster 0:不使用集群模式
--num-gpus 1:使用 1 张 GPU
资源配置:
资源组和队列:选择准备工作中已创建好的计算资源即可。
训练框架:选择 pytorch。
任务资源:本实践采用单节点训练,Master 为 1,Worker 设为 0,并配置相应 GPU 卡数为 1,CPU 和内存根据实际情况设置即可。
存储配置:选择准备工作中已创建的 KS3 存储配置。本实践各参数配置如下:
存储类型:选择对象存储 KS3。
挂载路径:训练数据的挂载路径,与前文设置一致 /mnt/data。
其他参数:根据实际情况进行设置。
纯净模式
