1. 环境准备:选对系统,打好地基
大家好,我是老张,在AI和计算机视觉领域折腾了十几年,最近Meta开源的SAM2模型火得不行,我也第一时间上手试了试。说实话,SAM2在分割精度和速度上确实比一代有提升,但这个安装过程,尤其是环境配置,坑是真不少。今天我就把自己在Windows和Linux系统上踩过的坑、趟平的路,从头到尾给大家捋一遍,目标是让你看完就能跑起来,少走弯路。
首先,你得搞清楚自己要跑在哪个系统上。Windows用户和Linux用户(包括用WSL的)的安装路径和遇到的坑点不太一样。Windows的优势是界面友好,适合快速验证想法,但深度学习环境依赖管理有时会让人头疼。Linux则是深度学习开发的“主场”,尤其是用Docker的话,环境隔离做得好,复现成功率极高。我个人的建议是,如果你是做研究或者需要稳定部署,优先考虑Linux;如果只是想在个人电脑上快速体验一下SAM2的能力,Windows也完全没问题。
在动手安装任何东西之前,请务必检查你的硬件基础,特别是显卡。SAM2需要CUDA进行GPU加速,这意味着你需要一块NVIDIA显卡。你可以打开命令行,输入 nvidia-smi 来查看你的显卡型号和已安装的CUDA驱动版本。这一步很重要,因为它决定了你后续要安装的PyTorch和CUDA Toolkit版本。如果你的电脑没有NVIDIA显卡,那只能使用CPU模式运行,速度会慢很多,一些大型模型可能跑起来会比较吃力。
接下来是软件环境的基石:Python。我强烈推荐使用 Anaconda 或 Miniconda 来创建独立的Python环境。这能避免和你系统里已有的其他Python项目产生包冲突,这是后续一切顺利的前提。创建一个新环境,比如叫 sam2_env,Python版本选择3.8到3.10之间的一个稳定版,我个人用3.9比较多,兼容性比较好。命令很简单:conda create -n sam2_env python=3.9,然后激活它:conda activate sam2_env。
2. 核心依赖安装:避开版本“雷区”
环境建好了,我们开始安装最核心的依赖:PyTorch。这是整个过程中最容易出问题的一环,原始笔记里也重点提到了。一个关键警告:PyTorch的版本绝对不能是2.5及以上! 我实测过,如果用PyTorch 2.5或更高版本,运行时会直接报错,提示找不到某些CUDA相关的符号。这是因为SAM2编译时链接的CUDA相关库与新版PyTorch不兼容。
所以,我们的安全选择是 PyTorch 2.3.1 或 2.4 版本。具体安装命令需要去PyTorch官网(https://pytorch.org/get-started/previous-versions/)根据你的CUDA版本查找。假设你的CUDA驱动版本是12.1,那么安装命令可能是这样的:
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121
安装完成后,务必在Python里验证一下:import torch; print(torch.__version__); print(torch.cuda.is_available())。确保版本正确且CUDA可用。
PyTorch搞定后,我们来安装SAM2本体。直接从Meta的GitHub仓库克隆代码:
git clone https://github.com/facebookresearch/sam2.git
cd sam2
然后安装其依赖包。这里要注意,SAM2的requirements.txt里可能包含一些版本范围,但为了保险起见,我建议手动处理几个关键包。首先用 pip install -e . 安装基础依赖。然后,你会遇到第一个常见的坑:Hydra库冲突。错误信息是 cannot import name 'initialize_config_module' from 'hydra'。这是因为新版的Hydra移除了这个API。解决方法是指定安装旧版本:
pip install hydra-core==1.3.2
另一个潜在的坑是 protobuf 版本。如果版本太高,也可能导致奇怪的问题。如果遇到相关错误,可以尝试降级:
pip install protobuf==3.19.0
这些版本锁定是无数踩坑经

9125

被折叠的 条评论
为什么被折叠?



