参考文章:手把手教你在linux中手动编译并安装xformers
作者:青空朝颜モ出处:bilibili
官方安装方法
官方仓库传送门:https://github.com/facebookresearch/xformers.git
官方给了两种方式安装xFormers,这里给出官方仓库安装方法的翻译
-
(推荐)使用二进制文件:我们为Linux和最新的PyTorch版本提供二进制文件。在conda中安装pytorch之后,使用conda安装xFormers:
conda install xformers -c xformers/label/dev
-
或者从源码安装,如果没有二进制文件可用(例如windows),你也可以从源码文件安装:
#(可选)使构建更快 pip install ninja # 如果运行和构建在不同的GPU类型上,请设置TORCH_CUDA_ARCH_LIST pip install -v -U git+https://github.com/facebookresearch/xformers.git@main#egg=xformers # (这可能需要几十分钟)
实测:安装
ninja
后,xFormers
安装速度提升非常多,3分钟内完成安装 -
pip wheel包:pip上没有可用的wheel包,请从Conda或从源码安装
然而,官方给出的两种方法在无代理的情况下,安装得很慢。且国内镜像源无镜像可下。
推荐安装方法:克隆/下载Github仓库源码,手动编译安装
1. 克隆仓库
git clone https://github.com/facebookresearch/xformers.git
最好使用SSH链接进行克隆,避免https被墙。SSH克隆方法请自行参考
这里引用一篇博主觉得不错的SSH克隆方法文章:git通过SSH指定秘钥文件克隆代码的三种方法 作者:第九系艾文
2. 进入克隆到本地的文件夹
cd xformers
3. 克隆第三方库
git submodule update --init --recursive
4. 安装xFormers依赖
pip install -r requirements.txt
依赖如下,也可自行安装:
torch>=1.12
numpy
pyre-extensions==0.0.23
einops
5. 编译xFormers
pip install -e .
6. (非必须)验证安装
python -m xformers.info
为解决克隆失败情况,我上传了下载即可安装的源码包至阿里云盘
下载后传至linux服务器,解压缩后进入xformers
文件夹即可安装
链接:https://pan.baidu.com/s/1Ip5HxtAyKCxzGxiCXa29lg?pwd=yu2x
提取码:yu2x
参考命令:
# 解压缩
unzip xformers
# 进入目录
cd xformers
# 编译安装xFormers
pip install -e .
一些报错及解决方法
报错:nvcc fatal : Unknown option -extended-lambda
解决方法:
-
提升本机cuda版本。博主在cuda-10.1下安装报错,随后将cuda升级至11.6并安装最新版本的Pytorch解决该问题
参考环境:
pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6
安装时自动卸载Torch并安装最新的
可行的解决方法,下列选其一即可:
-
安装xFormers依赖时去除
requirement.txt
中的torch一项。注意:此做法可能会导致后续安装失败。 -
卸载当前版本的Torch,使用Conda命令安装。
参考PyTorch官网的Conda安装命令。
旧版本PyTorch安装命令点击此跳转