【Anaconda】Windows 系统中 vision mamba环境配置教程

mamba-ssm安装需要Pytorch>1.12 CUDA>11.6

1.安装CUDA

按照链接博客就可以,我试过了
详细讲解如何在win10系统上安装多个版本的CUDA_如何同时安装cuda11.8 和 cuda12.0-CSDN博客

本人电脑环境

CUDA 11.8
cudnn 8302
Nvidia 2080Ti

1.1 电脑环境确认

查看CUDA环境是否正常
查看电脑所支持CUDA版本

打开终端:

nvidia-smi

右上角CUDA version即为最高支持版本

整理CUDA安装位置

一般默认C盘

1.2 安装新CUDA

(1)下载CUDAcuDnn,注意两者版本需匹配
(2)安装CUDA
添加新CUDA到环境变量

一般会自动添加,如果没有则在Path中添加下列环境变量

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vxx.x\bin  
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vxx.x\libnvvp
打开终端,查看CUDA版本
nvcc -V

一般默认添加

(3)cudnn安装

将下载到的压缩包解压到cuda 的安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXXX下并覆盖。

2.配置mamba-ssm环境

2.1 创建环境

conda create -n your_env_name python=3.10.13 
conda activate your_env_name

2.2 安装cuda和Pytorch

conda install cudatoolkit==11.8 -c nvidia
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
conda install -c "nvidia/label/cuda-11.8.0" cuda-nvcc

2.3 安装依赖库

2.3.1 Triton

有大神编译了Windows下二进制文件,下载到本地后,在anacoda终端中,切换到cd triton所在文件夹,输入:

pip install triton-2.0.0-cp310-cp310-win_amd64.whl
2.3.2 causal-conv1d
  • 方法1:直接安装
pip install causal-conv1d==1.1.1 #存在报错可能性
  • 方法2:本地编译安装:在causal-conv1d安装链接下载好对应版本的安装包(我用的1.1.1版本),下载到本地后解压,anaconda激活环境后进入该文件夹。输入:
pip install .

或者
cd 到存储文件夹:

git clone https://github.com/Dao-AILab/causal-conv1d.git
cd causal-conv1d
git checkout v1.1.1 

为什么要 v1.1.1 ,因为其是支持cu118的最高版本

2.3.3 mamba-ssm(编译安装)
(1)下载
git clone https://github.com/state-spaces/mamba.git
cd mamba
(2)在mamba源码 setup.py修改配置
FORCE_BUILD = os.getenv("MAMBA_FORCE_BUILD", "FALSE") == "FALSE"
SKIP_CUDA_BUILD = os.getenv("MAMBA_SKIP_CUDA_BUILD", "FALSE") == "FALSE"
(3)修改源码

1.在ops/selective_scan_interface.py 文件下,注释掉

# import selective_scan_cuda

2.在ops/selective_scan_interface.py 文件下

def selective_scan_fn(u, delta, A, B, C, D=None, z=None, delta_bias=None, delta_softplus=False,
                     return_last_state=False):
    """if return_last_state is True, returns (out, last_state)
    last_state has shape (batch, dim, dstate). Note that the gradient of the last state is
    not considered in the backward pass.
    """
    return SelectiveScanFn.apply(u, delta, A, B, C, D, z, delta_bias, delta_softplus, return_last_state)


def mamba_inner_fn(
    xz, conv1d_weight, conv1d_bias, x_proj_weight, delta_proj_weight,
    out_proj_weight, out_proj_bias,
    A, B=None, C=None, D=None, delta_bias=None, B_proj_bias=None,
    C_proj_bias=None, delta_softplus=True
):
    return MambaInnerFn.apply(xz, conv1d_weight, conv1d_bias, x_proj_weight, delta_proj_weight,
                              out_proj_weight, out_proj_bias,
                              A, B, C, D, delta_bias, B_proj_bias, C_proj_bias, delta_softplus)

替换为:

def selective_scan_fn(u, delta, A, B, C, D=None, z=None, delta_bias=None, delta_softplus=False,
                     return_last_state=False):
    """if return_last_state is True, returns (out, last_state)
    last_state has shape (batch, dim, dstate). Note that the gradient of the last state is
    not considered in the backward pass.
    """
    return selective_scan_ref(u, delta, A, B, C, D, z, delta_bias, delta_softplus, return_last_state)

def mamba_inner_fn(
    xz, conv1d_weight, conv1d_bias, x_proj_weight, delta_proj_weight,
    out_proj_weight, out_proj_bias,
    A, B=None, C=None, D=None, delta_bias=None, B_proj_bias=None,
    C_proj_bias=None, delta_softplus=True
):
    return mamba_inner_ref(xz, conv1d_weight, conv1d_bias, x_proj_weight, delta_proj_weight,
                              out_proj_weight, out_proj_bias,
                              A, B, C, D, delta_bias, B_proj_bias, C_proj_bias, delta_softplus)
(4)安装:在mamba文件夹下
pip install .

3.参考文献

CUDA安装

详细讲解如何在win10系统上安装多个版本的CUDA_如何同时安装cuda11.8 和 cuda12.0-CSDN博客
win10 64位 环境下安装CUDA 11.8和 cuDNN v8.6.0_cudnn8.6.0-CSDN博客
Windows 下 CUDA, cudnn, pytoch 卸载、更新、安装 - 个人文章 - SegmentFault 思否

mamba环境配置

windows系统下anaconda中配置Mamba官方代码环境_windows配置mamba-ssm-CSDN博客
Mamba 环境安装踩坑问题汇总及解决方法_runtimeerror: mamba_ssm is only supported on cuda -CSDN博客
(Windows傻瓜教程)Mamba安装以及问题汇总(Causal-Conv1d & Mamba-ssm)-CSDN博客
运行Mamba项目时无法直接用pip install安装causal_conv1d和mamba_ssm_pip install causal-conv1d-CSDN博客

### 复现 Vision Mamba 项目或模型 为了成功复现 Vision Mamba 项目或模型,需遵循一系列特定的操作流程。这些操作涵盖了环境配置、数据准备以及具体的代码执行。 #### 准备工作 确保安装必要的依赖项和工具链对于任何项目的顺利运行至关重要。针对 Vision Mamba: - **Python 版本**:建议使用 Python 3.8 或更高版本。 - **虚拟环境**:创建并激活一个新的虚拟环境有助于隔离不同项目的依赖关系[^4]。 ```bash python -m venv vm-unet-env source vm-unet-env/bin/activate # Linux/MacOS vm-unet-env\Scripts\activate # Windows ``` - **安装依赖包**:根据文档说明,至少需要安装 `transformers` 库,并确认其版本不低于 4.39.0。 ```bash pip install transformers>=4.39.0 ``` #### 获取源代码与资源 获取官方发布的源代码是至关重要的一步。可以从指定的 GitHub 存储库克隆最新的代码副本[^2]。 ```bash git clone https://github.com/JCruan519/VM-UNet.git cd VM-UNet ``` 此外,还需下载预训练模型权重文件并将之放置于适当位置以便加载。例如,如果选择 mamba-130m-hf 模型,则应将其置于新创建的同名子目录内。 #### 配置与调整参数设置 依据个人需求定制化修改配置文件中的超参数设定能够显著影响最终效果。通常情况下,默认值已经过优化处理;但在某些特殊应用场景下可能仍需微调以达到最佳性能表现[^3]。 #### 运行实验脚本 完成上述准备工作之后即可启动训练过程或是评估已有模型的表现情况。具体命令取决于实际使用的框架及接口设计,在此仅给出一般形式供参考。 ```bash python train.py --config configs/vision_mamba_unet.yaml ``` 通过以上步骤,应当能够在本地环境中较为完整地重现 Vision Mamba 所描述的技术方案及其预期成果。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值