首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >DreamBooth模型训练与部署技术指南

DreamBooth模型训练与部署技术指南

原创
作者头像
用户11764306
发布2026-04-20 14:24:15
发布2026-04-20 14:24:15
1270
举报

训练并部署DreamBooth模型

更新,2024年8月:实验性DreamBooth API已不可用。请查看FLUX.1微调博文以获取效果更佳的替代方案。

更新,2023年8月:已为最新版Stable Diffusion SDXL添加微调支持。下述DreamBooth API仍可使用,但使用SDXL可在更高分辨率下获得更好效果。请查看SDXL微调博文入门,或继续阅读使用旧版DreamBooth API。

DreamBooth在生成式AI领域备受关注。它是一种针对特定对象或风格训练Stable Diffusion的方法,可创建能生成这些对象或风格的个性化模型版本。仅需三张图像即可训练模型,训练过程耗时不到半小时。

值得注意的是,DreamBooth可用于人物训练,因此可以制作能生成自身图像的Stable Diffusion版本。

利用DreamBooth,人们已开发出一些出色的产品,如Avatar AI和ProfilePicture.AI。

现在,也可以使用DreamBooth创建自己的项目。已构建一个API,允许在云端训练DreamBooth模型并运行预测。

只需三张训练图像,耗时约20分钟(取决于使用的迭代次数)。训练一个模型大约花费2.50美元。

训练DreamBooth模型

首先,获取API令牌并在终端中设置:

代码语言:bash
复制
export REPLICATE_API_TOKEN=…

接下来,将训练数据收集到名为data/的目录中(JPEG格式),并压缩:

代码语言:bash
复制
zip -r data.zip data

将此zip文件放在可通过HTTP访问的位置。可使用文件上传API。运行以下三个命令:

代码语言:bash
复制
RESPONSE=$(curl -X POST -H "Authorization: Bearer $REPLICATE_API_TOKEN" https://dreambooth-api-experimental.replicate.com/v1/upload/data.zip)

curl -X PUT -H "Content-Type: application/zip" --upload-file data.zip "$(jq -r ".upload_url" <<< "$RESPONSE")"

SERVING_URL=$(jq -r ".serving_url" <<< $RESPONSE)

然后,启动训练任务:

代码语言:bash
复制
curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $REPLICATE_API_TOKEN" \
    -d '{
            "input": {
                "instance_prompt": "a photo of a cjw person",
                "class_prompt": "a photo of a person",
                "instance_data": "'"$SERVING_URL"'",
                "max_train_steps": 2000
            },
            "model": "yourusername/yourmodel",
            "trainer_version": "cd3f925f7ab21afaef7d45224790eedbb837eeac40d22e8fefe015489ab644aa",
            "webhook_completed": "https://example.com/dreambooth-webhook"
        }' \
    https://dreambooth-api-experimental.replicate.com/v1/trainings

需要设置的参数:

  • instance_prompt: 描述训练图像的提示词,格式为a [标识符] [类别名词],其中标识符应使用罕见标记。为获得最佳效果,使用包含三个Unicode字符且无空格的标识符。
  • class_prompt: 训练图像更广泛类别的提示词,格式为a [类别名词]。用于生成类似训练数据的其他图像以避免过拟合。
  • instance_data: 训练数据的URL。
  • max_train_steps: 运行的训练步数。步数越少运行越快但质量通常较差,反之亦然。
  • model: 模型在Replicate上的名称,格式为用户名/模型名。如果模型不存在,系统会自动创建。
  • trainer_version: 要使用的DreamBooth和Stable Diffusion版本。
  • webhook_completed: 任务完成时调用的webhook。(可选)

API响应返回对象:

代码语言:json
复制
{
  "id": "rrr4z55ocneqzikepnug6xezpe",
  "input": {
    "instance_prompt": "photo of a cjw person",
    "class_prompt": "photo of a person",
    "instance_data": "https://replicate.delivery/pbxt/HoUeWsrtTTCJEpKGdLKqIYTfo8nbUTSNs565MkGxEstjfwKt/data.zip",
    "max_train_steps": 2000
  },
  "model": "yourusername/yourmodel",
  "status": "starting",
  "trainer_version": "cd3f925f7ab21afaef7d45224790eedbb837eeac40d22e8fefe015489ab644aa",
  "webhook_completed": "https://example.com/dreambooth-webhook"
}

可通过调用GET /v1/trainings/<id>获取训练任务状态:

代码语言:bash
复制
curl -H "Authorization: Bearer $REPLICATE_API_TOKEN" \
  https://dreambooth-api-experimental.replicate.com/v1/trainings/rrr4z55ocneqzikepnug6xezpe

运行训练好的模型

训练成功完成后,模型会被推送到Replicate平台。

可以像Replicate上的任何其他模型一样,通过网站或API运行模型。

要通过API运行模型,首先需要获取版本ID。然后进行API调用:

代码语言:bash
复制
curl -X POST \
    -H "Authorization: Bearer $REPLICATE_API_TOKEN" \
    -d '{
            "input": {
                "prompt": "painting of cjw by andy warhol",
            },
            "version": "8abccf52e7cba9f6e82317253f4a3549082e966db5584e92c808ece132037776",
        }' \
    https://api.replicate.com/v1/predictions

或使用Python:

代码语言:python
复制
import replicate

replicate.run(
    "yourusername/yourmodel:8abccf52e7cba9f6e82317253f4a3549082e966db5584e92c808ece132037776",
    input={"prompt": "painting of cjw by andy warhol"},
)

版本说明

默认情况下,DreamBooth训练Stable Diffusion 1.5模型。该模型通常更适合DreamBooth,因为包含更多不同风格。

可通过trainer_version选项选择不同版本。支持的版本:

  • Stable Diffusion 1.5: cd3f925f7ab21afaef7d45224790eedbb837eeac40d22e8fefe015489ab644aa
  • 自定义检查点: 9c41656f8ae2e3d2af4c1b46913d7467cd891f2c1c5f3d97f1142e876e63ed7a
  • Stable Diffusion 2.1-base: d5e058608f43886b9620a8fbb1501853b8cbae4f45c857a014011c86ee614ffbFINISHED

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 训练并部署DreamBooth模型
    • 训练DreamBooth模型
    • 运行训练好的模型
    • 版本说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档