问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

SD WebUI Forge安装教程:更快的生成速度,更低的显存占用

创作时间:
作者:
@小白创作中心

SD WebUI Forge安装教程:更快的生成速度,更低的显存占用

引用
CSDN
1.
https://blog.csdn.net/cxyxx12/article/details/142169517

SD WebUI Forge是SD WebUI的升级版本,主要改进了运行效率和图像生成速度,同时优化了插件生态系统和采样器支持。本文将详细介绍Forge的新特性、安装方法以及与原版WebUI的兼容性设置。

一、Forge 基础介绍

首先关于为什么取Forge这个名字:单词Forge有「锻造」的意思,根据作者解释,该词的灵感是来源于Minecraft Forge我的世界,而新开发的forge版本项目也是致力于在此前SD WebUI的基础上做进一步的精炼和提效。

1. 更快的生成速度

SD WebUI Forge确实做到了这一点,首先该版本最大的特点就是开发过程中极大的简化了代码逻辑,通过优化资源配置进一步加快推理速度,尤其对显存越小的玩家来说提升愈加明显。根据官方描述,相较于原版的SD WebUI,在使用SDXL模型生成1024分辨率的图片时可以直接带来以下性能提升:

此外,SDXL模型在配合使用ControlNet时,最多支持控制单元直接翻倍,生成速度也有提升30%~45%。

查看上面的效果对比可以发现,显存越小的硬件在使用SD WebUI Forge绘图时性能提升愈加明显,最高可达75%!也就是说不需要任何额外设置,Forge即可支持在4GB显存下运行SDXL以及在2GB显存下运行SD1.5。

2. 更优质的插件生态环境

Forge相较原版,另一个重要的变化是对资源管理方面的程序进行了优化,因此各类功能插件的适配范围大大提升,对插件开发者而言,不用再绞尽脑汁的对各类Bug做临时修复,消除不同扩展插件相互干扰的风险,像之前开启多个插件时容易发生的冲突报错问题也被大大缓解。

3. 支持更多的采样器

此外Forge里还在原版基础上添加了更多的采样器,包括但不限于DDPM、DDPM Karras、DPM++2M Turbo、DPM++2M SDE Turbo、LCM Karras、Euler a Turbo等,可以灵活选择升级的采样算法配合模型使用。

4. 预安装更多拓展插件

作者在新的Forge中为我们默认预装好了ControlNet、FreeU、SVD视频生成、Z123图生3D对象等功能拓展,像原版SD WebUI没有的Ip-adapter蒙版、controlnet蒙版、photomaker等功能在新的Forge中都得到了原生支持。

二、Win 安装方法

SD WebUI Forge的Win系统一键安装包已经准备好了,点击下载解压后我们可以看到以下几个文件,其中WebUI部分放在「webui」的文件夹内,使用方法和之前一样,对应模型、插件等也是安装在该文件夹内。

在第一次启用Forge时,一定要先双击启动「update.bat」程序,因为官方提供的安装包是刚发布的初代版本,存在早期的潜在报错风险,启用该程序可以帮我们自动更新至最新版。启动过程会比较漫长,除了下载各种配置文件外,耗时最久的事需要下载一个体积1.99G的CKPT模型「realisticVisionV51_v51VAE.safetensor」,期间如果网络条件不佳很容易中断,下次又要从头开始下载。

我这边已经为大家下载好该模型,强烈建议大家直接下载至本地,提前放在forge根目录下的「\webui\models\Stable-diffusion」文件夹内,「update.bat」程序运行时可直接跳过模型下载步骤,更新速度会快很多。

更新完成后会在浏览器中自动为我们打开新的SD WebUI Forge页面,可以看到和此前WebUI界面完全一样。在初次更新并正常运行,日后如果想再次启用,只需双击「run.bat」程序就能正常运行了。

三、如何与原版 WebUI 共享模型地址

这里还有一个比较困扰大家的问题,如果你的电脑上同时安装了原版的SD WebUI和新的Forge,如果每个模型都要从原版那里复制一遍未免太麻烦,且浪费很多硬盘空间,下面教大家如何在Forge中直接调用原版SD WebUI的相关模型。

打开SD Forge,我们选择进入「webui」文件夹,在其中找到「webui-user.bat」文件,右键选择使用文本编辑器打开,可以看到以下代码:

这里就是内置好的模型资源调用程序,我们如果想实现直接调用原SD WebUI的模型文件,需要做的是将对应文件夹地址粘贴至这里,但是可以看到这里支持的调用模型类型只有ckpt、hypernetwork、embeddings、lora这4种,而controlnet、gfpgan等一众其他模型文件并没有,所以建议大家直接使用下面我准备好的这串代码,可调用的模型文件会更加齐全。

@REM Uncomment following code to reference an existing A1111 checkout. 
set A1111_HOME=「你的原 SD WebUI 根目录路径」
set VENV_DIR=%A1111_HOME%/venv 
set COMMANDLINE_ARGS=%COMMANDLINE_ARGS% ^ 
--ckpt-dir %A1111_HOME%/models/Stable-diffusion ^ 
--vae-dir %A1111_HOME%/models/VAE ^ 
--lora-dir %A1111_HOME%/models/Lora ^ 
--embeddings-dir %A1111_HOME%/embeddings ^ 
--controlnet-dir %A1111_HOME%/extensions/sd-webui-controlnet ^ 
--gfpgan-models-path %A1111_HOME%/models/GFPGAN ^ 
--codeformer-models-path %A1111_HOME%/models/CodeFormer ^ 
--esrgan-models-path %A1111_HOME%/models/ESRGAN ^ 
--realesrgan-models-path %A1111_HOME%/models/RealESRGAN ^ 
--ldsr-models-path %A1111_HOME%/models/LDSR ^ 
--swinir-models-path %A1111_HOME%/models/SwinIR ^ 
--bsrgan-models-path %A1111_HOME%/models/ESRGAN ^ 
--scunet-models-path %A1111_HOME%/models/ScuNET 
call webui.bat  

下面演示下具体的操作步骤,我们找到原SD WebUI的文件夹,右键选择「复制文件地址」,比如我这里直接使用的是秋叶大佬整合包,所以对应文件夹就是整合包的文件地址。注意原SD WebUI文件夹地址尽量不要包含中文字符和空格,否则后面可能会出现无法识别的情况。

接着将复制的文件地址添加至前面给大家提供的这串代码中的「你的原 SD WebUI 根目录路径」位置,这里一定要记得将文件地址中的「\」替换为反斜杠「/」,否则是无法识别的。

然后将这一整串代码粘贴至SD Forge的「webui-user.bat」文件中,最终的文件内容如下图所示,记得要点击保存。

设置完成后,我们正常运行Forge可以看到,原版的SD WebUI中的模型文件都已经被Forge成功调用了,像ControlNet等控制网络模型也是可以正常使用的。

我在资源包里也为大家准备好了「webui-user.bat」文件,可以下载后替换掉Forge中的对应文件,然后将你本地的文件地址粘贴进去。此外,该方法不仅对Forge适用,像其他A1111(指的是Automatic1111,WebUI项目的原始开发者)的运行文件也同样有效。

四、对比测试效果

下面也给大家实际测试下在绘制相同质量图像情况下原版WebUI和Forge的显存占用对比,分别使用SD V1.5和SDXL模型来测试出图效果。

通过对比可以发现在同样图像数量和质量的情况下,Forge在生成速度上确实比原版SD WebUI更具优势,尤其在SDXL模型上优势会更加明显:显存占用更低,生成速度反而更快。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号