不是所有人都有4090的(dreambooth)

创建于 2024-02-05 / 最近更新于 2024-02-05 / 1347
字体: [默认] [大] [更大] 收藏文档

1. 没有显卡,炼个P(基础准备)

dreambooth对于显存的最低要求就已经达到了12GB,想要一些其他的效果还需要更高的显存。

dreambooth有着比LoRA更简单的训练方法和更强的模型效果。

2. 简介

DreamBooth 是一种定制个性化的 TextToImage 扩散模型的方法。仅需少量训练数据就可以获得极佳的效果。

Dreambooth 基于 Imagen 研发,使用时只需将模型导出为 ckpt,然后就可以被加载到各种 UI 中。

然而,Imagen 的模型和预训练的权重都不可用。所以最初的 Dreambooth 并不适用于稳定扩散。但后面 diffusers 实现了 Dreambooth 这一功能,并且完全适配了 Stable Diffusion。

Diffusers 提供跨多种模态(例如视觉和音频)的预训练扩散模型,作为扩散模型推理和训练的模块化工具箱提供支持。 本节使用 Shivam Shirao 的 diffusers 分支版本讲解参数,配置衍生自 ShivamShrirao/diffusers

image.png

3. 选择

l  适用于喜欢 YAML 文件配置的推荐使用HCP-Diffusion

l  适用于 本地/AutoDL 的 DreamBooth 版本,由 Kurosu Chan 提供。

l  适用于 AutoDL 的 DreamBooth 版本,由 https://www.bilibili.com/video/av348289643 提供。

l  适用于 本地/AutoDL 的 封装镜像,由 Bai cai 提供。

l  适用于 WebUI 的 插件,注意这会在启动脚本锁一个新的 Torch CUDA 版本,可能会带来网络问题与兼容问题等。

l  适用于 Colab 的 笔记本,由 Nyanko Lepsoni 提供。

l  适用于 Colab 的 RcINS Colab 笔记本

l  (Colab 笔记本来自 社区置顶

4. 数据集

数据集的创建是在 Dreambooth 训练 中获得良好、稳定结果的最重要部分。

class 和 instance 的质量决定生成的质量。

内容要求

一定要使用高质量的样本,运动模糊或低分辨率等内容会被训练到模型里,影响作品质量。

当为一个特定的风格进行训练时,挑选具有良好一致性的样本。理想情况下,只挑选你要训练的艺术家的图像。避免粉丝艺术或任何具有不同风格的东西,除非你的目标是像风格融合。

对于主题,黑色或白色背景的样本有极大的帮助。透明的背景也可以,但有时会在主体周围留下白色轮廓。

如果需要使你的 Dreambooth 模型更加多样化,尽量使用不同的环境、灯光、发型、表情、姿势、角度和与主体的距离。

请确保包括有正常背景的图片(例如,对象在一个场景中的图片)。只使用带简单背景的图片,效果会比较差。

避免在你的渲染图中出现手粘在头上的情况,请删除所有手太靠近或接触头部的图片。

如果需要避免渲染图中出现鱼眼镜头效果,可以删除所有自拍图片。

为了避免不自然的过度模糊,确保图像不包含假的重景深或虚化。

数据集规范化

一旦你收集了数据集的照片,将所有图片裁剪并调整为 512x512 的正方形(你可以利用WebUI的训练工具批量裁剪),并删除任何水印、商标、被图片边缘切断的人/肢体,或其他你不希望被训练的内容。以 PNG 格式保存图像,并将所有图像放在 train 文件夹中。当然你也可以开启Arb桶。

处理

处理图片的方式有许多,常见的有反转,旋转,亮度和裁切。将图片打碎或者对背景 / 大头等单独裁切,也许有助于提高训练效果。

5. 开始训练/请相信默认参数

【PS:由于笔者多使用HCP-diffusion进行训练,与参考文档部分内容有所不同,所以部分操作内容可能无法很好的讲解,固暂且搁置】

【我自己仅能讲解经验类的东西,并不能解释其原理】

总有人不相信默认的参数,去问群友得出了更离谱的答案。新人想要入坑dreambooth请先使用默认参数,然后再根据实际效果调整对应的参数。


1 人点赞过