Reload VAE without reloading sd checkpoint

This commit is contained in:
Muhammad Rizqi Nur
2022-11-02 12:51:46 +07:00
parent f8c6468d42
commit 056f06d373
3 changed files with 98 additions and 18 deletions

View File

@@ -81,9 +81,7 @@ def initialize():
modules.sd_vae.refresh_vae_list()
modules.sd_models.load_model()
shared.opts.onchange("sd_model_checkpoint", wrap_queued_call(lambda: modules.sd_models.reload_model_weights()))
# I don't know what needs to be done to only reload VAE, with all those hijacks callbacks, and lowvram,
# so for now this reloads the whole model too
shared.opts.onchange("sd_vae", wrap_queued_call(lambda: modules.sd_models.reload_model_weights(force=True)), call=False)
shared.opts.onchange("sd_vae", wrap_queued_call(lambda: modules.sd_vae.reload_vae_weights()), call=False)
shared.opts.onchange("sd_hypernetwork", wrap_queued_call(lambda: modules.hypernetworks.hypernetwork.load_hypernetwork(shared.opts.sd_hypernetwork)))
shared.opts.onchange("sd_hypernetwork_strength", modules.hypernetworks.hypernetwork.apply_strength)