【AIGC】Stable Diffusion的采样器入门

在这里插入图片描述

在 Stable Diffusion 中,采样器(Sampler)是指用于生成图像的一种技术或方法,它决定了模型如何从潜在空间中抽样并生成图像。采样器在生成图像的过程中起着重要作用,影响着生成图像的多样性、质量和创造性。以下是对 Stable Diffusion 采样器的详细解释:

潜在空间抽样:
采样器负责从潜在空间中抽样,并将这些样本输入到生成器中以生成图像。潜在空间是一个高维向量空间,其中每个向量代表一个潜在的图像表示。通过从潜在空间中抽样不同的向量,采样器可以生成不同的图像样本。

采样策略:
采样器决定了从潜在空间中抽样的方式和策略。不同的采样策略可能会导致生成图像的多样性和质量不同。例如,随机采样器可以随机地从潜在空间中抽取样本,而插值采样器可以在潜在空间中进行线性插值以生成连续变化的图像。

温度参数
一些采样器可能会引入温度参数,用于控制采样过程中的随机性。通过调整温度参数,可以影响生成图像的多样性和创造性。较高的温度值会增加随机性,导致生成更多样化的图像,而较低的温度值则会减少随机性,使生成图像更加稳定。

采样方法:
采样器还可以采用不同的方法来选择从潜在空间中抽样的样本。常见的方法包括随机采样、插值采样、聚类采样等。每种方法都有其优缺点,适用于不同的应用场景和需求。
在这里插入图片描述
Stable Diffusion 的 Web UI 提供了大量的采样器供用户选择,这些采样器基于不同的算法、数学模型或生成模型,具有不同的特点:

Euler A 和 Euler:这两种采样器基于 Euler 方法,是一种简单而直接的数值积分方法。它们在计算速度上较快,但可能会产生较大的误差,导致生成图像的质量较低。

Heun:Heun 采样器是一种改进的数值积分方法,具有较高的数值精度和稳定性。它通常能够生成较高质量、较清晰的图像,但可能稍微增加计算成本。

DDIM:DDIM(Denoising Diffusion Implicit Model)采样器基于去噪扩散过程,通过迭代去噪来生成逼真的图像。它可能具有较高的图像质量和清晰度,但计算成本较高。

DPM++ 2M Karras 和 DPM++ SDE Karras:这些采样器基于 Karras 或 SDE 模型,通常用于生成高质量、逼真的图像。它们可能结合了复杂的生成模型和算法,适用于要求较高的图像生成任务。

DPM++ 2M SDE Exponential:这是基于指数型随机微分方程(SDE)的采样器,用于控制图像生成过程中的噪声和多样性。它可能提供了一种不同的生成策略,可用于生成具有特定特征的图像。

PLMS:PLMS(Power-Law Mean Squared)采样器是一种改进的隐式模型,用于生成图像。它可能具有更好的数值稳定性和收敛性,适用于生成质量较高的图像。

UniPC:UniPC 采样器是一种基于单个预测器的采样器,可能具有较低的计算成本和较快的生成速度,但可能会牺牲一些图像质量。

Restart:Restart 采样器可能使用了一种特殊的重新启动机制,用于提高生成过程的稳定性和收敛性。

DPM adaptive:这是一种自适应的采样器,可能根据生成过程中的反馈信息动态调整参数和策略,以优化生成结果。

##############################################################################################
经典ODE求解器
Euler采样器:欧拉采样方法。
Heun采样器:欧拉的一个更准确但是较慢的版本。
LMS采样器:线性多步法,与欧拉采样器速度相仿,但是更准确。

祖先采样器
名称中带有a标识的采样器表示这一类采样器是祖先采样器。这一类采样器在每个采样步骤中都会向图像添加噪声,采样结果具有一定的随机性。
Euler a
DPM2 a
DPM++ 2S a
DPM++ 2S a Karras
由于这一类采样器的特性,图像不会收敛。因此为了保证重现性,例如在通过多帧组合构建动画时,应当尽量避免采用具有随机性的采样器。需要注意的是,部分采样器的名字中虽然没有明确标识属于祖先采样器,但也属于随机采样器。如果希望生成的图像具有细微的变化,推荐使用variation seed进行调整。

DDIM与PLMS(已过时,不再使用
DDIM(去噪扩散隐式模型)和PLMS(伪线性多步方法)是伴随Stable Diffusion v1提出的采样方法,DDIM也是最早被用于扩散模型的采样器。PLMS是DDIM的一种更快的替代方案。当前这两种采样方法都不再广泛使用。

DPM与DPM++
DPM(扩散概率模型求解器)这一系列的采样器于2022年发布,代表了具有类似体系结构的求解器系列。

由于DPM会自适应调整步长,不能保证在约定的采样步骤内完成任务,整体速度可能会比较慢。对Tag的利用率较高,在使用时建议适当放大采样的步骤数以获得较好的效果。

DPM++是对DPM的改进,DPM2采用二阶方法,其结果更准确,但是相应的也会更慢一些。

UniPC
UniPC(统一预测校正器),一种可以在5-10个步骤中实现高质量图像生成的方法。

采样器的选择推荐使用网上另一个大佬的结论

1、如果只是想得到一些较为简单的结果,选用欧拉(Eular)或者Heun,并可适当减少Heun的步骤数以减少时间

2、对于侧重于速度、融合、新颖且质量不错的结果,建议选择:
DPM++ 2M Karras, Step Range:20-30
UniPc, Step Range: 20-30

3、期望得到高质量的图像,且不关心图像是否收敛:
DPM ++ SDE Karras, Step Range:8-12
DDIM, Step Range:10-15

4、如果期望得到稳定、可重现的图像,避免采用任何祖先采样器

图像收敛通常指的是生成的图像在训练或优化过程中逐渐变得稳定和一致,不再发生显著变化的过程。在图像生成任务中,收敛是指生成模型学习到的图像分布逼近真实图像分布的过程。在 Stable Diffusion或其他图像生成模型中,图像收敛通常意味着生成的图像质量和逼真度逐渐提高,同时图像的多样性和噪声减少。这可能是通过调整模型参数、增加训练数据、改进生成算法等方式实现的。当生成的图像在训练过程中达到稳定状态,不再发生显著的变化时,我们可以说模型已经收敛。 图像收敛是图像生成任务中的一个重要目标,它表示模型学习到了数据的重要特征和分布规律,并能够生成与真实数据相似的图像。在使用 Stable Diffusion 或其他图像生成模型时,了解和监控图像的收敛过程是评估模型性能和训练进度的重要指标之一。

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

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

相关文章

C++动态规划-线性dp算法

莫愁千里路 自有到来风 CSDN 请求进入专栏 X 是否进入《C专栏》? 确定 目录 线性dp简介 斐波那契数列模型 第N个泰波那契数 思路: 代码测试: 三步问题 思路: 代码测试: 最小花费爬楼梯 思路…

具有集中目录服务器的 P2P 工作方式

P2P 工作方式概述 在 P2P 工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输。 具有集中目录服务器的 P2P 工作方式 Napster 最早使用 P2P 技术,提供免费下载 MP3 音乐。 Napster 将所有音乐文件的索引信息都集中存放在 Napster 目录服务…

【Pygame手册02/20】pygame模块display控制窗口和屏幕

目录 一、说明二、pygame.display接口函数2.1 函数表格2.2 pygame.display的功能 三、详细的函数调用3.1 pygame.display.init()3.2 pygame.display.quit()3.3 pygame.display.get_init()3.4 pygame.display.set_mode()3.5 pygame.display.get_surface()3.6 pygame.display.fl…

IDEA工程与模块管理

一、IDEA项目结构 层级关系: project(工程) - module(模块) - package(包) - class(类)具体的: 一个project中可以创建多个module一个module中可以创建多个package一个package中可以创建多个class二、Project和Module的概念 在 IntelliJ IDEA 中&…

问题:如果要编辑建好的建筑和空间,需要在分级按钮( )和细分操作按钮楼层下,才能选中建筑物和空间; #微信#媒体#其他

问题:如果要编辑建好的建筑和空间,需要在分级按钮( )和细分操作按钮楼层下,才能选中建筑物和空间; A、楼层 B、规划图 C、全景 D、建筑物 参考答案如图所示

react 【七】各种hooks的使用/SPA的缺点

文章目录 1、Hook1.1 为什么会出现hook1.2 useState1.3 useEffect1.4 useContext1.5 useReducer1.6 useCallback1.7 useMemo1.8 useRef1.8.1 ref绑定dom1.8.2 ref解决闭包缺陷 1.9 useImperativeHandle1.10 useLayoutEffect1.11 自定义Hook1.11.1 什么是自定义Hook1.11.2 Conte…

用HTML Canvas和JavaScript创建美丽的花朵动画效果

目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>flower</title><style>* {margin: 0;padding: 0;overflow: hidden;backg…

jvm 内存模型介绍

一、类加载子系统 1、类加载的过程&#xff1a;装载、链接、初始化&#xff0c;其中&#xff0c;链接又分为验证、准备和解析 装载&#xff1a;加载class文件 验证&#xff1a;确保字节流中包含信息符合当前虚拟机要求 准备&#xff1a;分配内存&#xff0c;设置初始值 解析&a…

【AIGC】Stable Diffusion的模型入门

下载好相关模型文件后&#xff0c;直接放入Stable Diffusion相关目录即可使用&#xff0c;Stable Diffusion 模型就是我们日常所说的大模型&#xff0c;下载后放入**\webui\models\Stable-diffusion**目录&#xff0c;界面上就会展示相应的模型选项&#xff0c;如下图所示。作者…

【Qt】qt常用控件之QIcon 以及 qrc机制设置图片路径(QtCreator)

文章目录 1. QIcon / windowIcon2. setIcon() 与 setwindowIcon()2.1 setIcon() 介绍与使用2.2 setWindowIcon 介绍与使用 3. 路径问题 & qrc机制的引入3.1 绝对路径 / 相对路径 的问题3.2 qrc机制3.3 在QtCreator下利用qrc机制引入图片 1. QIcon / windowIcon QIcon QIco…

C语言strlen和sizeof的区别

strlen和sizeof没有联系 前者是库函数&#xff0c;统计长度的标志是是否有\0 后者是操作符。计算长度的标志是字节数量。

蓝桥杯:C++排列与组合

排列是暴力枚举时的常见操作。有以下两种情况。 C的 next_permutation()是全排列函数&#xff0c;只能输出序列中所有元素的全排列。 本节将给出手写排列和组合的代码。因为在很多场合中不能使用系统自带的排列函数&#xff0c;所以需要自己编写。 全排列函数&#xff1a;nex…