Stable Diffusion教程-如何使用Dreambooth将任何内容放入Stable Diffusion?
如何使用Dreambooth将任何内容放入Stable Diffusion?
Dreambooth是一种将任何内容(你所爱的人、你的狗、你最喜欢的玩具)放入Stable Diffusion模型的方法。我们将介绍Dreambooth是什么,它是如何工作的,以及如何进行训练。
本教程旨在面向已经使用过Stable Diffusion但尚未使用过Dreambooth的人群。
您将按照逐步指南准备训练图像,并使用我们的一键式Colab笔记本进行Dreambooth训练 - 无需编码!
您将首先了解Dreambooth是什么以及它是如何工作的。如果您只对训练感兴趣,可以跳到逐步指南。
什么是Dreambooth?
Dreambooth是由Google研究团队于2022年发布的一种技术,通过将自定义主题注入模型来微调扩散模型(如Stable Diffusion)。
为什么称其为Dreambooth?根据Google研究团队的说法,
就像一个照相亭,但一旦捕捉到主题,它就可以在你的梦想中合成到任何地方。
听起来很棒!但是它的效果如何呢?下面是研究文章中的一个示例。仅使用特定狗的3张图片(我们称她为Devora)作为输入,Dreambooth模型可以在不同环境中生成Devora的图像。
Dreambooth是如何工作的?
您可能会问,为什么不能简单地使用这些图片进行模型训练的额外步骤?问题在于这样做会导致灾难性的失败,因为训练集非常小,容易出现过拟合和语言漂移。
Dreambooth通过以下方式解决这些问题:
- 使用一个罕见的单词作为新主题(请注意,我在狗的例子中使用了一个罕见的名字Devora),这样它在模型中本来就没有太多含义。
- 对类别进行先前保护:为了保留类别(在上述例子中是狗)的含义,模型在注入主题(Devora)的同时保持了类别(狗)的图像生成。
还有一种类似的技术称为文本反转。不同之处在于Dreambooth微调整个模型,而文本反转则注入一个新词而不是重用罕见词,并仅微调模型的文本嵌入部分。
训练Dreambooth所需的内容
您将需要以下三样东西:
- 几张自定义图像
- 一个唯一的标识符
- 一个类别名称
在上述示例中,唯一标识符是Devora,类别名称是狗。
然后,您需要构建您的实例提示:
a photo of [unique identifier] [class name]
以及一个类别提示:
a photo of [class name]
在上述示例中,实例提示是
a photo of Devora dog
由于Devora是一只狗,类别提示是
a photo of a dog
现在您了解所需内容,让我们开始训练吧!
逐步指南
获取训练图像
与任何机器学习任务一样,高质量的训练数据是取得成功的最重要因素。
拍摄3-10张自定义主题的图片。图片应从不同角度拍摄。
主题还应处于各种背景中,以便模型能够将主题与背景区分开。
我将在教程中使用这个玩具。
调整图像大小
为了在训练中使用这些图像,您首先需要将它们调整为512×512像素,以适应v1模型的训练。
BIRME是一个方便的网站,用于调整图像大小。
- 将您的图像拖放到BIRME页面上。
- 调整每个图像的画布,以使其适当显示主题。
- 确保宽度和高度都为512像素。
- 点击“SAVE FILES”将调整后的图像保存到计算机上。
或者,如果您只想完成教程,也可以下载我调整后的图像。
训练
我建议使用Google Colab进行训练,因为它可以节省设置的麻烦。以下笔记本是根据Shivam Shrirao的存储库进行修改的,但更加用户友好。如果您喜欢其他设置,请按照存储库的说明进行操作。
整个训练过程大约需要30分钟。如果您不经常使用Google Colab,您可能可以在不断开连接的情况下完成训练。购买一些计算资源以避免断开连接的烦恼。截至2022年12月,10美元可以获得50小时的计算资源,因此成本不高。
笔记本将模型保存到您的Google Drive。如果您选择fp16(推荐),请确保您至少有2GB,如果不选择,则为4GB。
- 获取此Dreambooth指南并打开Colab笔记本。
- 如果您要从Stable Diffusion v1.5模型(推荐)进行训练,无需更改MODEL_NAME。
- 输入实例提示和类别提示。对于我的图像,我将我的玩具兔子命名为zwx,因此我的实例提示是“zwx玩具的照片”,我的类别提示是“一个玩具的照片”。
- 点击左侧单元格上的播放按钮(▶️)开始处理。
- 授予访问Google Drive的权限。目前,除了将模型文件保存到Google Drive中,没有其他简单的下载模型文件的方法。
- 点击“选择文件”上传调整大小后的图像。
- 完成训练大约需要30分钟。训练完成后,您将看到一些由新模型生成的示例图像。
- 您的自定义模型将保存在您的Google Drive中的Dreambooth_model文件夹下,请下载模型检查点文件并在您喜欢的GUI中安装它。
测试模型
您还可以使用笔记本的第二个单元格来测试使用模型。
使用提示
oil painting of zwx in style of van gogh
使用模型
您可以在AUTOMATIC1111 GUI中使用模型检查点文件。它是一个免费且功能齐全的GUI,您可以在Windows、Mac上安装,或在Google Colab上运行。
如果您尚未使用过GUI,并且模型文件已保存在Google Drive中,最简单的方法是选择Google Colab选项。您只需要将模型的路径放入Google Drive即可使用。有关详细信息,请参阅逐步教程。
如何从不同的模型进行训练
您需要更改MODEL_NAME和BRANCH。
目前,笔记本仅支持训练半精度v1和v2模型。您可以通过查看模型大小来判断。对于v1模型,它的大小应约为2GB。
您可以在Huggingface页面上找到模型名称和分支名称。下面显示的页面在这里。