我们通常会有微调扩散模型的需求,比如对LoRA进行训练来实现对Stable diffusion模型的微调。
但是有时候我们需要复用先前训练好的LoRA参数来继续进行训练。此时并不需要我们重新使用API向U-Net网络加载LoRA对应的adapter参数权重,我们可以直接通过diffusers的LoRA训练脚本的输入参数来实现断点处继续训练的需求。具体做法请看下文:
- 首先确保我们使用的训练脚本是相同的:./diffusers/examples/text_to_image/train_text_to_image_lora.py;
- 其次在您的accelerate launch指令部分新增如下参数:
checkpoint-750是我先前训练时在第750 step时刻存储的相关文件,您需要在您上次训练的output文件夹下找到这个文件夹;当然,您的step时刻可以和我的不一致。--resume_from_checkpoint="checkpoint-750"
- 如果您重新继续训练时使用的output文件与先前的output不一致,您需要手动把先前输出的checkpoint-750文件夹整体复制到新的output目录下,diffusers会在这里读取存储的权重信息;如果两次训练的output文件相同,可以不用管它。