配置mamba环境时pip install mamba-ssm和causal-conv1d报错

pip安装mamba模型包报错解决方案
部署运行你感兴趣的模型镜像

问题:在运行mamba系列的模型(如UVM-Net)时要安装两个包:mamba-ssm和causal-conv1d,但我使用pip install会报错,是有关nvcc的问题。例如:

RuntimeError: causal_conv1d is only supported on CUDA 11.6 and above.  Note: make sure nvcc has a supported version by running nvcc -V.

或者:

UserWarning: causal_conv1d was requested, but nvcc was not found.  Are you sure your environment has nvcc available?  If you're installing within a container from https://hub.docker.com/r/pytorch/pytorch, only images whose names contain 'devel' will provide nvcc.

或者pip install时未报错,但运行模型时报错,这种情况可以pip uninstall两个包:
 

selective_scan_cuda.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZN3c104impl8GPUTrace13gpuTraceStateE

解决方案:1. 首先更新torch版本:
 

pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
conda install packaging

2. 然后指定cuda的路径,使用pip安装两个包即可。这里的两个路径需要按需修改,选择/usr/local/路径(一般是这个路径)下11.6版本以上的cuda路径(causal-conv1d只支持11.6版本以上的cuda),

 支线任务:如果你没有安装符合版本要求的cudatoolkit,需要先行安装,参考这篇,不过他安装的是11.4版本的,因此需要更改为11.6以上的下载网址,只需要安装CUDA Toolkit即可【安装】Linux下安装CUDA ToolKit 11.4和cuDNN 8-优快云博客

如果安装过程中你不知道哪个选项打×,参考这篇,就是只有toolkit是打×的:linux环境安装cuda toolkit_linux安装cuda toolkit-优快云博客

之后运行下面的bash代码:

export PATH=/usr/local/cuda-12.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64:$LD_LIBRARY_PATH
pip install causal-conv1d==1.2.0
pip install mamba-ssm

如果你使用了清华源,清华源是没有causal-conv1d==1.2.0的,可以从github上下载whl离线安装(注意版本)这样就不会出现环境问题. 参考:2024.5.4 mamba环境搭建TypeError: causal_conv1d_fwd_failed building wheel for causal-conv1d-优快云博客

12.6 更新:之前使用的是1.1.1版本的causal-conv1d,运行时UVM-Net时会报错:

conv1d_out = causal_conv1d_cuda.causal_conv1d_fwd(
TypeError: causal_conv1d_fwd(): incompatible function arguments. The following argument types are supported:
    1. (arg0: torch.Tensor, arg1: torch.Tensor, arg2: Optional[torch.Tensor], arg3: Optional[torch.Tensor], arg4: bool) -> torch.Tensor

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值