首页 > Ai资讯 > Ai知识库 > Stable Diffusion 加速/优化/升级 优化出图速度

Stable Diffusion 加速/优化/升级 优化出图速度

发布时间:2024年06月06日

1.

秋叶整合版优化

1.

整合包升级方式

升级整合包有3种方式,花费时间递增。

1.

手动升级,启动器会自动更新,但是WebUI主版本必须手动切换!建议紧跟稳定版。

2.

覆盖升级,直接解压覆盖原始目录,下载最新版整合包,

3.

重新解压配置,解压到新文件夹,复制原SDmodelsoutputsembeddingsextensions文件夹到新目录,配置SD参数。

关闭模型哈希计算

关闭可节省启动时间,但会导致页面内与图片生成数据中无法正常显示模型哈希信息,适用于低速硬盘。

普通机械硬盘建议关闭,固态硬盘可以开启,不影响出图。

2.显存优化

不报错的情况下建议开启半精度优化,遇到报错建议关闭。

3.切换到最新稳定版

整合包会自动升级启动器,但是webui的主程序版本需要手动切换。

一般来说WebUI的主程序建议用最新的稳定版,出问题也能随时降级。

秋叶版内置加速,不需要魔法即可升级,启动器升级和主程序更新都是访问gitcode.net,内容和github同步。

4.半精度优化

常见报错信息:

modules.devices.NansException: A tensor
with all NaNs was produced in VAE. This could be because there's not enough
precision to represent the picture. Try adding --no-half-vae commandline
argument to fix this. Use --disable-nan-check commandline argument to disable
this check.

精度不足,SD-WebUl 检测到 VAE 模型在运算中产生了无效数据(黑图)。请前往高级设置-计算精度设置处关团“VAE
半精度优化”选项以解决此问题

这个半精度优化报错会中断出图进程,重开就能跑,但是未来还会报错,关闭以后永久不会出现问题。

或者启动文件Webui-user.bat打开,如图添加no-half--no-half-vae --disable-nan-check

5.调整Lora卡片到缩略图

配置 Lora 卡片/缩略 视图,参考:Stable Diffusion 绘图从入门到精通

6.SD图片保存命名规则

SD默认保存的图片名称太长,怎么解决?

推荐保存文件名样式

序号+种子:[seed]

序号+种子+模型名:[seed]-[model_name]

按图配置,序号会自动添加在文件名前缀。

命名规则参考:官方介绍WIKI

7.启用API搭配第三方工具

2.SD专属优化

根据Pytorch 官方最近的说法,2.1版本的 Pytorch 要比上一个版本运行快40%~60Pytorch2.1 还自带了优化指令,比第三方的 Xformers 还要快。

升级到 Pytorch2.1 之后,就不再需要另外安装 Xformers 显存优化库了。

在所有参数相同的情况下,三者的对比情况如下:

Pytorch1.13.1 + CUDA117 + Xformers 版本,运行平均值大约 = 2.07 it/s,出图时间 = 24s

Pytorch2.1+CUDA118 新版本,运行平均值大约 = 3.09 it/s,出图时间 = 14s

Pytorch2.1+CUDA118-opt-sdp),运行最高峰值可达
5.28 it/s
,出图时间 = 11s

1.升级PyTorch 2.0

升级环境,跑图加速,高配显卡推荐Torch2

1.打开启动器——高级选项

2.环境维护

3.选择版本——安装

4.提示安装完成

可以根据需要任意切换环境/版本

2.SDP优化方案

Pytorch2.1 提供了两个优化指令代码,说明如下:

--opt-sdp-attention

——速度比使用 xformer 更快,属于非确定性优化,不能百分之百复现原图。

--opt-sdp-no-mem-attention

——速度比使用 xformer 更快,略慢于
--opt-sdp-attention,属于确定性优化,可以精确复现原图。

二选一添加以上命令,建议使用--opt-sdp-no-mem-attention(秋叶版配置参考图片),此时Stable Diffusion 的运行速度在PyTorch2.0基础上还可以再增加20%+

3.启用 Token Merging Ratio

SD WebUI中,进入设置——优化设置——将Token合并比率设置为0.2-0.5之间。

设置的比率越高,细节就会丢失越多,设置0.6或以上出图速度更快,但是会降低图像细节。

论文作者表示,可以将 Token Merging Ratio 设置为30%,这样,既能获得运算加速,又能避免细节丢失

经过实测,Token
Merging Ratio
设置为30%时,系统依然能够获得15~25%的加速提成。

4.安装TensorRT的扩展

🔗 链接:https://github.com/AUTOMATIC1111/stable-diffusion-webui-tensorrt

大本营点评:未实际测试,号称提升200%,仅做记录和推荐。

在实际使用时,需要一次性将基础模型(如果用到lora,需要一同加载)转化为ONNX模型,然后在生成图片时选择ONNX模型,并选择Tensorrt方式(不需要指定lora)

优点:出图快!非常快!

缺点:ONNX模型生成需要点时间,每种Lora与基模的组合,需要单独生成ONNX模型!

适合:应用场景相对固定的创作者--可快速大批量产出同样风格的创意。

3.系统优化

注意:优化结果以出图速度为准,需要自行测试是否有提升。

1.关闭GPU硬件加速

在系统——图形设置中关闭 "硬件加速GPU计划"

2.显卡驱动

更新驱动程序最新版本

NVIDIA官方驱动

https://www.nvidia.cn/Download/index.aspx?lang=cn

3.电源模式

适合台式和笔记本,注意会增加笔记本耗电。

1.Nvidia控制面板中改变电源模式,右击桌面>选择Nvidia控制面板>选择管理3D设置>选择电源管理模式>选择首选最大性能

2.将计算机电源设置模式改为最佳性能。

4.关掉HDR

桌面右键 > 选择显示设置 > 关闭HDR

如果启用了宽色域(WCG),也要关闭。使用系统推荐的分辨率。

5.优化系统服务

打开控制面板——管理工具——服务——关闭/暂停不需要的服务

4.插件安装

1.

仅推荐必备插件,更多插件查看群内飞书分享:Stable
Diffusion
常用插件&脚本 大合集

秋叶版默认插件

双语对照翻译插件:bilingual-localization

🔗 链接:https://github.com/journey-ad/sd-webui-bilingual-localization

自动修脸//人物:adetailer

🔗 链接:https://github.com/Bing-su/adetailer

C站助手:Civitai-Helper

Stable-Diffusion-Webui-Civitai-Helper

🔗 链接:https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper

提示词神器:prompt-all-in-one

https://github.com/Physton/sd-webui-prompt-all-in-one

动态提示词 Dynamic Prompts

https://github.com/adieyal/sd-dynamic-prompts

终极放大:ultimate-upscale

https://github.com/Coyote-A/ultimate-upscale-for-automatic1111

分区域绘制提示器:sd-webui-regional-prompter

https://github.com/hako-mikan/sd-webui-regional-prompter

放大插件:Ultimate SD Upscale

Coyote-A/ultimate-upscale-for-automatic1111

https://github.com/Coyote-A/ultimate-upscale-for-automatic1111

一键提示词:One Button Prompt

AIrjen/OneButtonPrompt: One Button Prompt

https://github.com/AIrjen/OneButtonPrompt

系统信息面板:System Info

vladmandic/sd-extension-system-info:
System Info Extension for SD WebUI

https://github.com/vladmandic/sd-extension-system-info

状态保存器 webui-state

ilian6806/stable-diffusion-webui-state:
Stable Diffusion extension that preserves ui state

https://github.com/ilian6806/stable-diffusion-webui-state

Capabilities

Preserve
web UI parameters (inputs, sliders, checkboxes etc.) after page reload.
在页面重新加载后保留 Web UI 参数(输入、滑块、复选框等)。

It
can be extended to preserve basically everything in the UI.
它可以扩展为基本上保留 UI 中的所有内容。

Import
/ Export and Reset state options
导入/导出和重置状态选项

Supported
extensions:  
支持的扩展:

Control
Net

5.常见报错与解决

更多内容请搜索本网站

6.版本对照

WebUI界面底部能看到版本和环境信息

旧版本

version: v1.3.2 •  python: 3.10.8  •  torch: 2.0.1+cu118  •  xformers: N/A  •  gradio: 3.32.0  •  checkpoint:

新版本

version: v1.4.0 •  python: 3.10.11  •  torch: 2.0.1+cu118  •  xformers: N/A  •  gradio: 3.32.0  •  checkpoint:

出自:https://mp.weixin.qq.com/s/80OnCB_nHQZp769VFv8ikg