安装技巧:
-
首先下载对应版本的程序原文件如:git clone https://github.com/Dao-AILab/causal-conv1d.git(这样的话就是下载的是最新版本,可根据需要下载对应的版本)
-
cd causal-conv1d 选择下载的文件的路径中
-
CAUSAL_CONV1D_FORCE_BUILD=TRUE pip install . 通过这个方式稳定安装,注意是包括.的部分
(全网唯一有效成功解决)Mamba 环境安装:causal-conv1d和mamba-ssm报错解决办法-CSDN博客
安装问题:(如给VIM(Vision Mamba)安装环境需要版本为)
pip install causal-conv1d==1.1.0[这样会安装不上,建议按上述方式安]
pip install mamba==1.1.1
直接pip install ausal-conv1d==1.1.0会报错:
问题1:版本不匹配问题
TypeError: causal_conv1d_fwd(): incompatible function arguments. The following argument types are supported:
这大概率是版本不匹配的问题
问题2:直接pip 对应版本的whl文件,能安装,但是运行测试时会如下出现报错
selective_scan_cuda.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN3c104cuda9SetDeviceEi
测试
if __name__ == '__main__':
import torch
from mamba_ssm import Mamba
a = Mamba(d_model=256,d_state=16,d_conv=4,expand=2,)
a.cuda()
print(a)
mamba_input = torch.randn(1,256,256)
mamba_input = mamba_input.cuda()
print(a(mamba_input).shape)
出现如下结果表示安装OK
Mamba(
(in_proj): Linear(in_features=256, out_features=1024, bias=False)
(conv1d): Conv1d(512, 512, kernel_size=(4,), stride=(1,), padding=(3,), groups=512)
(act): SiLU()
(x_proj): Linear(in_features=512, out_features=48, bias=False)
(dt_proj): Linear(in_features=16, out_features=512, bias=True)
(out_proj): Linear(in_features=512, out_features=256, bias=False)
)
torch.Size([1, 256, 256])