fix: do not reload model when VAE stays the same

This commit is contained in:
Manuel Schmid
2024-05-04 21:12:25 +02:00
parent 15696da9b8
commit 4a3aac09a3
3 changed files with 11 additions and 9 deletions
+4 -4
View File
@@ -41,7 +41,7 @@ class StableDiffusionModel:
self.clip = clip
self.clip_vision = clip_vision
self.filename = filename
self.vae_filename = filename
self.vae_filename = vae_filename
self.unet_with_lora = unet
self.clip_with_lora = clip
self.visited_loras = ''
@@ -144,9 +144,9 @@ def apply_controlnet(positive, negative, control_net, image, strength, start_per
@torch.no_grad()
@torch.inference_mode()
def load_model(ckpt_filename, vae_filename=None):
unet, clip, vae, clip_vision = load_checkpoint_guess_config(ckpt_filename, embedding_directory=path_embeddings,
vae_filename=vae_filename)
return StableDiffusionModel(unet=unet, clip=clip, vae=vae, clip_vision=clip_vision, filename=ckpt_filename)
unet, clip, vae, vae_filename, clip_vision = load_checkpoint_guess_config(ckpt_filename, embedding_directory=path_embeddings,
vae_filename_param=vae_filename)
return StableDiffusionModel(unet=unet, clip=clip, vae=vae, clip_vision=clip_vision, filename=ckpt_filename, vae_filename=vae_filename)
@torch.no_grad()
+1 -1
View File
@@ -71,7 +71,7 @@ def refresh_base_model(name, vae_name=None):
if model_base.filename == filename and model_base.vae_filename == vae_filename:
return
model_base = core.StableDiffusionModel()
model_base = core.StableDiffusionModel(vae_filename=vae_filename)
model_base = core.load_model(filename, vae_filename)
print(f'Base model loaded: {model_base.filename}')
return