最近一直在学习使用 Stable Diffusion,目前开始学习 LoRA 训练,试图使用 LoRA 微调预训练模型,实现脸型替换等常用功能
最开始我跑去了 LoRA 的官方仓库,虽然找到了 lora_pti
工具,但是没有理解数据集的准备方式,翻阅代码也没有理解到有用的信息
后面我找到了 SDWebUI
的 Images Processing
工具,它可以裁切缩放原始图像,最重要的是 Use deepbooru for caption
这个选项,可以自动为图片添加标签
尝试执行了之后,发现 SDWebUI
会把所有图像转换为 PNG
,并且把自动生成的标注信息保存在同名的 TXT
文件中
找到了 diffusers
库官方给的示例脚本 train_text_to_image_lora.py
,看了一遍参数,发现传入参数需要 huggingface
的 datasets
数据集格式
翻阅 官方文档,写了一段简单的代码,从 SDWebUI
的 Images Processing
输出目录,生成 metadata.jsonl
文件,构建符合格式的数据集目录
跑了一下,居然爆了我的 3090 涡轮卡的 24G 显存,找到了一片文章,可以优化参数 ,减少内存占用
.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
本文发布于:2024-02-02 21:21:34,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170688009146514.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |