Stable Diffusion——基础模型、VAE、LORA、Embedding各个模型的介绍与使用方法
前言
Stable Diffusion(稳定扩散)是一种生成模型,基于扩散过程来生成高质量的图像。它通过一个渐进过程,从一个简单的噪声开始,逐步转变成目标图像,生成高保真度的图像。这个模型的基础版本是基于扩散过程的,但也有一些改进版本,包括基于变分自动编码器(VAE)、局部正则化的自动编码器(LORA)和嵌入式扩散等。
1.基础模型
Stable Diffusion Checkpoint模型是生成图像所必须的基础模型,也称之为大模型。要使用Stable Diffusion出图之前必须配备一个主模型才能开始创作。这个主模型包含了生成图像所需的所有信息,无需额外的文件或组件。这些主模型的文件通常比较大,大小在2GB到7GB之间。它们的文件后缀通常是“ckpt”或“safetensors”。
不同的主模型具有不同的特点,它们在创作风格和擅长的领域上有所侧重。因此,在选择主模型时,需要考虑自己的创作需求和偏好。不同的主模型可以帮助你实现不同风格的图像生成。
一些流行和常见的Checkpoint模型包括“Anything”系列(如v3、v4.5、v5.0)、“AbyssOrangeMix3”、“ChilloutMix”、“Deliberate”,以及“国风系列”等等。这些Checkpoint模型都是从Stable Diffusion的基础模型训练而来,它们使用不同的数据进行训练,以生成特定风格或对象的图像。
需要注意的是,通常情况下是不会使用官方自带的大模型来进行创作出图的,因为它们的效果较差。但是如果想要自己练大模型,官方自带的大模型系列是一个不错的基础模型,因为它们涵盖了各种风格,属于中性模型。
当在下载模型时,可能会看到带有pruned、emaonly(ema)等后缀,pruned表示完整版,而emaonly表示剪枝版。(模型剪枝是一种通过删除神经网络中的冗余连接或参数来减小模型大小。可以帮助减少模型的存储空间和计算成本,同时在某些情况下还可以提高模型的推理速度。需要注意的是,尽管剪枝版模型在大小上更为轻量级,但在一些情况下可能会牺牲一定的性能。因此,在选择模型时,需要权衡模型大小和性能之间的关系,根据具体的应用场景和需求来做出选择。)但两者在使用上差别不大。如果想要自己练模型,则需要下载完整版。需要注意的是,有些剪枝版可能不带有后缀,有些可能后缀也是prune,因此在具体选择时需要参考相应的版本说明。
Civitai是一个全球性的提供AI艺术资源分享和发现的平台,旨在帮助用户轻松探索并使用各类AI艺术模型。平台用户可以上传和分享自己用数据训练的AI自定义模型,或者浏览和下载其他用户创建的模型。
以我这里使用的秋叶sd-webui-aki-v4.5整合包为例,模型下载之后,放到models/Stable-Diffusion目录。
之后刷新就可以看到相关的模型:
选择要使用的模型之后,可以输入正向提示词和反向提示,然后点生成:
2、外挂VAE模型
VAE模型可以被视作一种类似于颜色滤镜的工具,用于调整和改善生成图片的色彩。它并非在制图时必不可少,而是根据个人绘画需求决定是否采用。在使用某些模型时,有时绘制的图片整体颜色可能会显得较灰暗。在这种情况下,可以使用VAE模型对图片的颜色进行调整,以改善整体视觉效果。
下载或者自己训练出来的VAE模型把它放到models/VAE目录下:
测试VAE模型,左边是没有使用VAE模型的,右边是使用了VAE模型:
在绘图过程中,选择是否使用VAE模型通常对最终生成的图片效果并没有太大的影响。相比之下,VAE模型并不像其他模型(比如LORA模型)那样在绘图中的作用和效果十分明显。在测试中尝试了几个常用的大型模型,发现使用或不使用VAE模型对最终生成的图片效果的区别并不明显。
3、Lora模型
LoRA(Low-Rank Adaptation)是一种大语言模型低秩适配器,最早在2021年的论文《LoRA: Low-Rank Adaptation of Large Language Models》中提出。它的核心思想是通过降低模型可训练参数的数量,尽量不损失模型的性能,从而实现对大语言模型的微调。
在此之前,对于Stable Diffusion这样的模型,要训练大模型的话,通常需要使用Dreambooth等方法。如果对大模型的效果不满意,那么就只能从头开始重新训练,但是这个过程需要高要求的算力,且速度较慢。LoRA的引入极大地降低了训练的门槛,扩大了产出模型的适用范围。这意味着即使是非专业人员也可以在家用电脑上尝试训练自己的LoRA模型,从而更灵活地适应不同的任务和需求。
这里可以将大型模型比作素颜的人,因为它们通常生成的图片与原始数据相似,但可能缺乏一些细节或特定的特征。而LoRA模型则像是进行了化妆、整容或cosplay,它们能够通过增加细节、调整风格或改变外观,使生成的图片更加精美或符合特定的要求。LoRA模型不仅局限于人物,也适用于场景、动漫或其他风格,这使得它们在生成多样化的内容时具有广泛的应用性。大型模型提供了基础,而LoRA模型在此基础上进一步增强和丰富了生成的图片效果。
LoRA模型具有几个明显的优点:
-
性能优势: 使用LoRA时,只需要存储少量被微调过的参数,而不需要保存整个新模型。这使得LoRA模型的存储开销较小。此外,LoRA的新参数可以与原模型的参数合并,不会增加模型的运算时间。
-
功能丰富: LoRA模型维护了模型在微调中的“变化量”,通过用介于0到1之间的混合比例乘以这些变化量,可以控制模型的修改程度。此外,基于同一个原模型独立训练的多个LoRA模型可以同时使用。
这些优点在SD LoRA(中得到体现:
-
模型尺寸小: SD LoRA模型通常都很小,只有几十MB大小,这使得它们在存储和部署时都非常高效。
-
参数合并: SD LoRA模型的参数可以合并到SD基础模型中,得到一个新的SD模型,这有助于简化模型管理和部署过程。
-
画风控制: 可以使用0到1之间的比例来控制SD LoRA新画风的程度,使得用户可以根据需要调整生成图片的风格和效果。
-
多画风混合: 可以将不同画风的SD LoRA模型以不同的比例混合,从而进一步增加生成图片的多样性和可控性。
C站也有开源可用的Lora模型下载,下载之后,把模型放到models/Lora里面,重启或者刷新webui界面:
可以查看Lora的模型:
在WebUI中,点击所需的模型之后,系统会自动在提示词中增加对该模型及其权重的引用。格式如下:
<lora:模型的名字:模型的权重>
这样就可以在提示词中引用所选模型以及其权重了。模型的权重越高生成图片时越贴近模型提供的主体或者风格,权重的取值范围是:0-1。生成图片时可以同时使用多个LoRA模型,最终效果会综合多个模型的风格。
4.Embedding模型
Embedding可以被理解为一组提示词的集合,将这些提示词汇总到一个文件中。当需要使用这些提示词时,只需调用这个Embedding文件,就相当于输入了很多的提示词,这对用户来说非常方便。
Embedding可以用于正向提示词,也可以用于负向提示词。但在大多数情况下,它通常用于负向提示词,因为负向提示词的数量通常很多,而且复用性较高。例如,在人物绘图时,对于描述手指可能会使用诸如“坏的手指”、“多余的手指”、“缺失的手指”等多个负向提示词,同样的情况也适用于其他身体部位如腿、手等。这导致在绘图时需要频繁输入这么多的负向提示词,因此有时候负向提示词的数量远远超过正向提示词。
为了方便用户操作,减轻用户编写提示词的麻烦,常用的负向提示词会被打包在一起。这样用户只需要使用一个关键词,就可以代替输入很多的负向提示词,达到一词顶百词的效果。
由于Embedding模型是一组提示词的集合,所以Embedding模型文件通常不大,大小一般在几十KB到几百KB之间。
在C站上面,在搜索条件中通过Embedding关键字过滤出所有的Embedding模型。
相关文章:

Stable Diffusion——基础模型、VAE、LORA、Embedding各个模型的介绍与使用方法
前言 Stable Diffusion(稳定扩散)是一种生成模型,基于扩散过程来生成高质量的图像。它通过一个渐进过程,从一个简单的噪声开始,逐步转变成目标图像,生成高保真度的图像。这个模型的基础版本是基于扩散过程…...
Python自动化部署与配置管理:Ansible与Docker
Ansible 和 Docker 是两种常用于自动化部署和配置管理的工具。Ansible 是一个基于 Python 的自动化运维工具,可以配置管理、应用部署、任务自动化等。而 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&…...

《摔跤吧爸爸》19岁女星突患皮肌炎离世
从确诊到离世仅10天……罕见病“皮肌炎”! 曾凭借在知名电影《摔跤吧!爸爸》中饰演童年时期“小芭比塔”一角而广受喜爱的年轻演员苏哈尼巴特纳格尔不幸离世,年仅19岁。她的突然逝世引发了全球关注,据苏哈妮的家人表示࿰…...
用结构体数组,完成宠物信息登记管理。
管理宠物的名字,品种,年龄。 实现功能如下: 1.插入宠物信息 2.遍历宠物信息 #include <stdio.h> #define N 100 typedef struct chongwu { char name[20]; char pingz[10]; int age; }cw; void intset_cw(cw *ptr,int *pnum) { printf("请…...
频率主义线性回归和贝叶斯线性回归
整体概述 频率主义(Frequentist)线性回归和贝叶斯(Bayesian)线性回归是统计学中用于数据分析和预测的两种主要方法,特别是在建模关于因变量和自变量之间线性关系的上下文中。尽管两种方法都用于线性回归分析ÿ…...
【感知算法】Dempster-Shafer理论(下)
尝试DS理论应用到自动驾驶地图众包更新。 地图特征变化判断 a mass function is applied to quantify the evidence of the existence. existence state: existenct、non-existent、tenative、conflict ∃ ∄ Ω ϕ \exist \\ \not\exist \\ \Omega \\ \phi ∃∃Ωϕ ma…...
通过conda安装cudatoolikit和cudnn
通过conda安装cudatoolikit和cudnn 安装cudatoolkit安装cudnn安装cudatoolkit-dev 安装cudatoolkit conda install cudatoolkit11.3 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 安装cudnn conda install cudnn8.5 -c https://mirrors.tuna.tsinghua.edu.…...
vue中使用jsx语法
请注意,在 Vue 中使用 JSX 时,你仍然需要通过 h 函数(通常是一个别名,对应于 createElement 函数)来创建虚拟 DOM 元素。在下面的例子中,h 函数作为 render 函数的参数传入,但在 JSX 语法中你通…...

我的NPI项目之Android USB 系列(一) - 遥望和USB的相识
和USB应该是老朋友了,从2011年接触Android开发开始,就天天和USB打交道了。那时候还有不 对称扁头的usb/方口的usb,直到如今使用广泛的防反插USB3.0 type-C。 但是,一直有一个不是很清楚的问题萦绕在心头,那就是。先有…...

K8s进阶之路-命名空间级-服务发现 :
服务发现: Service(东西流量):集群内网络通信、负载均衡(四层负载)内部跨节点,节点与节点之间的通信,以及pod与pod之间的通信,用Service暴露端口即可实现 Ingress&#…...

智慧公厕管理系统:让城市智慧驿站更加智慧舒适
智慧公厕管理系统是城市智慧驿站中不可或缺的一部分,它通过全方位的信息化解决方案,为公共厕所的使用、运营和管理提供了一种智能化的方式。作为城市智慧驿站的重要组成部分,智慧公厕管理系统发挥着重要的作用,为城市社会民生提供…...

图形渲染基础学习
原文链接:游戏开发入门(三)图形渲染_如果一个面只有三个像素进行渲染可以理解为是定点渲染吗?-CSDN博客 游戏开发入门(三)图形渲染笔记: 渲染一般分为离线渲染与实时渲染,游戏中我们用的都是…...

每日学习总结20240219
每日总结 20240219 1.文件类型.csv CSV文件是一种以逗号分隔值(Comma-Separated Values)为标记的文本文件,它可以用来存储表格数据。每一行表示一条记录,而每一条记录中的字段则使用逗号或其他特定的分隔符进行分隔。 常用场景…...

K8s进阶之路-安装部署K8s
参考:(部署过程参考的下面红色字体文档链接就可以,步骤很详细,重点部分在下面做了标注) 安装部署K8S集群文档: 使用kubeadm方式搭建K8S集群 GitBook 本机: master:10.0.0.13 maste…...

springboot集成elk实现日志采集可视化
一、安装ELK 安装ELK组件请参考我这篇博客:windows下安装ELK(踩坑记录)_windows上安装elk教程-CSDN博客 这里不再重复赘述。 二、编写logstash配置 ELK组件均安装好并成功启动,进入到logstash组件下的config文件夹,创建logstash.conf配置…...
leetcode 148. 排序链表 java解法
Problem: 148. 排序链表 思路 这是一个链表排序的问题,由于要求时间复杂度为 O(nlogn),适合使用归并排序(Merge Sort)来解决。 解题方法 首先,使用快慢指针找到链表的中间节点,将链表分成两部分。然后&…...

【MATLAB源码-第140期】基于matlab的深度学习的两用户NOMA-OFDM系统信道估计仿真,对比LS,MMSE,ML。
操作环境: MATLAB 2022a 1、算法描述 深度学习技术在无线通信领域的应用越来越广泛,特别是在非正交多址接入(NOMA)和正交频分复用(OFDM)系统中,深度学习技术被用来提高信道估计的性能和效率。…...
运动重定向学习笔记
目录 深度学习 重定向 2020年的模型: 重定向之后的bvh: 深度学习 重定向 输入是bvh,输出也是bvh...
导出Excel,支持最佳
列表信息导出为Excel文件, 依赖pom: Sheet, Row:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId> </dependency>XSSFWorkbook <dependency><groupId>org.apache.poi</…...
【WPF】获取父控件数据
MaxHeight"{Binding PathActualHeight, RelativeSource{RelativeSource ModeFindAncestor, AncestorTypeUserControl}}" 参考文献 https://www.cnblogs.com/-Timosthetic/p/16021865.html...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...