Stable Diffusion 性能优化 - xformers安装问题
实验编程
编辑于 2023年06月04日 05:51
收录于文集
共18篇

上节课中,训练营3期02,SD本地环境,有人出现xformers安装问题:

xformers要求pytorch 2.0.0与cu118,而早一点安装过SD webui本地版的,大部分都是pytorch 1.13.1+cu117,版本不匹配。

解决方式1,装最新webui

最新的SD webui,已经用上了pytorch 2.0.1 + cuda 11.8:

而xformers两周前也已经支持了 pytorch 2.0.1。https://github.com/facebookresearch/xformers/commit/a721581f01812eae2f184238b072969b0e04110a

这样都用最新的版本,有助于发挥最高性能。

提示:

安装新SD webui前,建议备份老版本的运行环境。

备份方法:

1. 之前是按SD webui官网最常规办法装的(没有使用conda)

即上个教程里的安装方式1或2:

👉 Stable Diffusion webui 本地安装教程 Windows​

则可以直接复制 stable-diffusion-webui 整个文件夹,重命名备份。

然后同样的方法安装,默认就是最新的SD webui。

2. 之前是用conda安装

可以在当前版本的环境基础上复制一套新环境出来,再在新环境里升级pytorch。

其中 sd-pytorch2 是新环境的名称示例,sd-pytorch1 是你当前旧环境名称示例。

然后在新环境sd-pytorch2 里通过conda安装 PyTorch 2.0.0+cu118:

或者直接安装最新的 pytorch 2.0.1(默认版本):

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

装好 SD webui 最新版后,重装xformers

办法是直接添加启动参数:

添加后直接正常运行 webui-user.bat 即可。

解决方式2,改用其他优化方式替换

有人测试结果比xformers还快(我4090没测出明显区别)。

github.com/AUTOMATIC1111/stable-diffusion-webui/issues/10494#issuecomment-1552882574

方法同样是添加命令行参数即可:

添加后直接正常运行 webui-user.bat。

提示:

这些方法有的也需要安装 Pytorch 2.0.x,详细查询参数文档:

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings

解决方式3,装xformers旧版

当前xformers最新是0.0.17,可以尝试安装老版本,以适应旧版的pytorch和cuda。

此法适合SD环境相对稳定,又不想轻易大改的情况。

仅改xformers版本,即使装坏了,不影响SD webui运行,只是xformers不起作用。

可在xformers官方repo里找老版本:

https://github.com/facebookresearch/xformers

总结

  • 安装最新SD webui前,备份旧版本。

  • 用其他优化方式替换xformers。

  • 高性能显卡无需xformers。


对实验编程会员,安装过程遇到的任何问题,都可以在情报中心进行答疑。

训练营3期火热进行中。