AI 绘画 | Stable Diffusion 进阶 Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)

本文主要是介绍AI 绘画 | Stable Diffusion 进阶 Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

Stable Diffusion web ui,除了依靠文生图(即靠提示词生成图片),图生图(即靠图片+提示词生成图片)外,这两种方式还不能满足我们所有的绘图需求,于是就有了 Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)。

  • Embeddings模型 模型非常小,常常用于放在反向提示词里,让图像不出现生么,当然也可与用于正向提示词,生成我们想要的
  • LoRa模型 模型几十到几百MB,更多用于画特定人物,比如游戏/动漫的人物。平台上lora模型比较多。
  • Hypernetwork模型 大小和作用都和LoRa模型差不多,平台上Hypernetwork模型比较少。

在这里插入图片描述
你只需要在提示词词,使用Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)的标签。

Embeddings(词嵌入)

概念

Embeddings中文翻译为嵌入的,在Stable Diffusion中被称为词嵌入(嵌入式向量),这些向量可以捕捉文本中的语义信息,并在其中映射特定风格特征的信息。Embeddings一般保存的信息量相对较小,对人物的还原、对动作的指定、对画风的指定效果一般。除此之外,它还有另外一个名字Textual Inversion(文本反置、文本倒置)。它的模型被成为嵌入式模型、(反置/倒置)模型 。
Embeddings在Stable Diffusion模型中,又被称作嵌入式向量。它可以将文本编码器(TextEncoder)的输入(例如提示词)转换成电脑可以识别的文本向量,并在其中映射特定风格特征的信息。Embeddings模型和VAE模型一样后缀格式是.pt。大小仅为几kb到几十kb之间。Embeddings和checkpoint模型和lora模型比,它内部不包含图片信息,只是一些电脑可以识别图片的文本向量。举个比喻,如果把checkpoint模型比作一本大词典的话,Embeddings就是这本大词典中一些特定词的标签,它能精准的指向个别字词的含义,从而提共一个高效的索引。
比如我们像要画一个明星,但是checkpoint模型没有该明星名字对应的图片信息,这是我就可以用该明星的Embeddings模型生成这个明星的图片了,这里你可以Embeddings模型理解为包含这个明星的五官,面部、身体特征的嵌入式向量。使用Embeddings,Stable Diffusion就更容易理解我们画的明星长什么样子了!

使用

我们在模型下载网站上下载我们想要的Embeddings模型(国内liblib网站)。
在这里插入图片描述
然后放到SD WEB UI根目录下的embeddings文件夹内。,然后在SD WEB UI页面,点击刷新按钮,加载出来我们下载的Embeddings模型,然后点击Embeddings模型,会自动出现在提示词输入框。(默认会在正向提示词输入框内,但是当鼠标光标在反向提示词框内时,会出现在反向提示词框。)
在这里插入图片描述
这里的Embeddings模型也可以用提示词语法,圆括号和冒号来调整权重系数。
在这里插入图片描述

LoRa(低秩适应模型)

概念

Stable Diffusion Lora模型是一种通过低秩适应大型语言模型的方法。其核心思想是将原始的大型参数矩阵分解成两个或者多个低秩矩阵,并且只更新其中的一部分,从而减少计算量和存储需求,提高训练效率和模型性能。Lora的作用在于帮助你向AI传递描述某一个特征明确,主体清晰的形象。

使用

我们在模型下载网站(liblib.ai)上下载我们想要的lora模型。Lora模型需要放在 SD WEB UI根目录下的models\Lora文件夹内,大小一般为几十MB到几百MB。然后和嵌入式模型操作一样,先刷新在网页上加载出lora模型,然后点击lora到提示词输入框。
在这里插入图片描述
这里和嵌入式模型用法不同的是,lora模型需要加<>括号。格式 <lora:模型名:权重>,权重为1的时候,可以不写 <lora:模型名>,lora的权重建议设置在0.6左右,因为lora的权重越高,其他提示词的作用就越小,lora的权重过低,生成的图片又不像lora的训练的人物模样。当然lora的权重的最佳值,还跟你选择checkpoint模型有关,相同的lora搭配不同的checkpoint模型,生图的效果也有很大差别。经过我自己的大量测试,lora的权重建议设置在0.6左右,搭配大多数checkpoint模型都会有不错的效果。

在这里插入图片描述
值得注意的是有些lora模型需要搭配触发提示词,才能发挥lora的效果。

Hypernetwork(超网络)

概念

Stable Diffusion Hypernetwork是一种神经网络架构,它允许动态生成神经网络的参数(权重)。在Stable Diffusion中,Hypernetwork被用于动态生成分类器的参数,为Stable Diffusion模型添加了随机性,减少了参数量,并能够引入side information来辅助特定任务,这使得该模型具有更强的通用性和概括能力。

Hypernetwork的重要功能之一是对画面风格的转换,即切换不同的画风。它的特点在于能够生成多种画风的作品,同时能够保证画面的稳定性和清晰度。

使用

我们在模型下载网站(liblib.ai)上下载我们想要的lora模型。Hypernetwork模型需要放在 SD WEB UI根目录下的models\hypernetworks文件夹内,大小和lora模型差不多,一般为几十MB到几百MB。
在这里插入图片描述

hypernetworks模型的使用方法和lora模型一样,不同的是<lora:模型名>替换成了<hypernet:模型名>。格式 <hypernet:模型名:权重>
在这里插入图片描述
可以看出除了Embeddings模型的使用不需要<>尖括号外,hypernetworks模型和lora模型的使用都需要<>尖括号,说明hypernetworks模型和lora模型都是类似的,都是需要图片训练的,模型的中包含大量图片信息,而Embeddings模型只是简单的文本标记(向量)。

LoRA和Hypernetwork的区别

  • LoRA和Hypernetwork都是机器学习领域中比较前沿的技术,但是它们的作用有所不同。LoRA是一种图像风格转换模型,它可以将一张图片从一种风格转换成另一种风格,实现艺术风格迁移等功能。而Hypernetwork是一种模型生成技术,它的作用是学习从一个低维空间的潜在表示到一个高维空间的输出的映射函数。这种方法的主要目的是提供更加一般性和灵活性的模型生成能力,从而可以用更少的参数生成效果更好的模型。两种方法都有各自的优点和限制,需要根据具体任务的需求来选择相应的方法。

  • LoRA模型被广泛应用在图像处理领域,有很多应用场景,比如图像风格转换、艺术化渲染等等。同时,LoRA模型模型能够使用预训练权重,因此在实际应用中获取高质量的样本比较容易,并且由于LoRA的模型架构相对简单,因此训练比较容易实现。因此,很多人在图像处理领域中应用LoRA模型来处理图像,使得网上关于LoRA模型的文章和论文比较多。

  • 而Hypernetwork模型则相对较新,目前应用还较为局限。它的一个重要应用方向是用于神经网络架构搜索,可以快速搜索到高效的网络结构。但是,这种方法的难度比较大,需要大量的计算资源和专业知识以及较长的时间进行调试和优化。因此,Hypernetwork模型的文章和论文相对比较少,目前还没有被大规模应用到实际的项目中。

这篇关于AI 绘画 | Stable Diffusion 进阶 Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/393785

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx