aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2022-10-07 10:40:22 +0300
committerAUTOMATIC <16777216c@gmail.com>2022-10-07 10:40:22 +0300
commitd15b3ec0013c10f02f0fb80e8448bac8872a151f (patch)
tree87ca59ba62d5084e02d506a32172b32dfb850a0b
parentbad7cb29cecac51c5c0f39afec332b007ed73133 (diff)
support loading VAE
-rw-r--r--modules/sd_models.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/sd_models.py b/modules/sd_models.py
index 5f992064..8f794b47 100644
--- a/modules/sd_models.py
+++ b/modules/sd_models.py
@@ -134,6 +134,14 @@ def load_model_weights(model, checkpoint_file, sd_model_hash):
devices.dtype = torch.float32 if shared.cmd_opts.no_half else torch.float16
+ vae_file = os.path.splitext(checkpoint_file)[0] + ".vae.pt"
+ if os.path.exists(vae_file):
+ print(f"Loading VAE weights from: {vae_file}")
+ vae_ckpt = torch.load(vae_file, map_location="cpu")
+ vae_dict = {k: v for k, v in vae_ckpt["state_dict"].items() if k[0:4] != "loss"}
+
+ model.first_stage_model.load_state_dict(vae_dict)
+
model.sd_model_hash = sd_model_hash
model.sd_model_checkpint = checkpoint_file