定制化艺术体验:Dreambooth打造个性化主题作品!丨【玩转华为云】

举报
AXYZdong 发表于 2023/10/22 17:32:52 2023/10/22
【摘要】 本文讨论了一个案例,介绍了使用预训练模型进行生成主体训练和推理的具体步骤。首先,需要进行前期准备工作,然后进入案例并切换资源。具体步骤包括:安装依赖、下载预训练模型和准备训练代码、训练生成主体、加载模型进行推理以及展示推理结果。在训练和推理过程中,可能会遇到问题,本文也提供了问题记录和解决方法。总结起来,这篇文章提供了一个完整的指南,帮助读者进行生成主体的训练和推理。

image.png

前期准备

进入案例

点击下方链接进入案例,AI作画 Dreambooth 生成自定义主体

https://developer.huaweicloud.com/develop/aigallery/notebook/detail?id=851e43ca-85ea-4ece-bc48-7de0c95cb5eb&ticket=ST-8670187-PLkJXegjtqG0uLGqs6Cgtnwr-sso

点击 Run in ModelArts

image.png

资源切换

image.png

大约30s等待时间。

image.png

image.png

初始化中

image.png

具体步骤

步骤一:安装依赖

image.png

步骤二:下载预训练模型和准备训练代码

  • 出现 Download success 表示下载成功。

image.png

  • 下载 diffusers 0.13.0 中提供的dreambooth示例代码train_dreambooth_lora.py
mox.file.copy('obs://modelarts-labs-bj4-v2/course/ModelBox/train_dreambooth_lora.py', 'train_dreambooth_lora.py')

步骤三:训练生成主体

image.png

使用以下代码进行训练,成功运行后可以看到运行的进度条。

!accelerate launch train_dreambooth_lora.py \
  --pretrained_model_name_or_path="{pretrained_model}"  \
  --instance_data_dir="{instance_dir}" \
  --output_dir="{output_dir}" \
  --instance_prompt="{instance_prompt}" \
  --resolution=512 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=1 \
  --checkpointing_steps=100 \
  --learning_rate=1e-4 \
  --lr_scheduler="constant" \
  --lr_warmup_steps=0 \
  --max_train_steps=500 \
  --validation_prompt="{instance_prompt} in the garden" \
  --validation_epochs=50 \
  --seed="0"

image.png

大概要等十分钟左右时间,等出现以下提示,说明模型训练结束。

image.png

步骤四:加载模型推理

运行以下代码进行模型加载。

from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
import torch

pipe = DiffusionPipeline.from_pretrained(pretrained_model, torch_dtype=torch.float16)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe.to("cuda")
pipe.unet.load_attn_procs(output_dir)

negative_prompt

negative_prompt = "disfigured, bad art, deformed, poorly drawn, extra limbs, weird colors, blurry, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality"

步骤五:推理图片展示

image.png

image.png

image.png

image.png

问题记录并解决

问题一

在训练模型的时候可能会出现以下报错。主要是当前运行环境的问题。

image.png

提了一下工单,解决如下:“问题原因是依赖版本更新,导致有个参数被更改,现已更改指导文档。”

image.png

问题二

在运行到下面这行代码的时候可能会出现以下报错。主要是当前运行环境的问题。

image.png

改成如下的运行环境:(改成限时免费的GPU就行)

当前运行环境:
CPU:8核
内存:64GB
GPU:nvidia-p100(16GB) * 1
架构:x86_64
规格:modelarts.vm.gpu.free
价格:限时免费

总结

DreamBooth是一种深度学习模型,可以微调现有的文生图模型,通过示例代码 train_dreambooth_lora.py对两三张图片进行训练,之后通过使用不同的prompt输出更加精细化和个性化的图片。

参考文献


——END——
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。