Sa2VA项目安装与配置指南
1. 项目基础介绍
Sa2VA项目是一个用于图像和视频密集式接地理解的开源模型。该模型统一了文本、图像和视频到一个共享的大型语言模型(LLM)标记空间中,结合了SAM-2基础视频分割模型和LLaVA先进视觉语言模型。主要使用的编程语言是Python。
2. 项目使用的关键技术和框架
- SAM-2: 一种基础的视频分割模型。
- LLaVA: 一种先进的视觉语言模型。
- PyTorch: 用于深度学习的框架。
- MMCV: 一个开源计算机视觉工具箱。
- Transformers: 用于处理变换器的库,常用于NLP任务。
- Peft: 用于模型微调的库。
3. 项目安装和配置的准备工作
在开始安装之前,请确保您的系统满足以下要求:
- Python 3.10
- PyTorch 2.3.1
- CUDA 12.1
- MMCV 2.1.0
- Transformers
- Peft
安装步骤
-
创建Python虚拟环境:
conda create -n vlm python=3.10 conda activate vlm
-
安装PyTorch和CUDA:
conda install pytorch==2.3.1 torchvision==0.18.1 pytorch-cuda=12.1 cuda -c pytorch -c nvidia/label/cuda-12.1.0 -c nvidia/label/cuda-12.1.1
-
安装MMCV:
pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.3/index.html
-
安装项目依赖:
pip install -r requirements.txt
-
下载预训练模型: 将以下预训练模型下载并放置在项目的
pretrained
目录中:sam2_hiera_large.pt
InternVL2_5-1B
InternVL2_5-4B
其余模型可以从HuggingFace下载。
-
准备数据集: 下载训练数据集并将它们解压到
data
目录中。确保数据结构符合项目要求。 -
训练模型: 使用以下命令开始训练(建议使用至少8个A100 GPU):
bash tools/dist.sh train projects/llava_sam2/configs/sa2va_4b.py 8
-
转换训练模型到HuggingFace格式: 训练完成后,使用以下命令将模型转换为HuggingFace格式:
python projects/llava_sam2/hf/convert_to_hf.py projects/llava_sam2/configs/sa2va_4b.py --pth-model PATH_TO_PTH_MODEL --save-path PATH_TO_SAVE_FOLDER
按照以上步骤操作,您应该能够成功安装和配置Sa2VA项目。