我個人喜歡用 mamba(conda)創建環境,然后用 mamba 安裝 pytorch + CUDA(如果需要使用 CUDA 編譯),還有一些比如 gcc/g++ 等與 python 無關的一些工具。
但是最近我在擴充環境的時候,發現需要額外安裝 xformers 這個庫,這個庫比較特殊,他需要與 pytorch、CUDA 版本相匹配
1 pip 安裝
網上找了好多解法都是基于 pip 的:
在 https://github.com/facebookresearch/xformers/tags 中一個個查找到對應自己 pytorch 版本的 xformers 版本:
比如我現在使用的 PyTorch 2.1.2,其對應就是 v0.0.23.post1

然后我使用的 CUDA 版本為 11.8,所以完整的命令就是:
pip install -U xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu118
2 Conda 安裝
但是!我使用的是 mamba 的 pytorch 配合 mamba 安裝的 CUDA;我如果要改 pytorch 為 pip 版本的,就會牽連到 CUDA 相關的庫,很麻煩!
實驗證明,pip 安裝 pytorch 之后再用
nvidia/label/cuda-xxx
channel 安裝 CUDA 會出現 bug(自動安裝最新版本的 CUDA)
如果我直接用 pip 安裝 xformers 的話,會出現 pip 自動給你安裝一個 pytorch,就會和 mamba 的 pytorch 打架了!
所以我需要用 mamba 安裝 xformers,直接上最終解法:
mamba install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=11.8 xformers -c pytorch -c nvidia/label/cuda-11.8.0 -c xformers
沒錯,就是直接在之前安裝 pytorch 和 CUDA 的修改版本命令(見前面的博客)添加 xformers
和其對應的 channel -c xformers
;??注意,一定要用 xformers
channel!
這樣無論是從最開始安裝,還是已經安裝了 pytorch 之后再額外安裝 xformers,都使用這個命令就可以啦!他會自動找到合適你 python、pytorch 版本的 xformers 的!🥹
已經安裝了 pytorch 之后再額外安裝 xformers情況下,命令執行結果:
