2025 MambaVision环境配置记录(wsl2,ubuntu22.04,CUDA12.4)
#工作记录#
本文利用mamba vision进行分类任务配置
许多步骤参考了这篇文章:超详细Windows子系统(Wsl2)下安装Ubuntu22.04(cuda11.8)-MambaVision框架使用(自用版)
之前为了跑vision mamba安装了cuda11.8和配套的pytorch,最后发现可能是cuda11.8与我的驱动不匹配(之前只知道cuda要求驱动下限,这次才知道有上限要求),不想降低驱动遂换了一个项目
在终端输入nvidia-smi查看windows配置,发现支持12.X,看了MambaVision的requiment,它安装的是12.4,我的配置可以支持

ubuntu22.04安装(利用wsl2)
wsl2 ubuntu22.04和anaconda安装可以参考这个
wsl2安装 深度学习环境配置!同时拥有ubuntu的高效和windows的便捷!
安装后进行ubuntu换源
vim /etc/apt/sources.list
输入I进入编辑,将里面内容全部注释,换成清华源(当然也可以是别的源)
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
然后esc退出编辑,输入:wq保存,输入以下内容更新一下
sudo apt-get update
sudo apt-get upgrade
anaconda安装
具体安装如上链接也呈现了
在安装anaconda之后还需要配置一下环境变量配置
vim ~/.bashrc
输入I进行bashrc的编辑,在末尾输入如下内容
export PATH=$PATH:/home/***(你的目录)/anaconda3/bin
esc退出,:wq保存,输入以下刷新
source ~/.bashrc
重启ubuntu,输入:
conda init
安装cuda12.4
打开Cuda Toolkit 12.4下载Cuda Toolkit 12.4下载页面,这里利用runfile方式安装

wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
sudo sh cuda_12.4.0_550.54.14_linux.run
出现如下报错:

这里是因为没有安装gcc的原因
安装gcc11.4
输入如下,安装gcc:
sudo apt install gcc
安装完成后查看gcc版本:
gcc --version

在NVIDIA CUDA Installation Guide for LinuxNVIDIA CUDA Installation Guide for Linux中可以找到和cuda匹配的gcc版本,gcc11.4和cuda12.4在ubuntu22.04上是匹配的

继续安装cuda,先accept,然后选择install,需要等几分钟。安装完成后配置环境变量:
vim ~/.bashrc
输入I进行编辑,在末尾输入:
export CUDA_HOME=/usr/local/cuda-12.4
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
esc退出,:wq保存,刷新一下:
source ~/.bashrc
输入nvcc -V出现以下内容,cuda12.4安装成功

安装cudnn8.9.7
在cudnn下载页面挑选匹配cuda的cudnn版本,这里选用8.9.7安装

下载Tar并上传至服务器(因为我是ubuntu,所以用Linux安装包也可以),解压
tar -Jxvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
输入以下代码:
cd cudnn-linux-x86_64-8.9.7.29_cuda12-archive/
sudo cp -r lib/* /usr/local/cuda-12.4/lib64/
sudo cp -r include/* /usr/local/cuda-12.4/include/
sudo chmod a+r /usr/local/cuda-12.4/lib64/libcudnn*
sudo chmod a+r /usr/local/cuda-12.4/include/cudnn*
验证是否安装成功:
cat /usr/local/cuda-12.4/include/cudnn_version.h | grep
CUDNN_MAJOR -A 2
看到如下结果说明成功了:

按照requirement配置
激活虚拟环境
#环境创建
conda create -n mamba_vision python=3.10
#环境激活
conda activate mamba_vision
安装pytorch
下载mamba_vision项目到本地,进入requirements的目录,这里我手动安装了pytorch
进入pytorch官网
找到匹配cuda12.4的版本,由于项目要求torch>=2.6.0+cu124,安装了2.6.0版本

路径上加上了清华源,这样速度会快一些:
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装其他包
安装完成后,修改requirements删去torch>=2.6.0+cu124,继续安装其他包:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple -v
安装mamba_ssm2.2.4
报错mamba-ssm编译失败

访问mamba,将.whl文件下载后进行安装

在文件选择上,主要确定cuda,torch,ABI和python版本,其中ABI可以这样确定:
import torch
import torch.version
print(torch.compiled_with_cxx11_abi())

于是确定了我应该下载cu12torch2.6xx11abi False-cp310,下载并上传到服务器:
pip install mamba_ssm-2.2.4+cu12torch2.6cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
完成后输入以下未报错说明安装成功:
import mamba_ssm
至此环境配置完成
模型评估
也可以跳过评估直接在预训练权重上训练自己的模型,假如需要的话,可以参考如下步骤
按照项目官方方法和示例:
python validate.py
--model
--checkpoint
--data_dir
--batch-size
#!/bin/bash
DATA_PATH="/ImageNet/val"
BS=128
checkpoint='/model_weights/mambavision_tiny_1k.pth.tar'
python validate.py --model mamba_vision_T --checkpoint=$checkpoint --data_dir=$DATA_PATH --batch-size $BS --input-size 3 224 224
需要下载预训练权重和dataset,项目官方只提供了ImageNet-1K的预训练权重,按照项目官方链接下载了在ImageNet-1K上的mambavision_T权重,创建文件夹:
mkdir ./Imagenet
注意这里的代码:
parser.add_argument('--dataset-download', action='store_true', default=False,
help='Allow download of dataset for torch/ and tfds/ datasets that support it.')
说明只需要传入以下代码,就可以进行下载,不需要设置为True:
--dataset-download
传入了参数(dataset和dataset-download)通过timm下载数据集:
#!/bin/bash
DATA_PATH="./Imagenet"
BS=128
checkpoint='./mambavision_tiny_1k.pth.tar'
python validate.py --model mamba_vision_T --checkpoint=$checkpoint --data-dir=$DATA_PATH --batch-size $BS --input-size 3 224 224 --dataset torch/ImageNet --dataset-download
ImageNet-1K下载整理
发现timm中并不能下载ImageNet,于是手动下载。下载和整理参照这篇:ImageNet1K数据集的下载解压与处理
然后运行如下指令就可以进行评估了:
#!/bin/bash
DATA_PATH="./Imagenet/val(你的验证集路径)"
BS=128
checkpoint='./mambavision_tiny_1k.pth.tar'
python validate.py --model mamba_vision_T --checkpoint=$checkpoint --data-dir=$DATA_PATH --batch-size $BS --input-size 3 224 224











