环境配置与避坑)
1. 环境准备双显卡部署前的必修课第一次玩Stable Diffusion时我在显卡兼容性上栽了大跟头。当时用的是一台NVIDIA RTX 3060 AMD RX 6700XT的双显卡笔记本结果默认配置下WebUI死活识别不出NVIDIA显卡。后来才发现Windows系统对多显卡的支持有自己的一套规则需要特别注意以下几点硬件要求清单显存最低配置NVIDIA显卡建议4GB以上实测6GB才能流畅跑768x768分辨率AMD显卡用户注意需要DirectML版本后面会详细说明内存建议16GB起步32GB更稳妥加载大模型时很吃内存注意如果系统同时存在核显和独显务必在NVIDIA控制面板/显卡设置中将Python.exe和WebUI进程指定为高性能显卡运行我强烈推荐使用Python 3.10.6这个特定版本原因有两个一是Torch官方对该版本支持最稳定二是社区测试发现3.11版本容易出依赖冲突。安装时记得勾选Add Python to PATH选项否则后面会报找不到python命令的错误。# 验证Python安装成功的命令 python --version # 应该显示 Python 3.10.62. 双显卡专属安装方案2.1 NVIDIA显卡的完整配置流程对于NVIDIA用户最省心的方案是直接克隆AUTOMATIC1111的官方仓库。但这里有个隐藏技巧如果同时存在核显和独显需要先禁用核显驱动否则WebUI可能错误调用Intel显卡。git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui cd stable-diffusion-webui安装完成后强烈建议修改webui-user.bat文件添加以下参数来规避常见问题set COMMANDLINE_ARGS--opt-split-attention --no-half-vae --disable-nan-check这三个参数分别解决显存优化、VAE模型精度问题和NaN报错。我在三台不同配置的NVIDIA设备上测试这套组合最稳定。2.2 AMD显卡的特殊处理AMD用户要走DirectML分支这里有个坑要注意不要直接用git clone要先初始化主仓库再更新子模块git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml cd stable-diffusion-webui-directml git submodule init git submodule update实测发现AMD显卡在Windows下需要额外配置两个环境变量set PYTORCH_DIRECTML1 set PYTORCH_NO_CUDA1这两个变量强制PyTorch使用DirectML后端避免误调CUDA导致崩溃。我的RX 6800XT经过这样配置后生成512x512图像速度从3it/s提升到了8it/s。3. 首次启动的避坑指南第一次运行webui-user.bat时90%的问题都出在依赖下载环节。这里分享几个实测有效的加速方法替换pip源在venv激活前修改pip.ini[global] index-url https://mirrors.aliyun.com/pypi/simple/手动安装Torchpip install torch1.13.1cu117 --extra-index-url https://download.pytorch.org/whl/cu117解决卡在Installing requirements 删除venv文件夹后先单独安装requirements.txt中的包pip install -r requirements.txt --prefer-binary启动成功后如果遇到页面空白可能是端口冲突。试试加上--port参数set COMMANDLINE_ARGS--port 78654. 性能优化实战技巧4.1 低显存配置方案我的旧笔记本只有4GB显存通过以下组合成功运行set COMMANDLINE_ARGS--medvram --opt-split-attention --always-batch-cond-uncond具体效果512x512分辨率显存占用从5.2GB降到3.8GB生成速度从1.2it/s降到0.8it/s可接受4.2 双显卡协同工作方案经过两周测试我发现最稳定的双显卡用法是在BIOS中禁用核显使用NVIDIA显卡运行WebUI通过--device-id参数指定主显卡set COMMANDLINE_ARGS--device-id0如果要同时利用两张显卡可以试试这个方案# 在webui.py中修改 os.environ[CUDA_VISIBLE_DEVICES]0,1不过实测下来双显卡并行效率提升有限约30%反而容易引发显存错误。建议新手还是单卡运行更稳定。5. 模型管理与扩展安装模型存放位置有讲究建议这样组织目录结构stable-diffusion-webui ├── models │ ├── Stable-diffusion # 主模型 │ ├── Lora # LoRA模型 │ ├── ESRGAN # 超分模型 │ └── VAEs # VAE模型安装扩展时如果遇到SSL错误可以临时关闭验证set COMMANDLINE_ARGS--no-gradio-queue --skip-version-check --no-hashing中文用户推荐安装这两个扩展# 中文语言包 git clone https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN extensions/localization # 模型管理插件 git clone https://github.com/kohya-ss/sd-webui-additional-networks extensions/additional-networks最后提醒一个关键点每次更新WebUI前先备份models和outputs目录。我有次更新后所有模型索引丢失幸亏有备份。现在我的自动化备份脚本是这样的# 每天凌晨3点自动备份 $action { Compress-Archive -Path .\models,.\outputs -DestinationPath .\backup\sd_backup_$(Get-Date -Format yyyyMMdd).zip } Register-ScheduledTask -TaskName SD Backup -Trigger (New-ScheduledTaskTrigger -Daily -At 3am) -Action (New-ScheduledTaskAction -Execute PowerShell -Argument -Command $action)