Stable-Diffusion-WebUI 搭建使用教程-程序员宅基地

技术标签: stable diffusion  AI  

Stable-Diffusion-Webui 是一个基于Gradio库的Stable Diffusion的浏览器界面,可以说是AI绘画集合体,支持目前主流的开源AI绘画模型,例如 NovelAi/Stable Diffusion,有了它,我们就可以很方便地配置和生成AI绘画作品,并且进行各种精细地配置。

一、搭建指南

1、安装Python 3.10.6和git

2、下载stable-diffusion-webui源码

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

3、将模型文件放在项目根目录下的models/Stable-diffusion文件夹里

4、运行 webui-user.bat 启动

5、在浏览器中输入 http://127.0.0.1:7860 打开SD页面

launch.py可自动运行模型,运行时可以使用一些命令参数,比如:

python launch.py --opt-split-attention --ckpt model.ckpt

命令行参数和优化:

命令行参数 解释
--share online运行,也就是public address
--listen 使服务器侦听网络连接。这将允许本地网络上的计算机访问UI。
--port 更改端口,默认为端口7860。
--xformers 使用xformers库。极大地改善了内存消耗和速度。Windows 版本安装由C43H66N12O12S2 维护的二进制文件
--force-enable-xformers 无论程序是否认为您可以运行它,都启用 xformers。不要报告你运行它的错误。
--opt-split-attention Cross attention layer optimization 优化显着减少了内存使用,几乎没有成本(一些报告改进了性能)。黑魔法。默认情况下torch.cuda,包括 NVidia 和 AMD 卡。
--disable-opt-split-attention 禁用上面的优化
--opt-split-attention-v1 使用上述优化的旧版本,它不会占用大量内存(它将使用更少的 VRAM,但会限制您可以制作的最大图片大小)。
--medvram 通过将稳定扩散模型分为三部分,使其消耗更少的VRAM,即cond(用于将文本转换为数字表示)、first_stage(用于将图片转换为潜在空间并返回)和unet(用于潜在空间的实际去噪),并使其始终只有一个在VRAM中,将其他部分发送到CPU RAM。降低性能,但只会降低一点-除非启用实时预览。
--lowvram 对上面更彻底的优化,将 unet 拆分成多个模块,VRAM 中只保留一个模块,破坏性能
*do-not-batch-cond-uncond 防止在采样过程中对正面和负面提示进行批处理,这基本上可以让您以 0.5 批量大小运行,从而节省大量内存。降低性能。不是命令行选项,而是使用–medvramor 隐式启用的优化–lowvram。
--always-batch-cond-uncond 禁用上述优化。只有与–medvram或–lowvram一起使用才有意义
--opt-channelslast 更改 torch 内存类型,以稳定扩散到最后一个通道,效果没有仔细研究。

完整的命令行参数详见:

Command Line Arguments and Settings · AUTOMATIC1111/stable-diffusion-webui Wiki · GitHubStable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings

二、主要功能

WebUI分为以下几个模块:

  • txt2img --- 标准的文字生成图像
  • img2img --- 根据图像成文范本、结合文字生成图像
  • Extras --- 优化(清晰、扩展)图像
  • PNG Info --- 图像基本信息
  • Checkpoint Merger --- 模型合并
  • Train --- 训练模型
  • Settings --- 默认参数修改

txt2img(文转图)

prompt:对于图像进行描述,有内容风格等信息进行描述。

Negative prompt:提供给模型我不想要什么样的风格

Sampling Steps:diffusion model 生成图片的迭代步数,每多一次迭代都会给 AI 更多的机会去比对 prompt 和当前结果,去调整图片。更高的步数需要花费更多的计算时间,但不一定意味着更好的结果。当然迭代步数不足(少于 50)肯定会降低结果的图像质量;

Sampling method:扩散去噪算法的采样模式,不同的采样模式会带来不一样的效果

Width、Height:图像长宽,可以通过send to extras 进行扩大,所以这里不建议设置太大[显存小的特别注意];

Restore faces:优化面部,绘制面部图像特别注意

Tiling:生成一个可以平铺的图像

Highres.fix:高清修复,使用两个步骤的过程进行生成,以较小的分辨率创建图像,然后在不改变构图的情况下改进其中的细节,选择该部分会有两个新的参数 Scale、latent 在潜空间中对图像进行缩放。另一种方法是从潜在的表象中产生完整的图像,将其升级,然后将其移回潜在的空间。Denoising strength 决定算法对图像内容的保留程度。为0时,什么都不会改变,而为1时,你会得到一个不相关的图像;

Batch count、 Batch size:都是生成几张图,前者计算时间长,后者需要显存大;

CFG Scale:分类器自由引导尺度——图像与提示符的一致程度——越低的值产生越有创意的结果;

Seed:种子,只要种子值一样,参数一致、模型一样图像就能重新

img2img(图转图)

Just resize、 Crop and resize、 Resize and fill:这三种模式保证图输出效果,因为下面会有新的尺寸,分别表示只需调整大小、裁剪和调整大小、调整大小和填充。

Denoising strength:与原图一致性的程度,一般大于0.7出来的都是新效果,小于0.3基本就会原图缝缝补补;

Extras(更多)

对图片进行优化缩放

GFPGAN visibility:对图像清晰度进行优化

常用的Highres.fix(高清放大)算法:

  • Latent:是一种基于 VAE 模型的图像增强算法,通过将原始图像编码成潜在向量,并对其进行随机采样和重构,从而增强图像的质量、对比度和清晰度。一般情况下,这个算法就能得到不错的效果,和4x-UltraSharp、R-ESRGAN等相比,显存消耗比较小,但效果不是最优。
  • Lanczos:将对称矩阵通过正交相似变换变成对称三对角矩阵的算法(鸡肋,通常不用)。
  • ESRGAN:Enhanced Super-Resolution Generative Adversarial Networks (增强超分生成对抗网络)是对SRGAN关键部分网络结构、对抗损失、感知损失的增强。从这里开始就不是单纯的图像算法,进入人工智能的领域了。实测确实增加了很多看上去很真实的纹理,但是有时又会把一张图片弄得全是锯齿或怪异的纹理。可能对待处理的图片类型有要求。
  • 4x-UltraSharp:基于ESRGAN做了优化模型,更适合常见的图片格式。真人模型最佳选择。
  • ESRGAN 4x(Real ESRGAN):完全使用纯合成数据去尽量贴近真实数据,然后去对现实生活中数据进行超分的一个方法。这个算法来自于腾讯贡献。
  • R-ESRGAN 4x+:基于Real ESRGAN的优化模型,针对照片效果不错。
  • R-ESRGAN 4x+ Anime6B:基于Real ESRGAN的优化模型,二次元最佳,如果你的模型是动漫类的,该选项是最佳选择。
  • R-ESRGAN General 4xV3:基于Real ESRGAN的优化模型,体积小,计算快,效果差。
  • SwinIR_4x:使用Swin Transformer思想,采用一个长距离连接,将低频信息直接传输给重建模块,可以帮助深度特征提取模块专注于高频信息,稳定训练。
  • LDSR:Latent Diffusion Super Resolution(潜在扩散超分辨率模型)是Stable Diffusion最基础的算法模型,但速度比较慢。

三、在Intel显卡的主机上安装

Stable-Diffusion-WebUI现在可以在Intel的CPU和GPU(集成和独立图形)等硬件上运行,并配有Intel分发OpenVINO工具包。

1、安装OpenVINO

带有 torch.compile 支持的 OpenVINO 现在可以在 OpenVINO 预发布包中预览。使用命令安装最新的预发布软件包

pip install --pre openvino​​​​​​​

2、下载stable-diffusion-webui源码并安装

git clone https://github.com/openvinotoolkit/stable-diffusion-webui.git
cd stable-diffusion-webui
first-time-runner.bat
torch-install.bat

3、将模型文件放在项目根目录下的models/Stable-diffusion文件夹里

4、运行 webui-user.bat 启动

​​​​​​​5、开启openvino加速

在script下拉菜单选择“Accelerate with OpenVINO”

使用OpenVINO自定义脚本,可以配置以下选项:

  • 配置文件:模型检查点需要与相应的配置文件相关联。通常,配置文件由diffusers库自动下载。但是,如果模型检查点的起源不同或是一个自定义检查点,则相应的配置文件(以“yaml”格式)需要放置在WebUI根目录的“configs”目录中。
  • 设备:使用OpenVINO,可以在英特尔CPU或GPU上加速Stable-Diffusion-WebUI。所有支持OpenVINO的设备都列在下拉列表中。用户可以选择他们选择的加速设备。当用户选择新设备时,建议从性能测量中排除第一次预热迭代,因为模型会为目标硬件重新编译。
  • 采样方法:OpenVINO加速使用"Hugging Face Diffusers"库。我们使用来自扩散器的等效采样方法,并验证了一些流行的采样方法。推荐勾选“Override the sampling selection from the main UI”,尚未支持主UI的一些采样方法,将回退到“Euler a”采样方法。
  • 缓存:OpenVINO支持缓存编译的模型,以便后续使用同一模型。这大大减少了热身时间。建议启用此设置。编译的模型保存在WebUI根目录的“缓存”目录中。用户可以删除不再需要的文件以节省磁盘空间。我们不会自动删除文件,以避免删除用户稍后可能使用的文件。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/watson2017/article/details/129285656

智能推荐

分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告_预计2026年中国分布式传感器市场规模有多大-程序员宅基地

文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大

07_08 常用组合逻辑电路结构——为IC设计的延时估计铺垫_基4布斯算法代码-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码

OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版

关于美国计算机奥赛USACO,你想知道的都在这_usaco可以多次提交吗-程序员宅基地

文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗

MySQL存储过程和自定义函数_mysql自定义函数和存储过程-程序员宅基地

文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程

半导体基础知识与PN结_本征半导体电流为0-程序员宅基地

文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0

随便推点

【Unity3d Shader】水面和岩浆效果_unity 岩浆shader-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader

广义线性模型——Logistic回归模型(1)_广义线性回归模型-程序员宅基地

文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型

HTML+CSS大作业 环境网页设计与实现(垃圾分类) web前端开发技术 web课程设计 网页规划与设计_垃圾分类网页设计目标怎么写-程序员宅基地

文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写

C# .Net 发布后,把dll全部放在一个文件夹中,让软件目录更整洁_.net dll 全局目录-程序员宅基地

文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录

BRIEF特征点描述算法_breif description calculation 特征点-程序员宅基地

文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点

房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文_基于spring boot的房屋租赁系统论文-程序员宅基地

文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文