当前位置: 首页 > news >正文

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

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

今天给大家分享一个基于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 offset 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/Loracall 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视频教程合集

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

在这里插入图片描述

五、实战案例

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

若有侵权,请联系删除

相关文章:

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

大家好,我是灵魂画师向阳 今天给大家分享一个基于Stable Diffusion WebUI 构建的AI绘图工具—sd-webui-forge,该工具的目标在于简化插件开发,优化资源管理,加速推理。 Forge承诺永远不会对Stable Diffusion WebUI用户界面添加不…...

ArduPilot开源代码之OpticalFlow_backend

ArduPilot开源代码之OpticalFlow_backend 1. 源由2. Library设计3. 重要例程3.1 OpticalFlow_backend::_update_frontend3.2 OpticalFlow_backend::_applyYaw 4. 总结5. 参考资料 1. 源由 光流计是一种低成本定位传感器,所有的光流计设备传感驱动代码抽象公共部分统…...

设计模式探索:适配器模式

1. 适配器模式介绍 1.1 适配器模式介绍 适配器模式(adapter pattern)的原始定义是:将一个类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。 适配器模式的主要作用是把原本不兼容的接口&#xff0c…...

OpenCV 寻找棋盘格角点及绘制

目录 一、概念 二、代码 2.1实现步骤 2.2完整代码 三、实现效果 一、概念 寻找棋盘格角点(Checkerboard Corners)是计算机视觉中相机标定(Camera Calibration)过程的重要步骤。 OpenCV 提供了函数 cv2.findChessboardCorners…...

【深度学习】PyTorch深度学习笔记02-线性模型

1. 监督学习 2. 数据集的划分 3. 平均平方误差MSE 4. 线性模型Linear Model - y x * w 用穷举法确定线性模型的参数 import numpy as np import matplotlib.pyplot as pltx_data [1.0, 2.0, 3.0] y_data [2.0, 4.0, 6.0]def forward(x):return x * wdef loss(x, y):y_pred…...

10.FreeRTOS_互斥量

互斥量概述 在博文“ FreeRTOS_信号量 ”中,使用了二进制信号量实现了互斥,保护了串口资源。博文链接如下: FreeRTOS_信号量-CSDN博客 但还是要引入互斥量的概念。互斥量与二进制信号量相比,能够多实现如下两个功能&#xff1a…...

EtherCAT总线冗余让制造更安全更可靠更智能

冗余定义 什么是总线冗余功能?我们都知道,EtherCAT现场总线具有灵活的拓扑结构,设备间支持线型、星型、树型的连接方式,其中线型结构简单、传输效率高,大多数的现场应用中也是使用这种连接方式,如下图所示…...

Android IdleHandler源码分析

文章目录 Android IdleHandler源码分析概述前提基本用法源码分析添加和删除任务执行任务 应用场景 Android IdleHandler源码分析 概述 IdleHandler是一个接口,它定义在MessageQueue类中,用于在主线程的消息队列空闲时执行一些轻量级的任务。IdleHandle…...

Mac安装stable diffusion 工具

文章目录 1.安装 Homebrew2.安装 stable diffusion webui 的依赖3.下载 stable diffusion webui 代码4.启动 stable diffusion webui 本体5.下载模型6.这里可能会遇到一个clip-vit-large-patch14报错 参考:https://brew.idayer.com/install/stable-diffusion-webui/…...

CVE-2024-6387Open SSH漏洞彻底解决举措(含踩坑内容)

一、漏洞名称 OpenSSH 远程代码执行漏洞(CVE-2024-6387) 二、漏洞概述 Open SSH是基于SSH协议的安全网络通信工具,广泛应用于远程服务器管理、加密文件传输、端口转发、远程控制等多个领域。近日被爆出存在一个远程代码执行漏洞,由于Open SSH服务器端…...

python的简单爬取

需要的第三方模块 requests winr打开命令行输入cmd 简单爬取的基本格式(爬取百度logo为例) import requests url"http://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" resprequests.get(url)#回应 #保存到本地 with open(&…...

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第60集-agent训练资讯APP重点推荐AI资讯内容(含视频)

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第60集-agent训练资讯APP重点推荐AI资讯内容(含视频) 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。d…...

【学术会议征稿】第三届智能电网与能源系统国际学术会议

第三届智能电网与能源系统国际学术会议 2024 3rd International Conference on Smart Grid and Energy Systems 第三届智能电网与能源系统国际学术会议(SGES 2024)将于2024年10月25日-27日在郑州召开。 智能电网可以优化能源布局,让现有能源…...

01. 课程简介

1. 课程简介 本课程的核心内容可以分为三个部分,分别是需要理解记忆的计算机底层基础,后端通用组件以及需要不断编码练习的数据结构和算法。 计算机底层基础可以包含计算机网络、操作系统、编译原理、计算机组成原理,后两者在面试中出现的频…...

iOS热门面试题(三)

面试题1:在iOS开发中,什么是MVC设计模式?请详细解释其各个组成部分,并给出一个实际应用场景,包括具体的代码实现。 答案: MVC设计模式是一种在软件开发中广泛使用的架构模式,特别是在iOS开发中…...

ECS中postTransform.Value = float4x4.Scale(1, math.sin(elapsedTime), 1)

在Unity的ECS(Entity Component System)架构中,postTransform.Value float4x4.Scale(1, math.sin(elapsedTime), 1); 用于设置一个变换矩阵的缩放部分。下面是对这行代码的详细解释: postTransform: 这是一个表示变换的组件或结构…...

VLM技术介绍

1、背景 视觉语言模型(Visual Language Models)是可以同时从图像和文本中学习以处理许多任务的模型,从视觉问答到图像字幕。 视觉识别(如图像分类、物体保护和语义分割)是计算机视觉研究中一个长期存在的难题&#xff…...

x264 编码器 AArch64 汇编函数模块关系分析

x264 编码器 AArch64 汇编介绍 x264 是一个流行的开源视频编码器,它实现了 H.264/MPEG-4 AVC 标准。x264 项目致力于提供一个高性能、高质量的编码器,支持多种平台和架构。对于 AArch64(即 64 位 ARM 架构),x264 编码器利用该架构的特性来优化编码过程。在 x264 编码器中,…...

windows10开启防火墙,增加入站规则后不生效,还是不能访问后端程序

一、背景: 公司护网要求开启防火墙,开启防火墙后,前后端分离的项目调试受影响,于是增加入站规则开放固定的后台服务端口,增加的mysql端口3306和redis端口6379,别人都可以访问,但是程序的端口808…...

academic-homepage:快速搭建个人学术主页,页面内容包括个人简介、教育经历、发布过的学术列表等,同时页面布局兼容移动端。

今天给大家分享GitHub 上一个开源的 GitHub Pages 模板 academic-homepage。 可帮助你快速搭建个人学术主页,页面内容包括个人简介、教育经历、发布过的学术列表等最基本内容,同时页面布局兼容移动端。 相关链接 github.com/luost26/academic-homepage …...

接口测试中缓存处理策略

在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

day52 ResNet18 CBAM

在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...