如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图

Dreambooth 是一种将任何东西——你所爱的人、你的狗、你最喜欢的玩具——放入 Stable Diffusion 模型中的方法。我们将介绍什么是 Dreambooth,它是如何工作的,以及如何进行培训。

本教程面向使用过 Stable Diffusion 但以前没有使用过 Dreambooth 的人。

您将按照分步指南准备您的训练图像,并使用我们简单的一键式 Colab 笔记本进行 dreambooth 培训。无需编码!

您可以将现实生活中的物体或人物放入 Stable Diffusion 模型中,并生成不同样式和设置的图像。

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(1)
训练图像。
此图像具有空的 alt 属性;其文件名为 download-6.png
AI图像。
如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(3)
训练图像。
如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(4)
AI图像。

您知道许多自定义模型都是使用 Dreambooth 训练的吗?完成本教程后,您将知道如何制作自己的教程。

您将首先了解 Dreambooth 是什么以及它是如何工作的。但是,如果您只对培训感兴趣,则可以跳到分步指南

软件

要按照本教程操作并执行培训,您需要

任一选项都授予您访问培训笔记本和示例图像的权限。

注意

  1. 此笔记本只能训练 Stable Diffusion v1.5 检查点模型。如果您对 SDXL 模型感兴趣,请训练 SDXL LoRA 模型。
  2. 此笔记本可以使用免费的 Colab 帐户运行。付费帐户允许您使用更快的 V100 GPU,从而加快训练速度。

什么是Dreambooth?

Dreambooth 由 Google 研究团队于 2022 年发布,是一种通过将自定义主题注入模型来微调扩散模型(如 Stable Diffusion)的技术。

为什么叫Dreambooth?根据谷歌研究团队的说法,

它就像一个照相亭,但一旦拍摄到主题,它就可以被合成到你梦想的任何地方。

听起来很棒!但它的效果如何?以下是研究文章中的一个例子。仅使用特定狗的 3 张图像(我们称她为 Devora)作为输入,Dreamboothed 模型可以在不同上下文中生成 Devora 的图像。

Dreambooth 研究文章中的 Dreambooth 示例
只需 3 张训练图像,Dreambooth 即可将自定义主题无缝注入扩散模型。

Dreambooth 是如何工作的?

你可能会问,为什么你不能用这些图像用额外的步骤来训练模型。问题在于,由于过度拟合(因为数据集非常小)和语言漂移,这样做会导致灾难性的失败。

Dreambooth 通过以下方式解决这些问题

  1. 使用一个生僻的词来表示新主题(请注意,我用了一个生僻的名字,Devora,来表示狗),这样它一开始就在模型中没有太多的意义。
  2. 的先验保留:为了保留(在上述情况下为狗)的意义,对模型进行了微调,即注入主体 (Devora),同时保留类(狗)的图像生成。

还有另一种类似的技术称为文本反转。不同之处在于,Dreambooth 对整个模型进行了微调,而文本反转则注入了一个新词,而不是重用一个罕见的词,并且只微调了模型的文本嵌入部分。

训练 Dreambooth 需要什么

您将需要三样东西

  1. 一些自定义图像
  2. 唯一标识符
  3. 类名

在上面的例子中。唯一标识符是 Devora。类名是 dog

然后,您需要构建实例提示符:

[唯一标识符] [班级名称] 的照片

以及一个类提示

[班级名称]的照片

在上面的示例中,实例提示符为

德沃拉狗的照片

由于 Devora 是一只狗,因此类提示

一张狗的照片

现在您了解了自己的需求,让我们开始培训吧!

分步指南

步骤 1:准备训练映像

与任何机器学习任务一样,高质量的训练数据是您成功的最重要因素。

为您的自定义主题拍摄 3-10 张照片。照片应从不同角度拍摄。

主体还应处于各种背景中,以便模型可以将主体与背景区分开来。

我将在教程中使用这个玩具。

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(6)
主题的图像。

第 2 步:将图像大小调整为 512×512

为了在训练中使用图像,首先需要将它们的大小调整为 512×512 像素,以便使用 v1 模型进行训练。

BIRME是一个方便的调整图像大小的网站。

  1. 将您的图像拖放到 BIRME 页面。
  2. 调整每个图像的画布,使其充分显示主题。
  3. 确保宽度和高度均为 512 像素。
  4. 按 SAVE FILES 将调整大小的图像保存到计算机。
如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(7)

或者,如果您想完成教程,您可以下载我调整大小的图像。

要下载训练映像,请执行以下操作:

第 3 步:培训

我建议使用 Google Colab 进行培训,因为它可以省去设置的麻烦。以下笔记本是从 Shivam Shrirao 的存储库修改而来的,但更人性化。如果您更喜欢其他设置,请按照存储库的说明进行操作。

整个培训大约需要 30 分钟。如果您不经常使用 Google Colab,您可能可以在不断开连接的情况下完成培训。购买一些计算积分,以避免断开连接的挫败感。

笔记本会将模型保存到您的 Google 云端硬盘。如果您选择(推荐),请确保您至少有 2GB,如果您没有,请确保至少有 4GB。fp16

1. 打开 Colab 笔记本。

2. 输入MODEL_NAME。 您可以使用 Stable Diffusion v1.5 模型(HuggingFace 页面)。您可以在 HuggingFace 上找到更多模型 此处.模型名称的格式应为 。user/model

runwayml/稳定扩散-v1-5

3. 输入 BRANCH 名称。有关模型和分支名称,请参阅下面的屏幕截图。

FP16型

Huggingface 型号名称和分支名称

4.放入实例提示和类提示。对于我的图像,我将我的玩具兔子命名为 zwx,所以我的实例提示是:

ZWX玩具的照片

我的课堂提示是:

玩具的照片

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(9)

5.点击 播放 单元格左侧的按钮 ( ▶️ ) 开始处理。

6. 授予访问 Google 云端硬盘的权限。目前,除了将模型文件保存到 Google Drive 之外,没有简单的方法可以下载模型文件。

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(10)

7. 按“选择文件”上传调整大小的图像。

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(11)

8. 完成培训需要 10-30 分钟,具体取决于您使用的运行时计算机。完成后,您应该会看到从新模型生成的一些示例图像。

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(12)

8. 您的自定义模型将保存在您的 Google Drive 文件夹下。下载模型检查点文件并将其安装在您喜欢的 GUI 中。Dreambooth_model

就是这样!

步骤 4:测试模型(可选)

还可以使用笔记本的第二个单元格来测试模型。

提示:

梵高风格的ZWX油画

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(13)

使用提示符

梵高风格的ZWX油画

对于我新训练的模型,我对我得到的感到满意:

此图像具有空的 alt 属性;其文件名为 download-6.png
来自 dreambooth 模型的图像。

请注意,您必须在训练完成后立即运行此单元。否则,您的笔记本可能会断开连接。

使用模型

您可以在 GUI 中使用模型检查点文件AUTOMATIC1111。它是一个免费且功能齐全的 GUI。您可以在 Windows、Mac 和 Google Colab 上运行它。

将该模型与 Stable Diffusion Colab 笔记本一起使用非常简单。您的新模型会保存在 Google 云端硬盘的文件夹中。它可以在不移动的情况下加载。AI_PICS/models

如果您在本地使用 AUTOMATIC1111,请将 dreambooth 模型下载到本地存储,并将其放在 stable-diffusion> models > Stable-diffusion 文件夹中。

如何从不同的模型进行训练

如果您已经拥有要生成的图像类型,那么 Stable Diffusion v1.5 可能不是最好的开始模型。例如,如果您只想使用模型生成逼真的图像,则应使用逼真的视觉模型(见下文)。

您需要更改 和 .MODEL_NAMEBRANCH

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(14)

目前,笔记本仅支持训练半精度 v1 和 v2 模型。您可以通过查看模型尺寸来判断。v2 型号的 1GB 左右。

您可以在下面的 Huggingface 页面上找到型号名称和分支名称。下面显示的页面是这里

Huggingface 型号名称和分支名称

示例:一个现实的人

Realistic Vision v2 是一个很好的模型,可以用现实的人训练新模型。对女性使用以下设置。

MODEL_NAME:

SG161222/Realistic_Vision_V2.0

分支:

main

实例提示:

ZWX女人的照片

课堂提示:

女人的照片

要下载训练映像,请执行以下操作:

以下是训练图像的一些示例。

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(15)

以下是新模型中的一些图像。您可以在 Dreambooth 指南中找到训练图像。

如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)插图(16)

成功培训的秘诀

每个训练数据集都是不同的。您可能需要调整设置。

训练图像

可以说,训练图像的质量对于成功的 dreambooth 培训至关重要。

如果要训练人脸,数据集应由清晰显示人脸的高质量图像组成。避免面部太小的全身图像。

理想情况下,图像应具有不同的背景。否则,背景可能会显示在 AI 图像中。

你不需要太多的图像。7-10张图片就足够了。质量比数量更重要。

培训步骤

可能会过度训练模型,使 AI 图像看起来都太像训练图像了。目标是训练足够的内容,以便模型可以将您的主题推广到所有场景。

如果模型训练过度,请减少步骤。

通常,您需要 100 到 500 步来训练。

课堂提示

在课程提示中添加更多限定符有助于训练。

例如,如果主题是中年妇女,则使用

一个女人的照片

您可以使用:

一位50岁女性的照片

您还可以添加种族。它有助于训练少数群体的受试者。

dreambooth 代币

虽然传统智慧是使用像 zwx 或 sks 这样的稀有代币,但它并不总是最好的。

对于训练逼真的人的面孔尤其如此。

最好使用一个通用的名字,如 Jane、Emma、Jennifer 等。用一个词提示模型,看看你得到了什么。找一个看起来像你的主题的名字。

学习率

较高的学习率可以更快地训练模型。您需要更少的步骤。但是如果它太大,训练将不起作用,并且您会得到不好的结果。

如果你没有得到好的结果,你可以尝试降低学习率。但与此同时,您应该增加训练步骤。粗略地说,如果你将学习率降低一半,你应该将训练步骤增加一倍。

延伸阅读

如果您想更深入地了解 Dreambooth,我推荐以下文章。

作者:Andrew

Andrew是一位经验丰富的工程师,专攻机器学习和人工智能。他热衷于编程、艺术、摄影和教育。他拥有工程学博士学位。

原文链接:如何使用 Dreambooth 将任何东西放入 Stable Diffusion (Colab 笔记本) - Stable Diffusion Art (stable-diffusion-art.com)

译者:维心大叔

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经同意不得转载:AI启航(AICHINES) -AI知识库与前沿资讯平台 » 如何使用 Dreambooth 将任何内容放入 Stable Diffusion 中(Colab 笔记本)
分享到: 生成海报

评论 抢沙发

学无止境,心理相伴!

维心网AI对话
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活