StableDiffusion 学习笔记 - 训练 LoRA

最近一直在学习使用 Stable Diffusion,目前开始学习 LoRA 训练,试图使用 LoRA 微调预训练模型,实现脸型替换等常用功能

  1. 最开始我跑去了 LoRA 的官方仓库,虽然找到了 lora_pti 工具,但是没有理解数据集的准备方式,翻阅代码也没有理解到有用的信息

  2. 后面我找到了 SDWebUIImages Processing 工具,它可以裁切缩放原始图像,最重要的是 Use deepbooru for caption 这个选项,可以自动为图片添加标签

  3. 尝试执行了之后,发现 SDWebUI 会把所有图像转换为 PNG,并且把自动生成的标注信息保存在同名的 TXT 文件中

  4. 找到了 diffusers 库官方给的示例脚本 train_text_to_image_lora.py,看了一遍参数,发现传入参数需要 huggingfacedatasets 数据集格式

  5. 翻阅 官方文档,写了一段简单的代码,从 SDWebUIImages Processing 输出目录,生成 metadata.jsonl 文件,构建符合格式的数据集目录

  6. 跑了一下,居然爆了我的 3090 涡轮卡的 24G 显存,找到了一片文章,可以优化参数 ,减少内存占用

    https://www.cnblogs.com/huggingface/p/17108402.html

export MODEL_NAME="runwayml/stable-diffusion-v1-5"
export OUTPUT_DIR="/sddata/finetune/lora/pokemon"
export HUB_MODEL_ID="pokemon-lora"
export DATASET_NAME="lambdalabs/pokemon-blip-captions"
 
accelerate launch --mixed_precision="fp16"  train_text_to_image_lora.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --dataset_name=$DATASET_NAME \
  --dataloader_num_workers=8 \
  --resolution=512 --center_crop --random_flip \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 \
  --max_train_steps=15000 \
  --learning_rate=1e-04 \
  --max_grad_norm=1 \
  --lr_scheduler="cosine" --lr_warmup_steps=0 \
  --output_dir=${OUTPUT_DIR} \
  --push_to_hub \
  --hub_model_id=${HUB_MODEL_ID} \
  --report_to=wandb \
  --checkpointing_steps=500 \
  --validation_prompt="Totoro" \
  --seed=1337
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农炎可

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值