aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_models.py
diff options
context:
space:
mode:
authorJC-Array <44535867+JC-Array@users.noreply.github.com>2022-10-10 23:11:02 +0000
committerGitHub <noreply@github.com>2022-10-10 23:11:02 +0000
commitd66bc86159d415005f0745fdb5724bcd95576352 (patch)
tree2544c33a8f443f226c9cf4bea7df7e3a30369812 /modules/sd_models.py
parent76ef3d75f61253516c024553335d9083d9660a8a (diff)
parent47f5e216da2af4b1faf232a620572f8b357855d5 (diff)
downloadstable-diffusion-webui-gfx803-d66bc86159d415005f0745fdb5724bcd95576352.tar.gz
stable-diffusion-webui-gfx803-d66bc86159d415005f0745fdb5724bcd95576352.tar.bz2
stable-diffusion-webui-gfx803-d66bc86159d415005f0745fdb5724bcd95576352.zip
Merge pull request #2 from JC-Array/master
resolve merge conflicts
Diffstat (limited to 'modules/sd_models.py')
-rw-r--r--modules/sd_models.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/sd_models.py b/modules/sd_models.py
index e63d3c29..0a55b4c3 100644
--- a/modules/sd_models.py
+++ b/modules/sd_models.py
@@ -149,8 +149,13 @@ def load_model_weights(model, checkpoint_info):
model.half()
devices.dtype = torch.float32 if shared.cmd_opts.no_half else torch.float16
+ devices.dtype_vae = torch.float32 if shared.cmd_opts.no_half or shared.cmd_opts.no_half_vae else torch.float16
vae_file = os.path.splitext(checkpoint_file)[0] + ".vae.pt"
+
+ if not os.path.exists(vae_file) and shared.cmd_opts.vae_path is not None:
+ vae_file = shared.cmd_opts.vae_path
+
if os.path.exists(vae_file):
print(f"Loading VAE weights from: {vae_file}")
vae_ckpt = torch.load(vae_file, map_location="cpu")
@@ -158,6 +163,8 @@ def load_model_weights(model, checkpoint_info):
model.first_stage_model.load_state_dict(vae_dict)
+ model.first_stage_model.to(devices.dtype_vae)
+
model.sd_model_hash = sd_model_hash
model.sd_model_checkpoint = checkpoint_file
model.sd_checkpoint_info = checkpoint_info