本着觉知此事要躬行的态度,笔者没有去看任何国内的教程,依靠着纯粹在 Github 上翻阅原版代码仓库,找到了解决方案
LoRA 的特点就是几张图就够,并且不需要复杂的文本注释。
所以,你的数据集,就是一堆散装照片,缩放到正确的尺寸 (512x512 对应 SD1.x, 768x768 对应 SD2.x)
然后准备简单一句话即可,比如
a photo of user yk
diffusers
提供的脚本安装 diffusers
库和依赖
同时从 Github 上找到脚本,和 文件
注意从 main
分支切换到你刚才安装的 diffusers
版本标签,不然可能会有问题
下载 train_dreambooth_lora.py
这个脚本,千万不要下载错了
把你的图片放到 src
目录下,然后执行以下脚本
export MODEL_NAME="runwayml/stable-diffusion-v1-5"
export INSTANCE_DIR=src
export OUTPUT_DIR=out
export INSTANCE_PROMPT="a photo of yk"
export VALIDATION_PROMPT="a photo of yk at winter street"exec accelerate launch train_dreambooth_lora.py --pretrained_model_name_or_path=$MODEL_NAME --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="${VALIDATION_PROMPT}" --validation_epochs=50 --seed="0"
很快啊,你就能在 out
目录下拿到 pytorch_lora_weights.bin
文件了
safetensors
文件我从 Github 上淘到了一个脚本,可以把 .bin
文件转换为 .safetensors
文件
.py
python diffusers-lora-to-safetensors.py --file out/pytorch_lora_weights.bin
这样就拿到了 safetensors
文件,重命名后,塞到 SD WebUI
的 models/LoRA
子目录下,就可以在 txt2img
和 img2img
的 Prompt
中引用了
笔者已经成功做出来自己脸部的 LoRA
了
简简单单两个步骤就能搞定的事情,笔者愣是在 Github 上苦苦寻找了两天
笔者首先去找了 LoRA
原作者的 lora_pti
命令,发现生成的 safetensors
文件并不能直接用在 SD WebUI
里面
看了报错信息,发现 key
值完全对不上
笔者然后去找了 diffusers
官方的脚本,结果错误地使用了 train_text_to_image_lora.py
和 train_dreambooth.py
依旧没有收获
最后正确地使用了 train_dreambooth_lora.py
脚本,结果发下生成出来的 .bin
文件 SD WebUI
依然不能识别
最后在 Github Issue 里面才找到别人的转换脚本
Stable Diffusion
的生态环境还需要时间成熟啊
本文发布于:2024-02-02 21:21:16,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170688007746512.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |