AIGC文生图:stable-diffusion-webui部署及使用

1 stable-diffusion-webui介绍

Stable Diffusion Web UI 是一个基于 Stable Diffusion 的基础应用,利用 gradio 模块搭建出交互程序,可以在低代码 GUI 中立即访问 Stable Diffusion

  • Stable Diffusion 是一个画像生成 AI,能够模拟和重建几乎任何可以以视觉形式想象的概念,而无需文本提示输入之外的任何指导
  • Stable Diffusion Web UI 提供了多种功能,如 txt2img、img2img、inpaint 等,还包含了许多模型融合改进、图片质量修复等附加升级。
  • 通过调节不同参数可以生成不同效果,用户可以根据自己的需要和喜好进行创作。
  • 我们可以通过Stable Diffusion Web UI 训练我们自己的模型,它提供了多种训练方式,通过掌握训练方法可以自己制作模型。

2 stable-diffusion-webui安装部署

2.1 conda环境安装

conda环境准备详见:annoconda

2.2 运行环境构建

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
conda create -n sdw python=3.9
conda activate sdw pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

注意:pytorch版本下载,根据本地环境选择对应的版本,下载地址:地址

2.3 模型下载

(1)模型文件

模型下载地址:地址,下载完成后,按下面的目录存放

mkdir -p models/Stable-diffusion/mv /opt/v1-5-pruned-emaonly.safetensors models/Stable-diffusion/

(2)通过proxy下载,解决下载慢或下载失败的问题

[root@localhost stable-diffusion-webui]# vi modules/launch_utils.py 

https://github.com替换为https://ghproxy.com/https://github.com,即使用Ghproxy代理

修改的内容如下:

def prepare_environment():torch_index_url = os.environ.get('TORCH_INDEX_URL', "https://download.pytorch.org/whl/cu118")torch_command = os.environ.get('TORCH_COMMAND', f"pip install torch==2.0.1 torchvision==0.15.2 --extra-index-url {torch_index_url}")requirements_file = os.environ.get('REQS_FILE', "requirements_versions.txt")xformers_package = os.environ.get('XFORMERS_PACKAGE', 'xformers==0.0.20')gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "https://ghproxy.com/https://github.com/TencentARC/GFPGAN/archive/8d2447a2d918f8eba5a4a01463fd48e45126a379.zip")clip_package = os.environ.get('CLIP_PACKAGE', "https://ghproxy.com/https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip")openclip_package = os.environ.get('OPENCLIP_PACKAGE', "https://ghproxy.com/https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip")stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://ghproxy.com/https://github.com/Stability-AI/stablediffusion.git")k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://ghproxy.com/https://github.com/crowsonkb/k-diffusion.git')codeformer_repo = os.environ.get('CODEFORMER_REPO', 'https://ghproxy.com/https://github.com/sczhou/CodeFormer.git')blip_repo = os.environ.get('BLIP_REPO', 'https://ghproxy.com/https://github.com/salesforce/BLIP.git')stable_diffusion_commit_hash = os.environ.get('STABLE_DIFFUSION_COMMIT_HASH', "cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf")k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "c9fe758757e022f05ca5a53fa8fac28889e4f1cf")codeformer_commit_hash = os.environ.get('CODEFORMER_COMMIT_HASH', "c5b4593074ba6214284d6acd5f1719b6c5d739af")blip_commit_hash = os.environ.get('BLIP_COMMIT_HASH', "48211a1594f1321b00f14c9f7a5b4813144b2fb9")

2.4 webui运行

(1)设置允许root用户运行(如果不以root用户运行,可以跳过这个步骤)

当我们以root用户运行时,会报如下错误:

 [root@localhost stable-diffusion-webui]# sh webui.sh ################################################################
Install script for stable-diffusion + Web UI
Tested on Debian 11 (Bullseye)
################################################################################################################################
ERROR: This script must not be launched as root, aborting...
################################################################

通过修改webui.sh解决

vi webui.sh

修改文件第51行,修改后如下

# this script cannot be run as root by default
can_run_as_root=1

 (2)启动项目

仅在本机访问,webui绑定127.0.0.1地址,启动命令如下:

sh webui.sh

可以通过局域网访问,webui绑定0.0.0.0地址,启动命令如下:

sh webui.sh --listen

可以通过局域网访问,webui绑定0.0.0.0地址,带--xformers启动,启动时会自动安装xformers组件,加速GPU运行

sh webui.sh --listen --xformers

常用参数如下:

3 stable-diffusion-webui使用

启动界面可以大致分为4个区域【模型】【功能】【参数】【出图】四个区域

(1)模型区域:模型区域用于切换我们需要的模型,模型下载后放置相对路径为/modes/Stable-diffusion目录里面,网上下载的safetensors、ckpt、pt模型文件请放置到上面的路径,模型区域的刷新箭头刷新后可以进行选择。

(2)功能区域:功能区域主要用于我们切换使用对应的功能和我们安装完对应的插件后重新加载UI界面后将添加对应插件的快捷入口在功能区域,功能区常见的功能描述如下

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

(3)参数区域:根据您选择的功能模块不同,可能需要调整的参数设置也不一样。例如,在文生图模块您可以指定要使用的迭代次数,掩膜概率和图像尺寸等参数配置

(4)出图区域:出图区域是我们看到AI绘图的最终结果,在这个区域我们可以看到绘图使用的相关参数等信息。

3.1 txt2img(文生图)

在设置页面中,您可以输入文本,选择模型并配置其他参数。文本是必需的,它将成为图像生成的依据。您可以选择预定义的模型或上传自己的模型。您还可以选择一些其他参数,例如批处理大小,生成的图像尺寸等。下面是一些参数的说明:

  • 采样方法 (Sampler):这个参数允许您选择用于生成图像的采样方法。默认情况下,该参数设置为“Eulea”,但您也可以选择“DPM++”后面的新加入选项,这个会比默认的生成的图片细节内容更加丰富些。
  • 迭代步数(Sampling steps): 这个参数允许您指定图像生成的迭代次数。较多的迭代次数可能会导致更好的图像质量,但也需要更长的时间来完成生成,默认50起步。
  • 宽度&高度:这个参数允许您指定图片生成的高度和宽度。较大的高度宽度需要更多的显存计算资源,这里默认512*512即可,需要图片放大我们可以去更多(send to extras)模块用放大算法进行图片放大。
  • 生成批次(Batch count):此参数允许您用指定模型将为每个生成的图像运行的最大迭代次数。增加这个值多次生成图片但生成的时间也会更长(有多图需要建议减少图片生成的批次改为增加单次生成图片的数量参数即可)。
  • 每批数量(Batch size):此参数允许您指定一次可以生成的最大图像数量。如果您的系统资源有限,并且需要以较小的批量生成映像,那么这可能很有用。
  • 提示词相关性(CFG Scale):此参数可以变更图像与提示符的一致程度(增加这个值将导致图像更接近你的提示,但过高会让图像色彩过于饱和,数值越小AI绘图发挥的自我空间越大越有可能产生有创意的结果(默认为7)。
  • 种子数(Seed): 此参数允许您指定一个随机种子,将用于初始化图像生成过程。相同的种子值每次都会产生相同的图像集,这对于再现性和一致性很有用。如果将种子值保留为-1,则每次运行文本-图像特性时将生成一个随机种子。
  • 优化面部(Restore faces):优绘制面部图像可勾选,头像是近角时勾选貌似容易过度拟合出现虚化,适合在远角时勾选该选项。
  • 可平铺(Tiling):用于生成一个可以平铺的图像。
  • Highres. fix:使用两个步骤的过程进行生成,以较小的分辨率创建图像,然后在不改变构图的情况下改进其中的细节,选择该部分会有两个新的参数Scale latent在潜空间中对图像进行缩放。另一种方法是从潜在的表象中产生完整的图像,将其升级,然后将其移回潜在的空间。Denoising strength 决定算法对图像内容的保留程度。在0处,什么都不会改变,而在1处,你会得到一个不相关的图像;

3.2 imge2img(图生图)

 img2img功能可以让您用stable diffusion web ui生成元画像和似的构图色彩的画像,或者指定一部分内容进行变换。

与text2img相比,img2img新增了缩放模式和一个重绘幅度(Denoising strength)参数设置,上面的例子中这边增加了黑发提示和调整图片大小并且设置重绘幅度(Denoising strength)值为1,帮我们重新生成了一张黑发的女主图片,下面是相关参数说明。

  • 缩放模式:主要是我们调整了图片尺寸后以何种模式保证图片的输出效果(可选有:拉伸/裁剪/填充/just resize);
  • 重绘幅度(Denoising strength):图像模仿自由度,越高越自由发挥,越低和参考图像越接近,通常小于0.3基本就是加个滤镜;

3.3 Inpaint(重绘)

 inpaint功能可以让您用stable diffusion web ui将图片中被手工遮罩的部分重新绘制,如果您发现了一张整体尚可、细节崩坏的图,就可以点击这个按钮开始局部重绘。web ui会自动为您生成一个遮罩层,您可以用鼠标在图片上涂抹需要修复的区域。然后点击“生成”按钮,web ui会根据遮罩层和原图生成一个新的图片,并显示在右侧,(官方有基于1.5的专门的inpaint 修复模型),除此之外重绘我们还能利用pix2pix插件类chatgpt来实现改图功能。

  • 蒙版模糊(Mask blur):遮色片的模糊,用于控制遮罩图像的模糊程度,具体来说,遮罩模糊度越大,遮罩图像的边缘就越模糊,相邻像素之间的颜色差异就越小,从而导致修复图像的效果更加平滑和自然。相反,如果遮罩模糊度较小,则遮罩图像的边缘更加锐利,修复图像的效果可能会更加清晰和精细。需要注意的是,较大的遮罩模糊度可能会导致修复图像的细节丢失,因此需要权衡模糊度和修复图像的细节之间的平衡
  • 蒙版模式:
  • 重绘蒙版内容: 此选项是让它帮我们重绘我们加遮色片的区域(生成一个新的围脖);
  • 重绘非蒙版内容:此选项会保留我们涂抹的遮色片区域(此例子中的围脖)并重新绘制图片的其他内容生成 一张新的图;

3.4 Extras(图像缩放)

Extras部分提供了一些额外的功能,包括Super Resolution(超分辨率),针对二次元图片有专门的发放大算法需要另外加载,下面将分别介绍如何使用这些功能。

Super Resolution(超分辨率)

超分辨率功能可以将低分辨率图像提高到高分辨率图像的大小,从而提高图像的清晰度和细节。使用超分辨率功能需要输入一张低分辨率的图像,并指定要将其放大的倍数。

使用超分辨率功能的步骤如下:

Step 1:打开Stable Diffusion ,并点击“Extras”按钮。

Step 2:在“Image”栏中上传一张低分辨率图像。

Step 3:选择对应的缩放算法。您可以选择2、3或4倍,或指定自定义倍数。

Step 4:单击“Process”按钮,等待处理完成后即可查看生成的高分辨率图像。

4 问题解决

4.1 Cannot locate TCMalloc问题

[root@localhost stable-diffusion-webui]# sh webui.sh --listen################################################################
Install script for stable-diffusion + Web UI
Tested on Debian 11 (Bullseye)
################################################################Cannot locate TCMalloc (improves CPU memory usage)

通过如下命令解决:

yum install gperftools gperftools-devel

安装完成后再次启动,错误已经消失

4.2 Couldn't determine Stable Diffusion's hash问题

如果git版本为1.8则升级git版本

把老版本的 Git 卸掉。
sudo yum -y remove git
sudo yum -y remove git-*添加 End Point 到 CentOS 7 仓库
sudo yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm安装 Git
sudo yum -y install git

依次忽略git相关文件夹

git config --global --add safe.directory /opt/stable-diffusion-webui/repositories/stable-diffusion-stability-aigit config --global --add safe.directory /opt/stable-diffusion-webui/repositories/CodeFormergit config --global --add safe.directory /opt/stable-diffusion-webui/repositories/k-diffusiongit config --global --add safe.directory /opt/stable-diffusion-webui/repositories/BLIPgit config --global --add safe.directory /opt/stable-diffusion-webui/repositories/taming-transformers

解决方法详见:Couldn‘t determine Stable Diffusion‘s hash问题解决

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elastic 发布 Elasticsearch Relevance Engine™ — 为 AI 革命提供高级搜索能力

作者:Matt Riley 今天我们将向大家介绍 Elasticsearch Relevance Engine™(ESRE™),这是一种创建高度相关的 AI 搜索应用程序的新功能。ESRE 建立在 Elastic 在搜索领域的领导地位以及超过两年的机器学习研究和开发基础之上。Elas…

人工智能轨道交通行业周刊-第45期(2023.5.15-5.21)

本期关键词:动车洗澡、热备列车、火车司机室、无缝线路、图像分割、自动标注 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道…

利用ChatGPT完成深度学习分类任务

利用ChatGPT完成深度学习分类任务 一、任务背景 ​ 关于早期诊断NEC(坏死性小肠结肠炎(Necrotizing enterocolitis,NEC))和及时干预一直是临床关注的重点和难点问题。现在手上有相关的临床数据集,我们想要…

chatgpt赋能python:如何使用Python绕过反爬虫机制提高SEO排名

如何使用Python绕过反爬虫机制提高SEO排名 在现代互联网时代,网站把自己的内容都用高墙围了起来,就是防止别人复制内容或者爬虫程序对网站造成损害。但是, SEO优化却需要搜索引擎对网站爬取,并且通过搜索引擎渠道引入流量&#x…

识别「ChatGPT造假」,效果超越OpenAI,AI生成检测器来了!

Datawhale干货 AI生成检测器,编辑:机器之心 AI 造假的成功率很高,前几天「10 分钟骗 430万」还上了热搜。在最热门的大语言模型上,研究人员最近探索了一种识别方法。 随着生成式大模型的不断进步,它们生成的语料正逐步…

chatgpt赋能python:Python如何绕过检测封号的技巧

Python如何绕过检测封号的技巧 Python作为目前最受欢迎的编程语言之一,广泛应用于各种领域。在SEO领域中,Python也发挥着重要的作用,但是在不当的使用下,可能会被搜索引擎检测到并封号。在本文中,我们将介绍几种Pytho…

无际Ai官网ChatGPT4和3.5的真实功能测评

生活是我们每个人都必须面对的现实。它涵盖了各种方面,包括我们的工作、家庭、朋友和爱好等等。在这个充满挑战和机遇的世界中,我们必须学会如何平衡自己的需求和责任,并适应不断变化的环境。无论你处于生命的哪个阶段,生活都是一…

2022机器学习阶段性复盘

2022机器学习阶段性复盘 文章目录 2022机器学习阶段性复盘一、业务洞察1.1 业务调研1.2 采样策略 一、特征工程1.1 特征筛选之iv_psi1.2 特征筛选之启发式搜索1.3 时间特征的曲率变换1.4 多重共线性特征的剔除1.5 什么样的特征适合树模型或LR模型1.5 什么样的特征是稳定可泛化特…

音乐推荐算法+ChatGPT歌词创作

不知道有没有小伙伴喜欢这个项目,今天刚完成,哈哈哈。 体验地:http://make.forwardforever.top:614 账号:root 密码:123 账号:root2 密码:456 主页: 曲库: 评论功能: …

使用LSTM预测股价,特征:19个指标5天历史数据

LSTM介绍 LSTM是具有时间特性的神经网络,我们利用LSTM预测时间序列——股价。 从文本到股价,LSTM的输入特征和网络结构都有哪些变化呢? 我们先看一个简单的RNN结构。与普通的全连接层神经网络的权重更新沿着一层层隐藏层网络不同&#xff0c…

北大朱松纯教授:做智能时代的先知、先觉、先行者

本文转发自北京大学智能学院,文章根据朱松纯教授2023年7月1日在北京大学智能学院2023年毕业典礼上的即兴讲话整理而成。 做智能时代的 先知、先觉、先行者 ——在智能学院2023届毕业典礼上的讲话 朱松纯 2023年7月1日 尊敬的各位来宾、各位老师,毕业班同…

谷歌周彦祺:LLM浪潮中的女性科学家多面手丨智源大会嘉宾风采

导读 大模型研发竞赛如火如荼,谷歌紧随OpenAI其后推出PalM2、Gemini等系列模型。Scaling Law是否仍然适用于当下的大模型发展?科技巨头与初创企业在竞争中各有哪些优势和劣势?模型研究者应秉持哪些社会责任? 2023智源大会「基础模…

AI巨头争相推出,企业对话场景应用量暴增1000%,究竟发生了什么?

采访嘉宾 | 中关村科金AI 平台能力中心 作者 | 刘燕 大模型构建人机协同的新型生产关系 对话式 AI 产品拥抱大模型 一个大胆的决定 自 2014 年成立以来,中关村科金就选择专注于企业服务赛道提供对话场景服务,聚焦生成式 AI 技术,包括领域大…

深聊丨“紫东太初”大模型背后有哪些值得细读的论文(一)

原创:谭婧 没有人想等待,没有人想落伍。 新鲜论文时兴火热,成为大模型发展迅猛的标志之一,人们用“刷论文”这个游荡意味的动词替代另一个颇为严肃的动作,“读论文”。 论文被当作“教材”和“新知识”,在a…

紫东太初:造一个国产大模型,需用多少篇高质量论文?

原创:谭婧 “视觉自监督算法这轮,你是不是没跟上?” 我面前这位年薪近七十万,互联网大厂AI算法工程师的好友, 他用一个反问句回答了我的关心: “自监督这个玩意咋跟上?” 他抬了抬头&#xff0c…

一场九年前的“出发”:奠基多模态,逐鹿大模型

原创:谭婧 全球AI大模型的技术路线,没有多少秘密,就那几条路线,一只手都数得过来。 而举世闻名的GPT-4浑身上下都是秘密。 这两件事并不矛盾。为什么呢? 这就好比,回答“如何制造一台光刻机?”。…

独家丨前美团联合创始人王慧文“正在收购”国产AI框架OneFlow,光年之外欲添新大将...

文丨谭婧 以ChatGPT为代表的AI大模型是2023年的科技C位。 2023年3月27日,ChatGPT引发的“抓马连续剧”,又有新剧更新。 前情提要: 前美团联合创始人、高级副总裁王慧文发文宣布进入AI领域,称将打造中国的OpenAI。 新闻标题一&…

对话AI顶尖大牛周明老师:大模型的机遇和挑战?

Datawhale学习 分享人:周明老师,Datawhale 特邀嘉宾 这次 Datawhale开源学习 特别邀请了周明老师分享: 周明,澜舟科技创始人兼CEO,中国计算机学会 CCF 副理事长、NLP和大模型领域的顶尖大牛。 1991年就从NLP重镇哈工大…

对话李彦宏:AI 大模型时代,应用开发机会比移动互联网大十倍

AI 2.0 时代,ChatGPT 的出现,让大模型引发的诸神之战正式打响。百度作为中国首个推出真实应战“武器”的公司,其基于千亿量级数据炼就而成的“文心一言”背后,蕴藏哪些鲜为人知的故事?这种打破人类对过往 NLP 之智能对…

从大神Alex Smola与李沐离职AWS创业融资顺利,回看ChatGPT大模型时代“底层武器”演进...

图文原创:亲爱的数据 “Were building something big ... stay tuned. Talk to me if you want to work on scalable foundation models.” “我们正在建造一个大项目……请继续关注。如果你想在可扩展基础模型上工作,请告诉我。” “参数服务器之父” A…