目录
- 背景
- 0. 前期环境查询/需求分析
- 1. Linux 平台
- 1.1 Mamba
- 1.2 Vim
- 1.3 Vmamba
- 2. Windows 平台
- 2.1 Mamba
- 2.1.1 Mamba 1
- 2.1.2 Mamba 2
- - 治标不治本
- - 终极版
- - 高算力版
- 2.2 Vim
- - 治标不治本
- - 终极版
- - 高算力版
- 2.3 Vmamba
- - 治标不治本
- - 终极版
- - 高算力版
- 3. Linux / Windows 双平台合集
- 4. 基于 Mamba 的各种项目
- 4.1 MambaYOLO
背景
笔者前期在广大网友的支持下积累了大量的 Linux / Windows 下 Mamba / Vim / Vmamba 等模型的安装经验,由于版本、算力以及平台等复杂多样,导致每种情况均略有区别,导致系列博客里面的教程和安装包错综复杂,特此梳理。鼓励大家根据教程自己手动编译,本人摸索出来的编译过程在系列博客已经全程开源,出现问题请查阅本系列所有博客,不鼓励从任何渠道购买,本人仅针对时间紧张嫌麻烦的同学提供部分 whl 安装包。
请根据自身实际情况参考不同博客,系列教程博客有:
Mamba 及 Vim 安装问题参看本人博客:Mamba 环境安装踩坑问题汇总及解决方法(初版)- Linux 下 Mamba 安装问题参看本人博客:Mamba 环境安装踩坑问题汇总及解决方法(重置版)
- Windows 下 Mamba 的安装参看本人博客:Window 下Mamba 环境安装踩坑问题汇总及解决方法 (无需绕过selective_scan_cuda)
- Linux 下 Vim 安装问题参看本人博客:Linux 下 Vim 环境安装踩坑问题汇总及解决方法(重置版)
- Windows 下 Vim 安装问题参看本人博客:Window 下 Vim 环境安装踩坑问题汇总及解决方法
- Linux 下Vmamba 安装教程参看本人博客:Vmamba 安装教程(无需更改base环境中的cuda版本)
- Windows 下 VMamba的安装参看本人博客:Windows 下 VMamba 安装教程(无需更改base环境中的cuda版本且可加速)
- Windows下 Mamba2及高版本 causal_conv1d 安装参考本人博客:Windows 下Mamba2 环境安装问题记录及解决方法(causal_conv1d=1.4.0)
- Windows 下 Mamba / Vim / Vmamba 环境安装终极版参考本人博客:Windows 下Mamba2 / Vim / Vmamba 环境安装问题记录及解决方法终极版(无需绕过triton)
- (GPU算力12.0版本)Windows 下 Mamba / Vim / Vmamba 环境配置教程 参考本人博客:Windows 下 Mamba / Vim / Vmamba 环境配置安装教程(适用于5070,5080,5070Ti等GTX 50系显卡)
0. 前期环境查询/需求分析
- 运行平台:(Linux 或 Windows)
- GPU 算力:算力查询参考:Your GPU Compute Capability。如GeForce GTX 1080 算力为6.1,GeForce RTX 4090 算力 8.9,GeForce RTX 3090 算力 8.6,GeForce RTX 5090 算力 12.0。
- Windows 下需要安装 Mamba 1 版本 还是 Mamba 2 版本。
- Windows 下是否需要 triton 加速。(triton 官方目前只支持Linux系统,参考本人之前博客 Windows 下安装 triton 教程 )
- 请先大致阅读完对应博客后再选择有没有必要购买。
- 注意 python,torch 及 cuda 版本必须和本人博客的环境保持一致,否则会报错。
- 若需要
selective_scan_cuda
,则需要安装 mamba(pip list 里面显示为 mamba_ssm,虚拟环境中相关位置产生selective_scan_cuda.cp310-win-amd64.pyd);selective_scan_cuda_oflex
和selective_scan_cuda_core
是 Vmamba (含core)里面的 (pip list 里面显示selective_scan,虚拟环境中相关位置产生selective-scan-cuda-oflex.cp310-win-amd64.pyd,及selective-scan-cuda-core.cp310-win-amd64.pyd)
1. Linux 平台
1.1 Mamba
Linux 下 mamba 的安装较为简单,如果 CUDA 配置完整可迅速安装成功或者从官方源码编译。
如果你的显卡算力是 7.0-9.0 之间,Linux 下 Mamba 安装问题参看本人博客:Mamba 环境安装踩坑问题汇总及解决方法(重置版),官方为这部分算力的用户,提供了编译好的whl安装包。
如果你的显卡是老旧显卡,如算力 6.1 ,则需要自己从源码编译,并且编译前修改 setup.py 里面的参数,见 RuntimeError:CUDA error:no kernel image is available。
如果你的显卡是非常新的显卡,如算力 12.0,则需要自己从源码编译,并且编译前修改 setup.py 里面的参数,见 从源码编译causal-conv1d 1.4.0 版本 及 从源码编译 mamba-ssm2.2.2 版本。
由于操作较为容易,官方也提供了一些环境下的 whl 安装包,本人不提供任何 whl 。
1.2 Vim
Vim (Vision Mamba) 官方代码链接为:https://github.com/hustvl/Vim。注意,Vim (Vision Mamba)和 Vmamba (VMamba: Visual State Space Model)虽然都是基于mamba,但是它们不是同一篇!
Linux 下 Vim 环境安装可以直接从 Vim 里的源码编译,或者先安装官方的 Mamba 然后进行代码替换。causal-conv1d
可以直接安装causal-conv1d 官方的 1.1.1 版本。
如果你的显卡算力是 7.0-9.0 之间,Linux 下 Vim 安装问题参看本人博客:Linux 下 Vim 环境安装踩坑问题汇总及解决方法(重置版)。
其他算力版本还是需要同前面 mamba 安装一样,需要修改 setup.py 然后从头开始编译。
安装完成后,pip list 显示的还是 mamba_ssm,不过它在内部多了一个 bimamba_type
。
本人暂时仅提供 显卡算力 7.0-9.0 的 Vim whl 安装包:
- 【CSDN 渠道】:(Vim Linux)mamba-ssm-1.1.1-cp310-cp310-linux-x86-64.whl
- 【mbd 优惠渠道】:(Vim Linux cuda11.8)mamba-ssm-1.1.1
1.3 Vmamba
Vmamba 安装完成之后 pip list 显示的是 selective_scan
,其包括的库是 selective_scan_cuda_oflex
(我称之为“不含core”),如果需要 selective_scan_cuda_core
模块,则需要修改 setup.py 然后编译,这里将同时包括这两个库的称为“含core版本”。
如果你的显卡算力是 7.0-9.0 之间,Linux 下Vmamba 安装教程参看本人博客:Vmamba 安装教程(无需更改base环境中的cuda版本)
其他算力版本还是需要同前面 mamba 安装一样,需要修改 setup.py 然后从头开始编译。
本人暂时仅提供 显卡算力 7.0-9.0 的 Vmamba whl 安装包:
- 不含 core,CUDA 12.1
- 【CSDN 渠道】:selective-scan-0.0.2-cp310-cp310-linux-x86-64.whl (CUDA 12.1 不含core)
- 【mbd 优惠渠道】:(不含core / cuda12.1)selective_scan-0.0.2-cp310-cp310-linux_x86_64.whl
- 含 core,CUDA 11.8
- 【CSDN 渠道】:selective-scan(CUDA 11.8 包含core)
- 【mbd 优惠渠道】:含core / cuda11.8)selective_scan-0.0.2-cp310-cp310-linux_x86_64.whl
- 含 core,CUDA 12.1
- 【CSDN 渠道】:selective-scan(CUDA 12.1 包含core)
- 【mbd 优惠渠道】:(含core / cuda12.1)selective_scan-0.0.2-cp310-cp310-linux_x86_64.whl
2. Windows 平台
Mamba / Vim / Vmamba 均未考虑在Windows 下的配置安装,所以官方并没有安装包,均需要从头编译,以下内容均为本人自主探索查阅大量资料得出的教程,并针对某些环境为了方便自主编译了whl安装包,使用安装包注意 python,torch 及 cuda 版本必须和本人前面的环境保持一致,否则会出现 ImportError: DLL load failed
。
Windows平台下难点主要是编译pyd文件,以及 triton 在Windows下的运行。
关于 triton,更多内容请参考本人之前的博客 Windows 下安装 triton 教程 ,triton 目前官方只有Linux 版本,想在window运行有治标不治本
以及 triton-windows
方法。前期由于认知的局限性,都采用了治标不治本,直到终极版才使用上了triton-windows
方法(torch >= 2.4.0;CUDA >=12;安装 MSVC 和 Windows SDK)。实测 治标不治本
对mamba1没有影响,但是影响mamba2。
2.1 Mamba
由于 Mamba 1 和 Mamba 2 是不同的函数,因此教程也分为了两种。注意甄别,有的安装包并没有
2.1.1 Mamba 1
如果你的显卡算力是 7.0-9.0 之间,Windows 下 Mamba 的安装参看本人博客:Window 下Mamba 环境安装踩坑问题汇总及解决方法 (无需绕过selective_scan_cuda)
如果你的显卡是老旧显卡,如算力 6.1 ,则需要自己从源码编译,并且编译前修改 setup.py 里面的参数,见 RuntimeError:CUDA error:no kernel image is available。
如果你的显卡是非常新的显卡,如算力 12.0,则需要自己从源码编译,并且编译前修改 setup.py 里面的参数,见 从源码编译causal-conv1d 1.4.0 版本 及 从源码编译 mamba-ssm2.2.2 版本。
本人暂时仅提供 显卡算力 6.0-9.0 的 whl 安装包,这些版本triton都是治标不治本
:
- 算力 7.0-9.0,CUDA 11.8
- 【CSDN 渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.3;合集全家桶
- 【mbd 优惠渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.3;合集全家桶
- 算力 6.0-9.0,CUDA 11.8
- 【CSDN 渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.3;
- 【mbd 优惠渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.3;合集全家桶
注意甄别,网上部分whl安装包直接绕过了cuda加速(whl名字后部有 none-any),虽然可以很容易编译出来,但是运行速度非常缓慢,不要下载(本人编译只是为了探索研究):
- mamba-ssm-1.1.3-py3-none-any.whl
- mamba-ssm-1.2.0.post1-py3-none-any.whl
2.1.2 Mamba 2
- 治标不治本
如果 triton-Windows 实在配置不成功,或者CUDA版本太高显卡不支持,依旧可以通过治标不治本绕过triton。
Windows下 Mamba2及高版本 causal_conv1d 安装参考本人博客:Windows 下Mamba2 环境安装问题记录及解决方法(causal_conv1d=1.4.0)
本人暂时仅提供 显卡算力 6.0-9.0 的 CUDA11.8 的 whl 安装包,这些版本triton都是治标不治本
:
- 【CSDN 渠道】:causal-conv1d-1.4.0;mamba-ssm-2.2.2;
- 【mbd 优惠渠道】:causal-conv1d-1.4.0;mamba-ssm-2.2.2;合集全家桶
其他算力的只能参考后面终极版以及高算力版。
- 终极版
如果你可以配置好 triton-Windows,并且想体验mamba2,算力是6.0 - 9.0 之间
可以参考本人博客:Windows 下Mamba2 / Vim / Vmamba 环境安装问题记录及解决方法终极版(无需绕过triton)
特别的,如果你的显卡是GeForce RTX 20系列或者GTX 1650等,请一定要注意问题:Mamba2 出现 IndexError: invalid map<K, T> key 或者 IndexError: map::at (20250401更新)
本人暂时仅提供 显卡算力 6.0-9.0 的 CUDA12.4 的 whl 安装包:
- 【CSDN 渠道】:causal-conv1d-1.4.0;mamba-ssm-2.2.2;合集全家桶
- 【mbd 优惠渠道】:causal-conv1d-1.4.0;mamba-ssm-2.2.2;合集全家桶
- 高算力版
如果你的显卡是5070,5080,5070Ti等GTX 50系显卡,算力高达12.0,参考本人博客:Windows 下 Mamba / Vim / Vmamba 环境配置安装教程(适用于5070,5080,5070Ti等GTX 50系显卡)。
本人暂时仅提供 显卡算力 12.0 的 CUDA12.8 的 whl 安装包:
- 【CSDN 渠道】:causal-conv1d-1.4.0;mamba-ssm-2.2.2;合集全家桶
- 【mbd 优惠渠道】:causal-conv1d-1.4.0;mamba-ssm-2.2.2;合集全家桶
2.2 Vim
Vim (Vision Mamba) 官方代码链接为:https://github.com/hustvl/Vim。注意,Vim (Vision Mamba)和 Vmamba (VMamba: Visual State Space Model)虽然都是基于mamba,但是它们不是同一篇!
- 治标不治本
如果 triton-Windows 实在配置不成功,或者CUDA版本太高显卡不支持,算力是7.0 - 9.0 之间依旧可以通过治标不治本绕过triton。
Windows 下 Vim 安装问题参看本人博客:Window 下 Vim 环境安装踩坑问题汇总及解决方法
本人暂时仅提供 显卡算力 7.0-9.0 的 Vim whl 安装包:
- 【CSDN 渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.1;
- 【mbd 优惠渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.1;合集全家桶
- 终极版
如果你可以配置好 triton-Windows,并且想体验vim,算力是6.0 - 9.0 之间
可以参考本人博客:Windows 下Mamba2 / Vim / Vmamba 环境安装问题记录及解决方法终极版(无需绕过triton)
本人暂时仅提供 显卡算力 6.0-9.0 的 CUDA12.4 的 whl 安装包:
- 【CSDN 渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.1;合集全家桶
- 【mbd 优惠渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.1;合集全家桶
- 高算力版
如果你的显卡是5070,5080,5070Ti等GTX 50系显卡,算力高达12.0,参考本人博客:Windows 下 Mamba / Vim / Vmamba 环境配置安装教程(适用于5070,5080,5070Ti等GTX 50系显卡)。
本人暂时仅提供 显卡算力 12.0 的 CUDA12.8 的 whl 安装包:
- 【CSDN 渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.1;合集全家桶
- 【mbd 优惠渠道】:causal-conv1d-1.1.1;mamba-ssm-1.1.1;合集全家桶
2.3 Vmamba
Vmamba 安装完成之后 pip list 显示的是 selective_scan
,其包括的库是 selective_scan_cuda_oflex
(我称之为“不含core”),如果需要 selective_scan_cuda_core
模块,则需要修改 setup.py 然后编译,这里将同时包括这两个库的称为“含core版本”。
- 治标不治本
如果 triton-Windows 实在配置不成功,或者CUDA版本太高显卡不支持,算力是7.0 - 9.0 之间依旧可以通过治标不治本绕过triton。
Windows 下 VMamba的安装参看本人博客:Windows 下 VMamba 安装教程(无需更改base环境中的cuda版本且可加速)
本人暂时仅提供 显卡算力 7.0-9.0 的 Vmamba whl 安装包:
- 不含 core,CUDA 11.8
- 【CSDN 渠道】:selective-scan-0.0.2
- 【mbd 优惠渠道】:selective-scan-0.0.2
- 含 core,CUDA 11.8
- 【CSDN 渠道】:selective-scan-0.0.2
- 【mbd 优惠渠道】:selective-scan-0.0.2
- 终极版
如果你可以配置好 triton-Windows,并且想体验vim,算力是6.0 - 9.0 之间
可以参考本人博客:Windows 下Mamba2 / Vim / Vmamba 环境安装问题记录及解决方法终极版(无需绕过triton)
本人暂时仅提供 显卡算力 6.0-9.0 的 CUDA12.4 的 whl 安装包(均含core):
- 算力 8.9,CUDA 12.4
- 【CSDN 渠道】:selective-scan-0.0.2
- 【mbd 优惠渠道】:selective-scan-0.0.2
- 算力 6.0-9.0,CUDA 12.4
- 【CSDN 渠道】:selective-scan-0.0.2
- 【mbd 优惠渠道】:selective-scan-0.0.2
- 高算力版
如果你的显卡是5070,5080,5070Ti等GTX 50系显卡,算力高达12.0,参考本人博客:Windows 下 Mamba / Vim / Vmamba 环境配置安装教程(适用于5070,5080,5070Ti等GTX 50系显卡)。
本人暂时仅提供 显卡算力 12.0 的 CUDA12.8 的 whl 安装包(均含core):
- 【CSDN 渠道】:selective-scan-0.0.2
- 【mbd 优惠渠道】:selective-scan-0.0.2
3. Linux / Windows 双平台合集
早期的时候,本人还将Linux 和 Windows 的版本也一并打包形成合集(含生成的 .so 文件或者 .pyd 文件),不过根据反馈没有太多需要。这些双平台合集都是 triton 治标不治本
版本,且都是早期版本,仅支持显卡算力 7.0-9.0 ,CUDA 11.8,python 3.10,torch 2.1.1,留给有需要的同学:
- mamba 1.1.3 安装包,包括Windows和Linux
- Vim 安装包,包括Windows和Linux
- vmamba 安装包,包括Windows和Linux
4. 基于 Mamba 的各种项目
4.1 MambaYOLO
Mamba-Yolo (AAAI 2025)是《Mamba YOLO: SSMs-Based YOLO For Object Detection》一文中提出的,在Yolo v8中加入VMamba模块的Yolo算法。GitHub项目代码为:https://github.com/HZAI-ZJNU/Mamba-YOLO。
这个项目基于的是Vmamba,因此可以去查询 Vmamba 的相关博客。
特别的,Windows 下的环境安装配置参考本人之前的博客:Windows 下 Mamba Yolo 的运行环境配置(最全)。