自由的羽毛 发表于 2024-9-2 16:15:40

关于Stable diffusion的各种模型,看这篇就可以了!

前言

这篇文章主要是帮大家梳理下Stable diffusion里面的各种模型,模型在Stable diffusion中占据着至关紧张的职位,不但决定了出图的风格,也决定了出图质量的好坏。
但在第一次接触SD的时候,我就被里面的模型搞到头大,不但有多种模型后缀,模型之间也有很多种类型,如果是新手小白的话,在这一步就很容易被搞晕。而在本期文章,技术巫帮你系统梳理了SD的模型,信任不管是对于小白还是老手,都会有一定帮助!
一、从模型后缀提及

为了更好地明白模型,让我们先从模型的后缀提及。
在Stable diffusion中,有两种比较常见的模型后缀,分别是 .ckpt 和 .safetensors 。
.ckpt 的全称是 checkpoint,中文翻译就是查抄点,这是 TensorFlow中用于保存模型参数的格式,通常与 .meta 文件一起使用,以便恢复训练过程。
简单明白的话,.ckpt模型就比如我们打游戏时,每通过一关时对这一关的一个“存档”,由于你在训练模型时也是如此,没办法保证能一次就训练乐成,中途是有可能由于各种因素失败的,所以可能在训练到20%时就存一次档,训练到40%时又存一次档,这也是为什么它叫 checkpoint 的一个缘故原由。
在提到.ckpt 模型时,我想顺便补充下.pt 模型,前面提到,.ckpt 是TensorFlow 用于保存模型参数的格式,而 .pt 则是 PyTorch保存模型参数的格式。TensorFlow 和 PyTorch都是比较出名的深度学习框架,只不过一个是Google发布的,别的一个是Facebook发布的。
PyTorch 保存模型的格式除了.pt 之外,另有 .pth 和.pkl。.pt 和 .pth 之间并没有本质的差别,而.pkl 只是多了一步用Python的 pickle 模块举行序列化。
讲完了 .ckpt 模型,那么就该说说 .safetensors 模型了。
之所以有 .safetensors 模型,是由于 .ckpt 为了让我们能够从之前训练的状态恢复训练,比如从50%这个点位重新开始训练,从而保存了比较多的训练信息,比如模型的权重、优化器的状态另有一些Python代码。
这种做法有两个题目,一是可能包罗恶意代码,因此不建议从未知或不信托的来源下载并加载.ckpt 模型文件;二是模型的体积较大,一样平常真人版的单个模型的大小在7GB左右,动漫版的在2-5GB之间。
而 .safetensors 模型则是 huggingface 推出的新的模型存储格式,专门为Stable Diffusion模型设计。这种格式的文件只保存模型的权重,而不包罗优化器状态或其他信息,这也就意味着它通常用于模型的最终版本,当我们只关心模型的性能,而不需要了解训练过程中的详细信息时,这种格式便是一个很好的选择。
由于 .safetensors 只保存模型的权重,没有代码,所以会更安全;别的由于保存的信息更少,所以它的体积也比 .ckpt 小,加载也更快,所以现在是比较推荐使用 .safetensors 的模型文件。
总的来说,如果你想在某个SD模型上举行微调,那还是得用 .ckpt 模型;但如果你只关心出图效果,那么使用 .safetensors 模型会更好!
二、从模型分类讲起

在Stable diffusion中,模型主要分为五大类,分别是Stable diffusion模型、VAE模型、Lora模型、Embedding模型以及Hypernetwork模型。
2.1 Stable diffusion大模型
这类模型俗称“底模”,对应下面这个位置。
https://img-blog.csdnimg.cn/img_convert/c15cfd1449c34f1c7ae60b72e6f67648.jpeg
这类模型代表了Stable diffusion的一个知识库,比如说我们训练大模型用的全是二次元的图片,那么它最终生成的图片效果也会趋于二次元;而如果训练的时候用的是真人图片,则最终出图效果则趋于真人。
由于这类模型包罗的素材非常多,训练的时间也非常长,所以体积也比较大,一样平常在2GB以上,后缀的话就是上面提到的 .ckpt 和 .safetensors
2.2 VAE模型
VAE全称Variational autoenconder,中文叫变分自编码器,这种模型可以简单明白为起到一个滤镜的效果。在生成图片的过程中,主要影响的是图片的颜色效果。
一样平常来讲,在生成图片时,如果没有外挂VAE模型,生成的图片团体颜色会比较暗淡;而外挂了VAE模型的图片团体颜色会比较明亮。
https://img-blog.csdnimg.cn/img_convert/ad8044117f08070394c3ae8aea195b88.jpeg
注:左边是没有使用VAE生成的图片,右边是使用VAE生成的图片
不过需要留意的是,有一些大模型在训练的时候就已经嵌入了VAE的效果,所以即使没有使用VAE效果,出图的效果也不会那么暗淡。
别的,有时候使用VAE反倒会出现一个欠好的效果,比如在最后一刻变成一张蓝色废图,这时候就需要把外挂VAE改成自动(Automatic)即可
https://img-blog.csdnimg.cn/img_convert/55673e815c221498d8d691b0e3bcdde4.png
注:像这种即为蓝色废图
2.3 Lora模型
Lora模型想必大家都经常看到了,LoRA的英文全称为Low-Rank Adaptation of Large Language Models,直译为“大语言模型的低阶顺应”。这是一项由微软研究人员提出的大语言模型微调技术,简单来说,它的作用是让这些庞大的模型变得更加灵活和高效,能够在特定任务上举行优化(比如对样式举行一些修改),而不需要重新开始训练整个模型。
比如像下面这个Lora模型,就是在大模型的基础上增加一些丛林水母发光的效果(就是我们不必为了增加这个效果,重新训练我们的大模型,由于训练大模型花费时间很长,通过Lora就可以进步服从)
https://img-blog.csdnimg.cn/img_convert/dfd284abb1e84fbbe479eb6068fbd21b.jpeg
需要留意的是,Lora模型并不能单独使用,它必须与前面的大模型一起使用!
别的,由于Lora训练的图片较少,比如上面的Lora就是用100+图片训练的,所以它的体积一样平常不会很大,一样平常在几十到几百MB之间,如许大大节省了磁盘的占用量。
最后,有些Lora模型启用是需要触发词的(也就是在提示词那里加上这个触发词),比如上面的Lora触发词就是 jellyfishforest
https://img-blog.csdnimg.cn/img_convert/45fed1d9beaae9aa56a2c2b850c8ef31.jpeg
所有的AI设计工具,模型和插件,都已经整理好了,
页: [1]
查看完整版本: 关于Stable diffusion的各种模型,看这篇就可以了!