目錄
- 背景
- 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 的運行環境配置(最全)。