运行Stable Diffusion WebUI时出现“CUDA out of memory”错误,该怎么解决?

遇到“CUDA out of memory”错误,说明显卡显存(VRAM)不足以处理当前的生成任务。你可以通过以下方法尝试解决,建议按顺序尝试

1. 立即降低显存占用(最有效)

  • 减小图像尺寸:将生成分辨率(如512x512)降低,或使用更小的长宽比例。
  • 减小批处理数量:在WebUI设置中,将“Batch size”和“Batch count”均设为1
  • 使用--medvram--lowvram参数:在启动WebUI的命令行中添加这些参数(适用于Nvidia显卡)。
    • --medvram:为中等显存显卡(如6-8GB)优化。
    • --lowvram:为低显存显卡(如4GB)优化,但会显著降低生成速度。

2. 优化WebUI设置

  • 在Settings > Stable Diffusion界面中:
    • 勾选“Enable quantization in K samplers”(降低采样器精度)。
    • 勾选“Always discard weights to VRAM”(及时释放权重)。
  • 在Settings > System > Cross attention优化中,尝试选择“xFormers”(需已安装)或“scaled-dot-product”以提升效率。

3. 调整生成参数

  • 降低采样步数(如从50步降至20-30步)。
  • 避免使用过高分辨率的LoRA或Embedding模型。
  • 生成高分辨率图片时,使用高清修复(Hires. fix) 的分步放大功能,而非直接生成大图。

4. 关闭其他占用显存的程序

  • 确保没有其他游戏、深度学习任务或视频剪辑软件在后台运行。

5. 使用CPU卸载或模型优化

  • 添加启动参数--cpu可将部分模型加载到系统内存,但速度会变慢。
  • 考虑将模型转换为更节省显存的格式(如使用.safetensors格式的模型)。

6. 终极方案(硬件或替代方案)

  • 升级显卡(显存≥8GB会更稳定)。
  • 使用在线GPU租赁服务(如Google Colab、AutoDL)。
  • 尝试本地优化的衍生版本(如Stable Diffusion WebUI Forge分支,显存管理更高效)。

操作建议:先从第1步开始,逐步尝试至第3步,通常可解决大部分中低端显卡的显存问题。如果仍无法解决,可结合日志文件(命令行窗口)中的显存占用数据进一步排查模型或扩展插件的兼容性问题。

所有内容均由人工智能模型生成,其生成内容的准确性和完整性无法保证,不代表我们的态度或观点。

评论 (0)