在使用pip install xformers安装xformers时,发现总是会把我环境中的pytorch重新安装,并且会安装CUDA12版本的pytorch, 而我环境是CUDA 11.8,这就导致原本的开发环境不可用了。后来发现xformers与pytorch版本一一对应的,在pip install xformers时,如果发现pytorch版本不一致,就会自动卸载重装pytorch, 而默认装的是CUDA12版本的。
1. 如果你环境中的pytorch是最新的(写文章时最新是v2.3.0),那么可以根据你的cuda版本采用以下方式安装最新的xformers
# cuda 11.8 version
pip3 install -U xformers --index-url https://download.pytorch.org/whl/cu118
# cuda 12.1 version
pip3 install -U xformers --index-url https://download.pytorch.org/whl/cu121
2. 如果你的pytorch版本低于最新版本(写文章时最新是v2.3.0),则需要相应的降低xformers版本,到底哪个版本适合你的pytorch,可以用如下方式进行查看:
pip3 install xformers==0.0.26.post1 --dry-run
pip3 install xformers==0.0.25 --dry-run
...
pip3 install xformers==0.0.20 --dry-run
pip3 install xformers==0.0.19 --dry-run
最新版本是v0.0.26.post1,依次向下使用上面的命令进行尝试,并不断降低版本,直到显示当前版本所需要的pytorch版本已存在的时候,说明该版本的xformers是你可以安装的。
下面有一些pytorch和xformers依赖版本的对应关系: