如何优化Stable Diffusion WebUI以提高性能和内存利用率

在使用Stable Diffusion WebUI生成图像时,你可能会遇到性能不佳或内存占用过高的问题。本教程将介绍一些命令行参数和优化选项,以帮助你提高性能,同时降低内存使用。

优化选项总览

以下是一些可用的优化选项和它们的说明:

命令行参数/优化选项 说明
--opt-sdp-attention 在某些系统上可能提高速度,但需要更多VRAM。
--opt-sdp-no-mem-attention 与上一个选项类似,但更可靠,性能稍差。
--xformers 启用xFormers库,显著降低内存消耗和提高速度,仅支持Nvidia GPU。
--force-enable-xformers 强制启用xFormers,不考虑系统支持情况,潜在不稳定。
--opt-split-attention 交叉注意力层优化,显著减少内存使用,几乎没有性能损失。
--disable-opt-split-attention 禁用上述优化。
--opt-sub-quad-attention 子二次注意力,内存高效的交叉注意力层优化,可显著降低内存使用。
--opt-split-attention-v1 使用较旧版本的交叉注意力优化,内存占用较低,但对生成较大图像有限制。
--medvram 减少Stable Diffusion模型的VRAM使用,性能略有下降,适用于节省VRAM。
--lowvram 更彻底的优化,分割unet模块以降低VRAM占用,性能显著下降,但节省内存。
--do-not-batch-cond-uncond 禁止批处理正面和负面提示,节省内存,性能下降(仅1.6.0之前版本)。
--always-batch-cond-uncond 禁用上述优化(仅1.6.0之前版本)。
--opt-channelslast 更改Stable Diffusion的内存类型,效果未详细研究。
--upcast-sampling 对通常需要--no-half参数的Nvidia和AMD卡启用,提高生成速度。

优化性能与内存占用测试

下表展示了不同优化选项在特定硬件和配置下的性能和内存占用情况。请注意,实际性能可能因硬件和配置而异。

优化选项 内存占用(批量大小1/2/4/8/16) 初始迭代速度 峰值迭代速度 备注
None 4.1 / 6.2 / OOM / OOM / OOM 4.2 4.6 性能较慢,容易内存不足
v1 2.8 / 2.8 / 2.8 / 3.1 / 4.1 4.1 4.7 性能较慢,内存占用最低,不需要xFormers
InvokeAI 3.1 / 4.2 / 6.3 / 6.6 / 7.0 5.5 6.6 与默认优化器几乎相同
Doggetx (默认) 3.1 / 4.2 / 6.3 / 6.6 / 7.1 5.4 6.6 默认优化器
Doggetx (medvram) 2.2 / 2.7 / 3.8 / 5.9 / 6.2 4.1 6.3 使用medvram预设可节省内存但性能尚可
Doggetx (lowvram) 0.9 / 1.1 / 2.2 / 4.3 / 6.4 1.0 6.3 使用lowvram预设性能极低,但内存节省较多
xFormers 2.8 / 2.8 / 2.8 / 3.1 / 4.1 6.5 7.5 性能快,内存占用低(需要启用xFormers)
xFormers (channelslast) 2.9 / 2.9 / 2.9 / 3.6 / 4.1 6.4 7.6 使用cuda_alloc_conf和opt-channelslast

请注意,性能在批量大小为1时约为峰值性能的70%左右,峰值性能通常在批量大小为8左右。性能在较大批量大小下可能会有所提高,但也可能因内存占用增加而下降。

额外优化提示(Windows)

  • 禁用硬件GPU调度。
  • 禁用浏览器硬件加速。
  • 在Nvidia控制面板中,将电源配置更改为“最大性能”。

结论

通过选择合适的优化选项,你可以在Stable Diffusion WebUI中提高性能并降低内存占用。请根据你的硬件和需求进行测试和优化,以获得最佳结果。

注意:本教程中的性能数据基于特定硬件和配置,实际结果可能会有所不同。请根据你的系统进行优化和测试。

声明:本站所有文章,如无特殊说明或标注,均为本站(王大神)原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
指数词

如何使用Stable Diffusion WebUI的API生成图像

2023-9-13 1:31:32

指数词

如何设置命令行参数和环境变量来优化stable diffusion webui

2023-9-13 1:40:51

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索