Stable Diffusion Hypernetwork Embedding

server/2024/11/17 20:05:56/

本节内容,给大家带来的是stable diffusion的Embedding与HyperNetwork课程。在上节课程中,我们已经了解了关于Lora模型和LyCORIS模型的使用。我们可以通过训练Lora模型与LyCORIS模型来对基础模型进行低资源微调,从而实现具有某一类特征的图像产出。

stable diffusion中,还提供了另外两种控制图像输出特征和风格的方法---embedding和hypernetwork,本节课程,我们就将演示embedding和hypernetwork会如何影响stable diffusion的图像绘制过程,

一:Embedding

Embedding:字面上的意思是“嵌入”,Embedding也不会改变大模型。他是另外一种训练方法-textual inversion的输出结果。textual inversion是一种轻量化训练方式,训练出来的结果实际上是单词与其对应向量的映射记录,就类似书签那样,可以快速指向某些内容。textual inversion结果是一个非常非常小的数据集,一般只有十几K,他同样需要配合大模型使用。通过训练,Textual Inversion将为关键词找到了一个最合适的参数向量,使用该向量可指导原始的扩散模型输出期待的图像。

这样讲有些抽象,我们用具体的实例来去理解Embeddings会更好。

早前,在进行AI绘画的过程中,会经常遇到一个难题---画手,AI虽然学习了大量的图像数据特征,但是对如何画好人类的手总是力不从心,比如这样的图像。

AI似乎对某些细节的理解还不够深刻。但是人们还是找到了解决这些问题的方法,比如可以通过大量画得不好的手的图像训练出一个数据集,然后告诉stable diffusion,在生成的图像中不要出现这些数据集中的特征。

badhand便是我们经常会使用到的一个Embedding,我们通过将这个Embedding的关键信息加到负面提示词中,这样stable diffusion在绘制新的图像时,便会尽量避开这个Embedding所指示的信息。从而尽可能地画出一幅包含正常手元素的图像。

我们可以在C站上搜索badhand找到这个embedding,

搜索结果中的badhandv4就是我们常用的的embedding,点击进入后,可以看到详细信息,使用方法。

将 badhandv4.pt 文件下载后放置在您 stable diffusion webui程序主目录下的 embeddings 文件夹内。 

之后,可以参考文档自行输入触发关键词来引用embedding,也可以点击反向提示词下方的embedding标签页,点击刷新,可以看到安装好的embedding项,

点击对应的项目,将自动添加关键词到输入框,需要注意的是该关键词应该应用到反向提示词输入框,点击生成,生成的图片会尽量避免出现不合适的手元素。

这里补充一下,画手是AI绘画中很重要的一个课题,使用Embeddings并不能完全避免不合适的元素,仍然有比较大的概率会画出不合适的手,我们还需要使用一些其他手段,比如后面课程中会讲述的controlnet,以及前面课程中的Lora,LyCoris模型,局部重绘等来加强手元素的绘制。

常用的embedding除了badhandv4外,还有EasyNegative、deepnegative等

比如EasyNegative是一个集合了负面提示的插件,

我们以往在填写负面提示词时,经常会填入如“低分辨率、模糊、扭曲的五官、错误的手指、多余的数字,水印”等,以避免生成低质量的图像。而EasyNegative这个embedding则是将这些负面的信息资源整合打包,只要将触发词

EasyNegative加入到负面提示词中,就可以在生成的图像中避免生成低质量或不合适的图片。

实践使用中,通常会将多个embeddings应用到stable diffusion的图像绘制过程中,比如我们会使用一些固定的惯例提示语句,这些提示语句中可能会包含一些如bandhandv4,easynegative embedding关键词,我们只需下载好对应的embedding文件,然后使用这些固定的惯例提示语句即可,这样stable diffusion绘制出来的图片就能减少很多意外画崩的情况。

我们上面演示的embeddings都是在负面提示词里使用,也有一些在正面提示词里使用的embedding,比如C站上可以找到一些与特定人物相关的embeddings,这些embeddings的触发词则是放在正面提示词里的。

我们使用过滤器进列出embeddings,并且选择most liked排序,

排在最前的是我们刚刚介绍的一些最常用的embedding,还有一些在正面提示词中使用的embedding,比如Pure Eros Face纯欲风embedding,该embedding可以引导stable diffusion绘制纯欲风的人物图像。

二: Hypernetwork

Hypernetworks是stable diffusion中的另外一种训练方法,通过Hypernetworks训练,可以得到一个新的神经网络模型,该模型能够向原始扩散模型中插入合适的中间层及对应的参数,从而使输出图像与输入关键字指令之间产生期待的关联关系。其生成的模型结构通常都很小,基本都低于200Mb。

我们在C站上使用过滤选项后可以列出可供使用的Hypernetwork。

我们用Chili Style这个hypernetwork做一下演示。

下载后将文件放知道stable diffusion webUI程序主目录model文件下的hypernetwork目录中,

stable diffusion webUI图片绘制页面点击反向提示词下方的hypernetwork标签页,可以看到安装好的embedding项,点击对应的项目,将自动添加引用指令到到输入框,

我们选择合适的模型,增加一些正向提示词:

emoji, simple background, 1girl, solo, full body, white skin, outline, iop, pointy ears, orange hair, medium hair, closed eyes, open-mouthed smile, freckles, evil smile, dynamic pose, happy emotion, warrior ,

反向提示词:bad-artist, energy, (turn pale), blue face

点击生成,可以看到stable diffusion绘制的是独特风格的图片。

Hypernetworks实际上类似于间接版的LoRA,而通过训练一个神经网络再去生成LoRA参数这种间接方式实现的效果往往并不是最有效或最优的,所以Hypernetworks目前使用已经比较少。

好了,本节课的课程到这里就结束了,我们做一下总结,本节课程我们讲述了另外两种控制图像输出特征和风格的方法---embedding和hypernetwork,embedding在实践中会经常使用到,尤其在反向提示词中,我们会经常使用一些embedding来避免图片出现不适合的元素。hypernetwork目前在实践中使用已经很少,大家了解其基本使用方法即可。

我们通过前面几节课程的讲解,相信大家已经能很好地使用stable diffusion绘制出优秀的图像,后续的课程,我们会重点讲解stable diffusion中控制图像输出的一项重要手段---ControlNet,ControlNet的引入可以使stable diffusion的图像控制能力大幅提升,也是stable diffusion走向实际生产应用的关键。


http://www.ppmy.cn/server/142722.html

相关文章

什么是SSL VPN?其中的协议结构是怎样的?

定义:SSL VPN是以SSL协议为安全基础的VPN远程接入技术,移动办公人员使用SSL VPN可以安全、方便的接入企业内网,访问企业内网资源,提高工作效率。 SSL(Security Socket Layer)是一个安全协议,为…

macOS解决U盘装完系统容量变小的问题

发现原来256GB容量的U盘在mac电脑上只显示34GB,想起来之前用该U盘装过系统,最终搜到了以下解决方案,在此记录: (1) 查看盘符列表,找到需要格式化的U盘,假设为disk4 diskutil list(2) 卸载分区disk4 disk…

计算机毕业设计Hadoop+Spark高考推荐系统 高考分数线预测 知识图谱 高考数据分析可视化 高考大数据 大数据毕业设计 Hadoop 深度学习

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

SQL面试题——抖音SQL面试题 最大在线用户数

最大在线用户数 下面的数据记录了一个直播平台上用户进入平台和离开平台的情况 +---+-------------------+-----+ | id| etime| type| +---+-------------------+-----+ | 1|2021-06-10 10:00:00|enter| | 1|2021-06-10 19:00:00|leave| | 2|2021-06-10 11:0…

Uniapp 引入 Android aar 包 和 Android 离线打包

需求: 原生安卓 apk 要求嵌入到 uniapp 中,并通过 uniapp 前端调起 app 的相关组件。 下面手把手教你,从 apk 到 aar,以及打包冲突到如何运行,期间我所遇到的问题都会 一 一 进行说明,相关版本以我文章内为…

Ubuntu24.04配置安装可视化terminal终端

Ubuntu24.04配置安装可视化terminal终端 最开始我是想搞一下微服务,三台Eureka已经搞好了,但是配置文件总是让人难受,我想搞一下可以方便修改配置文件的东东,于是就想装一下Apollo,安装了一个本地Mysql版本的Apollo看…

IDEA自定义文件打开格式

介绍在IDEA中自定义文件打开格式的方法,比如一个文件,可以选择用txt格式打开,也可以选择用xml格式打开,也可以用java格式打开等等,通过这个方法可以方便的用任意格式在idea中打开想要打开的文件。 下面分别讨论三种不…

从空投到OG NFT:全方位解读Lumoz主网上线前的活动

随着加密市场热度回升,模块化算力层与 RaaS 平台 Lumoz 也即将迎来主网上线以及TGE。最近,Lumoz开启了一系列火爆的活动,为广大社区用户带来丰厚的空投奖励。 截至目前,Lumoz 空投活动已经吸引了超过 300 万用户查询并确认了自己的…