每日分享
🗒️(训练篇) Stable Diffusion训练方法对比
00 分钟
2023-7-19
2023-7-19
type
status
date
slug
summary
tags
category
icon
password
 
Textual Inversion、Hypernetwork、Dreambooth 和 LoRA 是四种不同的 Stable Diffusion 模型训练方法。它们都可以用来训练 Stable Diffusion 模型,但它们之间存在一些差异,我们可以通过下面的对比来考虑使用哪种训练方式。
如果你知道模型中已经可以产生你想要的东西,例如,某种风格,或者已经 "在里面 "的特定名人,你可以使用这个模型,但是当你发现模型里面没有你要的人或者给严重错误标识了,那你就可以收集这种人物的样本图像,创建一个 Embedding训练,并使用对应关键字标识出来。

Textual Inversion

Textual Inversion(也称为 Embedding)是一种使用文本提示来训练模型的方法。它根据模型引用给定的图像并选择最匹配的图像。你做的迭代越多越好,能够在保持图像质量的同时,快速生成大量图像。这种方法对计算资源要求较低,适用于需要快速生成大量高质量图像的场景。
特点:
  • 生成的模型文件小,大约几十KB
  • 通常适用于转换图像风格
  • 使用时不需要加载模型,只需要在提词中embeddings中的关键tag
  • 本地训练时对计算资源要求不高
  • 可以通过生成的PT文件覆盖在原有基础上继续训练
  • 模型关键字尽量是不常见的词语
  • 推荐训练人物
训练时关键参数设定:
  • learning_rate: 0.05:10, 0.02:20, 0.01:60, 0.005:200, 0.002:500, 0.001:3000, 0.0005
  • number of vectors per token:按图片数量设置(图片数量小于10设置为2,10-30张设置范围2~3,40-60张设置范围5~6,60-100张设置范围8-12,大于100张设置范围12~16)
  • max_train_steps: 3000(起步3000步)

Hypernetwork

Hypernetwork 是一种使用神经网络来生成模型参数的方法。它可以用来从模型内部找到更多相似的东西,使得生成为近似内容图像, 如果你想训练人脸或特定的风格,并且如果你用Hypernetwork生成的 "一切 "看起来都像你的训练数据,那么Hypernetwork是一个不错的选择。你不能生成混合训练的图像,比如一组非常不同风格各异的猫。不过,你可以使用超网络进行绘画,将不同的训练数据纳入一个图像,改变图像的整个输出。
特点:
  • 生成的模型文件比Embedding大,大约几十MB
  • 通常训练艺术风格
  • 推荐训练画风
训练时关键参数设定:
  • learning_rate: 0.000005:1000,0.0000025:10000,0.00000075:20000,0.0000005:30000,0.00000025:-1
  • prompt template file: 对应风格类型文件可以编辑只留下一个 [fileword],[name] 在那里,删除多余的描述

Dreambooth

Dreambooth 是一种使用少量图像来训练模型的方法,是一种基于深度学习的图像风格转换技术。它可以将一张图片的风格应用到另一张图片上,以生成新的图像,Dreambooth 的一个优点是它可以生成高质量的艺术作品,而无需用户具备专业艺术技能。
特点:
  • 模型文件很大,2-4GB
  • 适于训练人脸,宠物和物件
  • 使用时需要 加载模型
  • 可以进行模型融合,跟其他模型文件融合成新的模型
  • 本地训练时需要高显存,>=12GB
  • 推荐训练人物*画风
训练时关键参数:
  • 高学习率和过多的训练步骤将导致过度拟合(换句话说,无论提示如何,模型只能从训练数据生成图像)。
  • 低学习率和过少的步骤会导致学习不足,这是因为模型无法生成训练过的概念。
  • 物件:400步,2e-6
  • 人脸:1500步,1e-62e-6
  • Training Steps Per Image (Epochs):(根据你图片的数量设定,大概值为你想训练的总步数/图片数量)
  • Sanity Sample Prompt: 是否过度训练参数设定,我们可以加上一些特征从而去判断训练过程中是否出现过度拟合如填入 person of XX red hair (说明:XX替换为你的关键字,我们在这里加入了红头发的特征,如果出训练输出图像出现了非红头发此时我们就知道过度拟合了,训练过度了)

Lora

Lora是一种使用少量图像来训练模型的方法。与 Dreambooth 不同,LoRA 训练速度更快:当 Dreambooth 需要大约二十分钟才能运行并产生几个 GB 的模型时,LoRA 只需八分钟就能完成训练,并产生约 5MB 的模型,推荐使用kohya_ss GUI 进行lora训练。
特点:
  • 模型大小适中,8~140MB
  • 使用时只需要加载对应的lora模型,可以多个不同的(lora模型+权重)叠加使用
  • 可以进行lora模型其他模型的融合
  • 本地训练时需要显存适中,>=7GB
  • 推荐训练人物
参考信息:
  1. https://www.reddit.com/r/StableDiffusion/comments/xqi1t4/textual_inversion_versus_dreambooth/
  1. https://www.reddit.com/r/StableDiffusion/comments/z8w5z2/the_difference_between_dreambooth_models_and/
  1. https://www.reddit.com/r/StableDiffusion/comments/xjlv19/comparison_of_dreambooth_and_textual_inversion/
  1. https://wandb.ai/psuraj/dreambooth/reports/Dreambooth-training-analysis--VmlldzoyNzk0NDc3#textual-inversion-and-dreambooth
  1. https://ericri.medium.com/ai-ar
上一篇
让ChatGPT帮忙写Prompt的问题模板;其他用户按主题 + 问题模板的回答告知ChatGPT,即可生成相对应的AI文章。
下一篇
输入一个单词,自动生成学习资料

评论
Loading...