【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博客

  • 15
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值