超简易高效的 AI绘图工具—与sd-webui一致界面,6G显存最高提升75%出图速率!(附安装包)

news2024/11/14 13:54:13

大家好,我是灵魂画师向阳

今天给大家分享一个基于Stable Diffusion WebUI 构建的AI绘图工具—sd-webui-forge,该工具的目标在于简化插件开发,优化资源管理,加速推理。

Forge承诺永远不会对Stable Diffusion WebUI用户界面添加不必要的改变,对于熟悉Stable Diffusion WebUI的同学,能够借助 WebUI经验,快速上手Forge的操作使用。

题外话:Forge作者一直活跃在AIGC绘图社区。先后开源了ControlNet、Foooucs社区优秀的开源软件,最近他又投入到Forge的开发,目标简化AIGC新手入门绘图门槛。


在分辨率为1024px图像质量下,Forge与原始WebUI在SDXL模型推理速率相比,可获得极大的性能加速提升:

  • 如果你使用常见的GPU,如8GB显存,推理速度(it/s)可以提高约30~45%,GPU内存峰值(在任务管理器中)降低约700MB到1.3GB,最大扩散分辨率(不会OOM)提高约2倍到3倍,最大扩散批量大小(不会OOM)提高约4倍到6倍

  • 如果你使用性能较低的GPU,如6GB显存,推理速度(it/s)可以提高约60~75%,GPU内存峰值(在任务管理器中)降低约800MB到1.5GB,最大扩散分辨率(不会OOM)提高约3倍,最大扩散批量大小(不会OOM)提高约4倍。

  • 如果你使用性能强大的GPU,如4090,带有24GB显存,推理速度(it/s)可以 提高约3~6%,GPU内存峰值(在任务管理器中)降低约1GB到1.4GB,最大扩散分辨率(不会OOM)提高约1.6倍,最大扩散批量大小(不会OOM)提高约2倍

  • 如果你使用ControlNet来进行SDXL推理,最大ControlNet数量(不会OOM)提高约2倍,SDXL+ControlNet的速度提高约30~45%。

除此之外,Forge还增加了一些高效的采样器,例如:DDPM、DDPM Karras、DPM++ 2M Turbo、DPM++ 2M SDE Turbo、LCM Karras、Euler A Turbo等。

sd-webui-forge安装

安装包安装

对于不熟悉git操作同学,则可以扫描免费获取一键安装包。下载完成安装包后,本地解压缩文件,然后使用update.bat更新,再使用./webui.bat运行,便可启动forge软件。

注意:一定要运行update.bat命令,这个很重要的,因为forge代码还在快速迭代开发中,确保及时更新最新代码和环境,否则可能会遇见一些未知的潜在bug版本。与sd-web-ui共享绘图模型的方式与git方案完全一致。

Git安装

如果是熟悉Git有一定开发经验的用户,可以使用git clone下载最新版forge源码本地安装.

环境安装:

git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git
cd ./stable-diffusion-webui-forge
# Linux
pip3 install torch torchvision torchaudio
# window
# pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt -U

与sd-web-ui共享模型,节约磁盘浪费。如果是window用户则修改webui-user.bat如下:

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=

@REM Uncomment following code to reference an existing A1111 checkout.
set A1111_HOME=[stable-diffusion-webui目录]

set VENV_DIR=%A1111_HOME%/venv
set COMMANDLINE_ARGS=%COMMANDLINE_ARGS% ^
  --ckpt-dir %A1111_HOME%/models/Stable-diffusion ^
  --hypernetwork-dir %A1111_HOME%/models/hypernetworks ^
  --embeddings-dir %A1111_HOME%/embeddings ^
  --lora-dir %A1111_HOME%/models/Lora

call webui.bat

当看见启动命令如下则设置共享成功:

Launching Web UI with arguments: --xformers --forge-ref-a1111-home=sd目录/ --ckpt-dir sd目录/models/Stable-diffusion --vae-dir sd目录/models/VAE --hypernetwork-dir sd目录/models/hypernetworks --embeddings-dir sd目录/embeddings --lora-dir /models/lora --controlnet-dir sd目录/models/ControlNet --controlnet-preprocessor-models-dir sd目录/extensions/sd-webui-controlnet/annotator/downloads

Forge启动

从启动界面可以看到,Forge的用户使用界面与sd-web-ui完美的保持WebUI不变。这对新手用户上手门槛降低了极大的门槛。在启动界面中,能够看见新增的SVD、Z123两个tab,这是前文说的Unet Patcher带来的新特性。

另外作者提到,Forge在保持了前端界面一致性,并承诺永远不增加任何不必要的改变。后端则移除了所有与资源管理相关的WebUI代码,并重新构建了后端的全部基础设施,是一个重大的重构过程。

Forge插件不会共享,和webui一样,使用extension安装或者手工从webui复制。

sd-webui-forge体验

在本地rtx4090 24G显存的Linux环境中,使用sd_xl_base_1.0模型绘图,能够看见对应性能提升。耗时3.2秒,平均7.18GB显存使用,最高峰8.46GB,系统使用率42.1%。相信对于其他低显存机器,有更显著的推理提升。

使用图像扩大算法R-ESRGAN 4x+,扩大2X体验。工具设置参数如下:

耗时18.1秒,平均13.6GB显存使用,最高峰17.72GB,系统使用率82.3%。

forge主要是对显存使用做了有效优化,对30系显卡提升比较明显,40系显卡提升空间不大。但是有一些新增插件支持会很好,比如:sd-forge-layerdiffusio,以及官方feature列表中的Playground v2.5支持也是期待的功能。

绘图体验

1girl, solo, portrait, dark hair, slicked back hair, simple background, shirt, parted lip, lips, expressionless

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

若有侵权,请联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1925717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

链接追踪系列-09.spring cloud项目整合elk显示业务日志

准备工作: 参看本系列之前篇:服务器安装elastic search 本机docker启动的kibana-tencent 使用本机安装的logstash。。。 本微服务实现的logstash配置如下: 使用腾讯云redis 启动本机mysql 启动本机docker 启动nacos,微服务依赖它作为…

rollup打包工具

rollup打包工具 在学习vite和vue3源码的时候,接触到了rollup,所以过来学习一下 什么是rollup rollup是一个模块化的打包工具,会将javascript文件进行合并。比起webpack,webpack在打包的时候会进行代码注入(保障兼容性)&#xf…

fortran简单排序算法,对一维、二维矩阵进行正序或倒序排序

fortran简单排序算法,对一维、二维矩阵进行正序或倒序排序 0. 引言1. 算法实现1.1 一维数组排序1.2 二维数组排序1.2 module文件 2. 结语 0. 引言 排序算法是计算机科学中的一项重要技术,它将一组数据按照特定的顺序排列起来。排序算法有很多种&#xff…

【云原生】Prometheus整合Alertmanager告警规则使用详解

目录 一、前言 二、Altermanager概述 2.1 什么是Altermanager 2.2 Altermanager使用场景 三、Altermanager架构与原理 3.1 Altermanager使用步骤 3.2 Altermanager工作机制 3.3 Altermanager在Prometheus中的位置 四、Altermanager部署与接入Prometheus 4.1 Altermana…

Codeforces Round 797 (Div. 3) F. Shifting String

感觉这种题写多了,第一眼就感觉是个图论,很经典的排列置换问题,首先连边,然后观察样例可以知道,大概是多个环的大小取lcm,但容易发现,环内部的循环节也对答案有影响,比如一个长度为4…

threadx 线程以及优先级调整案例

以正点原子stm32 f407板子为例子,如何创建工程 CubeMXCubeIDE在我之前的文章里提到了,这里我就不多重复。 有关线程优先级的两个参数 priority和preemption,我们来看看在官网是如何定义的 在main.c里面添加一个printf转串口的代码&#xff0…

Binder解析精炼

Binder原理解析精炼 1 注册服务 Server进程向binder驱动向Binder驱动发起服务注册请求 向Binder驱动申请创建一个XXXService的Binder的实体,Binder驱动为这个XXXService创建位于内核中的Binder实体节点以及Binder的引用 Binder驱动将注册请求转发给ServiceManager进…

Manim学习笔记05:实现向量的加法动画

以同一点 O𝑂 为起点的两个已知向量 →a𝑎→, →b𝑏→,以 OA𝑂𝐴,OB𝑂𝐵 为邻边作 □OACB◻𝑂𝐴𝐶𝐵&#xff…

Yolov8 姿态估计

原文:Yolov8 姿态估计 - 知乎 (zhihu.com) YOLOv8论文还没有,官方默默又加了新模型:姿态估计。 现在你可以用YOLOv8做目标检测、实例分割、图像分类、目标跟踪、姿态估计,未完待续。。。。。。 一、Yolov8姿态估计 Yolov8的姿态估计模型是在COCO数据集训练的,目前支持…

python+Selenium自动化之免登录(cookie及token)

目录 cookie免登录 通过接口获取cookie 启用浏览器绕过登录 添加token 使用登录可以减去每次登录的重复操作,直接操作系统登录后的菜单页面,也可以减少安全验证登录,如图像验证登录的操作。注意:cookie和token都有有效期。 c…

前端Vue组件化实践:打造自定义等宽tabs标签组件

在前端开发的世界里,随着业务复杂度的提升和需求的多样化,传统的整体式开发方式已经难以满足快速迭代和高效维护的需求。组件化开发作为一种重要的解决方案,正逐渐受到广大开发者的青睐。本文将结合Vue框架,探讨如何通过组件化开发…

如何在Linux上如何配置虚拟主机

在Linux上配置虚拟主机可以通过使用Apache HTTP服务器来实现。Apache是一个开源的跨平台的Web服务器软件,可以在多种操作系统上运行并支持虚拟主机的配置。 以下是在Linux上配置虚拟主机的步骤: 安装Apache HTTP服务器 在终端中运行以下命令来安装Apache…

CANoe:为什么两个VLAN接口不能设置同一个网络的IP地址呢?

经常玩CANoe的人应该配置过TCP/IP Stack中网络节点的网卡信息,基本的信息包含:MAC地址、IP地址、子网掩码、默认网关、MTU值、IPv6地址。 如果你想让发送出去的报文携带VLAN tag,可以在网卡上添加VLAN tag信息。 此时你就能得到两个新的网卡V…

加速数字化转型,信创自主可控:TapData 为银行业数据管理能力建设提供新思路

使用 TapData,化繁为简,摆脱手动搭建、维护数据管道的诸多烦扰,轻量代替 OGG、DSG 等同步工具,「CDC 流处理 数据集成」组合拳,加速仓内数据流转,帮助企业将真正具有业务价值的数据作用到实处,…

防火墙nat与智能选路

这里写目录标题 此实验是基于上个实验的基础上添加功能拓扑1办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换)首先在fw1防火墙创建电信和移动两个安全区域,并且将对应的接口划分进去配置nat测试 分公司设备可…

Java核心篇之JVM探秘:内存模型与管理初探

系列文章目录 第一章 Java核心篇之JVM探秘:内存模型与管理初探 第二章 Java核心篇之JVM探秘:对象创建与内存分配机制 第三章 Java核心篇之JVM探秘:垃圾回收算法与垃圾收集器 第四章 Java核心篇之JVM调优实战:Arthas工具使用及…

[web]-sql注入-白云搜索引擎

ctrlu查看源代码&#xff0c;发现前端有js过滤 <script>function myFunction(){var xdocument.getElementById("number").value;var adocument.getElementById("word").value;var ba.replace(/[\ |\~|\|\!|\|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\|\…

linux之find指令基础

目录 前言一、find .二、find xxx -name "*.c"三、组合查找文件名四、find . -type f五、find . -maxdepth 2 -type f六、find . -type f -perm 777七、find . -type f -name "*.txt" ! -perm 777八、借助-exec命令参考链接 前言 testfind下 check1.c ch…

【HTML入门】第十二课 - iframe框架

在早期没有出现Vue和React之前呢&#xff0c;做管理系统&#xff0c;iframe是非常普遍的技术。比如管理系统左侧有非常多的菜单&#xff0c;然后点击菜单后&#xff0c;右边就要展现不同的页面。 又或者呢&#xff0c;我们看一些网站&#xff0c;他们侧边展示着五彩绚烂的广告&…

在 PostgreSQL 里如何实现数据的实时监控和性能瓶颈的快速定位?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 在 PostgreSQL 里如何实现数据的实时监控和性能瓶颈的快速定位一、数据实时监控的重要性二、PostgreSQ…