Stable Diffusion——基础模型、VAE、LORA、Embedding各个模型的介绍与使用方法

news2025/1/15 18:07:31

前言

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模型具有几个明显的优点:

  1. 性能优势: 使用LoRA时,只需要存储少量被微调过的参数,而不需要保存整个新模型。这使得LoRA模型的存储开销较小。此外,LoRA的新参数可以与原模型的参数合并,不会增加模型的运算时间。

  2. 功能丰富: LoRA模型维护了模型在微调中的“变化量”,通过用介于0到1之间的混合比例乘以这些变化量,可以控制模型的修改程度。此外,基于同一个原模型独立训练的多个LoRA模型可以同时使用。

这些优点在SD LoRA(中得到体现:

  1. 模型尺寸小: SD LoRA模型通常都很小,只有几十MB大小,这使得它们在存储和部署时都非常高效。

  2. 参数合并: SD LoRA模型的参数可以合并到SD基础模型中,得到一个新的SD模型,这有助于简化模型管理和部署过程。

  3. 画风控制: 可以使用0到1之间的比例来控制SD LoRA新画风的程度,使得用户可以根据需要调整生成图片的风格和效果。

  4. 多画风混合: 可以将不同画风的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模型。

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

剪辑视频调色软件有哪些 剪辑视频软件哪个最好 剪辑视频怎么学 剪辑视频的方法和步骤 会声会影2024 会声会影视频制作教程

看了很多调色教程&#xff0c;背了一堆调色参数&#xff0c;可最终还是调不出理想的效果。别再怀疑自己了&#xff0c;不是你的剪辑技术不行&#xff0c;而是剪辑软件没选对。只要掌握了最基本的调色原理&#xff0c;一款适合自己的视频剪辑软件是很容易出片的。 有关剪辑视频…

3个密码学相关的问题

一、离散对数问题&#xff08;Discrete Logarithm Problem, DLP&#xff09; 问题描述&#xff1a;给定 有限阿贝尓群 G中的2个元素a和b&#xff0c;找出最小的正整数x满足&#xff1a;b a ^^ x &#xff08;或者证明这样的x不存在&#xff09;。 二、阶数问题&#xff08;O…

自定义表单工作流的优势特点有啥?

低代码技术平台是提升办公效率的得力武器&#xff0c;在当今竞争激烈的社会中获得了很多中小企业的喜爱与支持。流辰信息是一家专业研发低代码技术平台的服务商&#xff0c;IBPS开发平台用于很多行业中&#xff0c;助力企业实现了办公流程化。自定义表单工作流的优势多、简单灵…

宝塔nginx配置SpringBoot服务集群代理

宝塔nginx配置SpringBoot服务集群代理 1、需求&#xff1a; 现有一个springboot服务需要部署成集群&#xff0c;通过nginx负载均衡进行访问&#xff0c;其中这个springboot服务内置了MQTT服务、HTTP服务、TCP服务。 MQTT服务开放了1889端口 HTTP服务开放了8891端口 HTTP服务开…

加固平板电脑在森林勘探上的应用|亿道三防onerugged

随着对森林资源的重视和需求的增长&#xff0c;森林勘探成为了一项重要的工作。在这个领域中&#xff0c;加固平板电脑的应用为森林勘探工作带来了显著的改善。 首先&#xff0c;三防平板电脑具备良好的耐用性和适应性&#xff0c;能够在恶劣的环境条件下稳定运行。在森林勘探…

LeetCode--代码详解 54.螺旋矩阵

54.螺旋矩阵 题目 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#xff…

STM32 UART详细解读(代码的编写)

文章目录 前言一、查询方式编写串口发送和接收的代码二、中断方式编写串口发送和接收的代码总结 前言 本篇文章来给大家讲解USART的代码详细讲解和使用步骤。 一、查询方式编写串口发送和接收的代码 串口查询发送函数&#xff1a; HAL_StatusTypeDef HAL_UART_Transmit(UART…

第2.4章 StarRocks表设计——分区分桶与副本数

目录 一、数据分布 1.1 概述 1.2 数据分布方式 1.2.1 Round-Robin 1.2.2 Range 1.2.3 List 1.2.4 Hash 1.3 StarRocks的数据分布方式 1.3.1 不分区 Hash分桶 1.3.2 Range分区Hash分桶 三、分区 3.1 分区概述 3.2 创建分区 3.2.1 手动创建分区 3.2.2 批量创建分区…

MIT-BEVFusion系列九--CUDA-BEVFusion部署2 create_core之参数设置

目录 加载命令行参数main 函数中的 create_core图像归一化参数体素化参数稀疏卷积网络参数真实世界几何空间参数 (雷达坐标系下体素网格的参数)解码后边界框的参数构建 bevfusion::Core 存储推理时需要的参数 本章开始&#xff0c;我们将一起看CUDA-BEVFusion的代码流程&#x…

Sample Pairing(ICLR 2018)

paper&#xff1a;Data Augmentation by Pairing Samples for Images Classification 本文的创新点 本文提出了一种新的应用于图像分类的数据增强方法SamplePairing&#xff0c;这种简单的数据增强技术显著提高了所有测试的数据集的分类精度。此外当训练集中的样本数量非常少…

vue3+element Plus+ts 自定义主题色,以及生成主题色各种透明度

目录 思路 安装css-color-function【接收一个颜色值&#xff0c;生成不同的透明度】 获取后台配置的主题色或者使用ColorPicker修改主题色 最终结果如下 思路 本篇文章的主体思路是从element Plus官网引申而来。结合了我以前用vue2element-ui配置主题色生成透明度&#x…

fastApi笔记01-路径参数

路径参数 使用与 Python 格式化字符串相同的语法来声明路径"参数"或"变量" from fastapi import FastAPIapp FastAPI()app.get("/items/{item_id}") def read_item(item_id):return {"item_id": item_id} http://127.0.0.1:8000/i…

年薪最高开到160万,鸿蒙开发人才紧缺!

华为鸿蒙开发人才紧缺 如今&#xff0c;鸿蒙与安卓彻底切割时间似乎越来越近&#xff0c;一批嗅觉灵敏的互联网厂商已经完成或开始启动开发鸿蒙原生App&#xff0c;包括美团、网易、今日头条、钉钉等。随着头部App厂商启动鸿蒙&#xff08;HarmonyOS&#xff09;原生应用开发&…

智慧公厕管理系统:让城市智慧驿站更加智慧舒适

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

提升生产3D渲染效率与品质:挖掘渲染农场的潜力

在当今数字化时代&#xff0c;3D渲染已成为跨越多个领域不可缺少的技术&#xff0c;无论是在建筑视觉化、电影制作、互动媒体还是虚拟现实领域。随着对动态、逼真视觉效果的需求不断增长&#xff0c;3D渲染农场因其出色的运算能力和经济性成为行业中的关键解决方案。本篇文章旨…

使用LangChain结合通义千问API基于自建知识库的多轮对话和流式输出

使用LangChain结合通义千问API基于自建知识库的多轮对话和流式输出 本文章的第三弹&#xff0c;由于LangChain本文不支持直接使用通义千问API进行多轮对话和流式输出&#xff0c;但是自建知识库呢&#xff0c;还需要LangChain,因此我尝试了一下&#xff0c;自建知识库用LangCh…

Spring源码:手写SpringIOC

文章目录 一、分析二、实现1、版本1&#xff1a;实现Bean注入IOC容器&#xff0c;并从容器中获取1&#xff09;定义BeanDefinition2&#xff09;定义BeanDefinition实现类3&#xff09;定义BeanDefinitionRegistry4&#xff09;定义Beanfactory5&#xff09;定义默认Beanfactor…

学会Requests库,就学会了Python接口自动化

在 Python 中进行网络请求是日常开发中的一个常见任务&#xff0c;而 requests 库是处理这类任务的一种强大工 具。requests 提供了简单而灵活的接口&#xff0c;使得发送 HTTP 请求和处理响应变得非常容易。在这篇文章中&#xff0c;我们将深入研究如何使用 requests 库执行各…

grid新建主从一对多

目录 总结一、步骤前端1.第一步-编写tabs的modelBody2.第二步编辑表扩展js 后端--重写表的add和Update方法1.第一步 总结 编写tabs的modelBody后编辑表扩展js在重写后端partial的Service 一、步骤 前端 1.第一步-编写tabs的modelBody 复制下面代码该改的改 <template&…

Golang for 循环

从基础知识到高级技术、并发和通道 Go&#xff08;Golang&#xff09;编程语言中的“for”循环是一个基本而多功能的结构&#xff0c;用于迭代集合、重复执行代码块以及管理循环控制流。Golang的“for”循环语法简洁却强大&#xff0c;为处理多样的循环场景提供了一系列能力。无…