#!/usr/bin/env python3 | |
import torch | |
from diffusers import StableDiffusionXLPipeline | |
pipe = StableDiffusionXLPipeline.from_pretrained( | |
"stabilityai/stable-diffusion-xl-base-1.0", | |
torch_dtype=torch.float16, | |
).to("cuda") | |
#Fuse/unfuse first LoRA | |
pipe.load_lora_weights("joachimsallstrom/aether-cloud-lora-for-sdxl") | |
pipe.fuse_lora() | |
pipe.unload_lora_weights() | |
pipe.unfuse_lora() | |
#Now it would be expected that the the LoRA has been unfused and `pipe` in the its original state, however... | |
#Fuse/unfuse second LoRA | |
pipe.load_lora_weights("jbilcke-hf/sdxl-zelda64") | |
pipe.fuse_lora() | |
pipe.unload_lora_weights() | |
pipe.unfuse_lora() #errors out | |