xFormers可显著提升Stable Diffusion显存利用率与生成速度,需严格匹配Python(3.10.x/3.11.x)、CUDA及PyTorch版本;安装预编译wheel后,在webui-user.bat中添加--xformers参数并验证日志输出即可生效。

在Windows系统中为Stable Diffusion配置xFormers可显著提升显存利用率与生成速度,尤其对RTX 30系及更新显卡(如RTX 4090、4080)效果明显,但需严格匹配CUDA、PyTorch和xFormers三者版本,否则会报错或无法加载。
确认环境前提条件
打开命令提示符(CMD)或 PowerShell,依次执行以下检查:
输入 python --version 确认 Python 版本为 【3.10.x 或 3.11.x】(xFormers 不支持 Python 3.12+);
输入 nvidia-smi 查看 CUDA 版本(右上角“CUDA Version: x.y”),记下该数字(例如 12.1);
进入 Stable Diffusion WebUI 根目录(如 D:\sd-webui),运行 .\venv\Scripts\python.exe -c "import torch; print(torch.__version__, torch.version.cuda)",确认当前 PyTorch 已编译为对应 CUDA 版本(如 2.3.1+cu121);
若 CUDA 版本不一致(比如系统显示 12.4,而 PyTorch 是 cu121),必须重装匹配的 PyTorch,否则 xFormers 编译或加载必然失败。
安装预编译版xFormers(推荐)
这是最稳妥的方式,避免本地编译失败。访问官方 GitHub Release 页面:https://github.com/facebookresearch/xformers/releases;
找到最新 release(如 v0.0.27),向下滚动至 Assets 区域,筛选符合你环境的 wheel 文件:命名格式为 xformers-0.0.27+cu121...cp311-cp311-win_amd64.whl——其中 【cu121 必须与你 PyTorch 的 CUDA 版本一致,cp311 表示 Python 3.11】;
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
下载对应 wheel 文件后,在 WebUI 根目录打开 CMD,执行:.\venv\Scripts\pip install D:\Downloads\xformers-0.0.27+cu121...win_amd64.whl;
安装完成后,启动 WebUI 前,在 webui-user.bat 的 set COMMANDLINE_ARGS= 行末尾添加 --xformers(注意前面加空格),例如:set COMMANDLINE_ARGS=--xformers --medvram。
启用并验证xFormers生效
启动 WebUI(双击 webui-user.bat),等待控制台日志滚动;
观察启动过程中的输出,出现类似 "Using xformers cross attention" 或 "xformers version: 0.0.27" 字样即表示加载成功;
若出现 "xformers not available" 或 "No module named 'xformers'",说明 wheel 版本不匹配或未安装到正确虚拟环境;
生成一张图(如 512×512,20 steps),对比开启/关闭 --xformers 时的 VRAM 占用(任务管理器→性能→GPU→显存),通常可降低 0.8–1.5GB,且单步耗时缩短 15%–30%。










