问题:在运行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
pip安装mamba模型包报错解决方案
9071

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



