prompt
1 | # 杰作,最好的质量 |
negative prompt
1 | # (最差质量,低质量),(变形,扭曲,毁容,眼睛不好),错误的鼻子,奇怪的嘴,奇怪的耳朵,糟糕的解剖,错误的解剖,截肢,多肢,缺肢,浮肢,(坏牙,变异的手,错误的手指:1.2),断肢,变异,丑陋,恶心,坏手4, |
sampler
采样器就是通过去除图像噪声,生成随机图像并重复几次这个过程得到干净的图像。去噪的方法有很多种。通常需要在速度和准确性之间做出权衡。
此外这里同时还要引出另外一个功能采样迭代步数(Steps),简单来说采样迭代步数(Steps)就是希望出图时,采样器来计算多少步数来出图,但并非步数越多越好,不同出图效果、模型选择等在使用采样迭代步数上都需要有相应的调整,多数情况迭代步数20-30步就可以了。
名称 | 描述 |
---|---|
Euler a | 是个插画,tag利用率仅次与DPM2和DPM2 a,环境光效菜,构图有时很奇葩 |
Euler | 柔和,也适合插画,环境细节与渲染好,背景模糊较深。 |
Heun | 单次出图平均质量比Euler和Euler a高,但速度最慢,高step表现好。 |
DDIM | 适合宽画,速度偏低,高step表现好,负面tag不够时发挥随意,环境光线与水汽效果好,写实不佳。 |
DPM2 | 该采样方法对tag的利用率最高,几乎占80%+ |
DPM2 a | 几乎与DPM2相同,对人物可能会有特写 |
PLMS | 单次出图质量仅次于Heun。 |
LMS | 质感OA,饱和度与对比度偏低,更倾向于动画的风格 |
LMS Karras | 会大改成油画的风格,写实不佳。 |
DPM fast | 此为上界开发者所遗留的测试工具,不适合魔术师使用 |
模型类型
模型后缀
.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的一个知识库,比如说我们训练大模型用的全是二次元的图片,那么它最终生成的图片效果也会趋于二次元;而如果训练的时候用的是真人图片,则最终出图效果则趋于真人。
由于这类模型包含的素材非常多,训练的时间也非常长,所以体积也比较大,一般在2GB以上,后缀的话就是上面提到的 .ckpt
和 .safetensors
vae模型
VAE全称Variational autoenconder,中文叫变分自编码器,这种模型可以简单理解为起到一个滤镜的效果。在生成图片的过程中,主要影响的是图片的颜色效果。
一般来讲,在生成图片时,如果没有外挂VAE模型,生成的图片整体颜色会比较暗淡;而外挂了VAE模型的图片整体颜色会比较明亮。
不过需要注意的是,有一些大模型在训练的时候就已经嵌入了VAE的效果,所以即使没有使用VAE效果,出图的效果也不会那么暗淡。
另外,有时候使用VAE反倒会出现一个不好的效果,比如在最后一刻变成一张蓝色废图,这时候就需要把外挂VAE改成自动(Automatic)即可
Lora模型
LoRA的英文全称为Low-Rank Adaptation of Large Language Models,直译为“大语言模型的低阶适应”。这是一项由微软研究人员提出的大语言模型微调技术,简单来说,它的作用是让这些庞大的模型变得更加灵活和高效,能够在特定任务上进行优化(比如对样式进行一些修改),而不需要从头开始训练整个模型。
比如在大模型的基础上增加一些森林水母发光的效果(就是我们不必为了增加这个效果,重新训练我们的大模型,因为训练大模型花费时间很长,通过Lora就可以提高效率)
需要注意的是,Lora模型并不能单独使用,它必须与前面的大模型一起使用!
另外,由于Lora训练的图片较少,比如上面的Lora就是用100+图片训练的,所以它的体积一般不会很大,一般在几十到几百MB之间,这样大大节省了磁盘的占用量。
最后,有些Lora模型启用是需要触发词的(也就是在提示词那里加上这个触发词)
Embedding模型
Embedding模型也称为textual inversion,即文本反转。在Stable Diffusion中,Embedding模型使用了嵌入技术以将一系列输入提示词打包成一个向量,从而提高图片生成的稳定性和准确性。
简单来说,如果我们要通过SD生成火影里面的鸣人形象,我们需要好几个提示词来进行描述,比如什么外形,穿什么颜色的衣服,而Embedding就是将这一系列提示词打包成为一个新的提示词,假设叫鸣人。
这样后续我们只要引入这个 Embedding模型,然后输入鸣人提示词,就会生成我们想要的鸣人形象,提高了写提示词的效率!
由于Embedding模型只是将提示词整合了,所以它的体积非常小,一般在几十到几百KB之间。
Hypernetwork模型
Hypernetwork可以翻译为“超网络”,它是一种基于神经网络的模型,可以快速生成其他神经网络的参数,常应用于Novel AI的Stable Diffusion模型中。
Hypernetwork可以用来对模型进行微调,比如在Stable Diffusion这样的图像生成模型中,通过插入一个小型的超网络来修改输出风格,而不改变原始模型的核心结构
这个模型的作用其实和Lora模型功能有点重叠,所以在实际使用中,用得比较少。
ControlNet模型
ControlNet模型是Stable Diffusion的一个插件,用于图像的精准控制,如姿势识别、边缘检测等。它通过预处理器和模型两部分工作,使得AI绘画上升到生产力级别。
适用于需要高精度控制生成图像的场景,如服装设计、角色动画等。
DreamBooth模型
DreamBooth模型用于训练预调模型,使用指定主题的图像进行演算,训练后可以让模型产生更精细和个性化的输出图像。
适用于需要根据特定主题或场景生成精细和个性化图像的场景,如主题艺术创作、场景设计等。
LyCORIS模型
LyCORIS模型属于Lora模型的一种,用于特定风格的图像生成,如微缩世界风格等。它通常体积较小,训练方式与常见的Lora不同,但效果似乎会更好。
适用于需要生成具有特定风格或效果的图像,如微缩模型、特定风格的艺术创作等。
模型的剪枝
大家在下载模型的时候,可能还会看到两个版本,一个版本带 pruned
,另外一个版本是带 pruned-emaonly
这是因为大模型在训练的时候会保存两组不同类型的权重:第一组取的是最后一次的权重,也就是只带 pruned
的模型
在深度学习模型训练的过程中,模型的参数(或称为“权重”)会在每一次迭代(或训练步)中根据损失函数(loss function)对数据的拟合情况进行调整。当训练结束时,模型所拥有的权重就是经过所有训练样本反复教导后的最终状态。这部分权重代表了模型在训练数据上学习到的知识,没有经过额外的平滑处理,直接反映了最后一次更新的结果
而第二组则是最近几次迭代的权重进行加权平均,加权平均即EMA(Exponential Moving Average),使用加权平均主要是减少短期波动的影响,这样得到的模型泛化性更好,也更稳定,也就是带 pruned-emaonly
的模型
由于带 pruned-emaonly
的模型体积更小,所以占用的显存(VRAM)也更少,适合用于直接出图;带 pruned 的模型体积更大,占用的显存也更多,更适合对其进行微调
链接
c站 https://civitai.com/
arthub https://arthub.ai
哩布哩布ai https://www.liblibai.com/#/
模型网 https://huggingface.co/
ai专属图站 https://aibooru.online/
pixai图站 https://pixai.art/
finding图站 https://finding.art/#/
aigodilike https://www.aigodlike.com/
模型类型说明 https://mp.weixin.qq.com/s/sq4AbWpF5JXPSrmzPKLoJg
controlNet说明 https://zhuanlan.zhihu.com/p/619721909
收藏
https://civitai.com/models/60538/dont-starve-together
https://civitai.com/models/73649/forgottenmix-cartoon-25d
https://civitai.com/models/7240/meinamix
https://civitai.com/models/6755/cetus-mix
https://civitai.com/models/54917/breakdomainrealistic
https://huggingface.co/chenxluo/QteaMix