aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_models.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2022-10-12 07:35:42 +0000
committerGitHub <noreply@github.com>2022-10-12 07:35:42 +0000
commitdc1432e0dd2b826bbf5aee3e87d8270c151e4912 (patch)
tree276c27910e8ec38a1a054df02c67f73a84cb35df /modules/sd_models.py
parent1d64976dbc5a0f3124567b91fadd5014a9d93c5f (diff)
parentca5efc316b9431746ff886d259275310f63f95fb (diff)
downloadstable-diffusion-webui-gfx803-dc1432e0dd2b826bbf5aee3e87d8270c151e4912.tar.gz
stable-diffusion-webui-gfx803-dc1432e0dd2b826bbf5aee3e87d8270c151e4912.tar.bz2
stable-diffusion-webui-gfx803-dc1432e0dd2b826bbf5aee3e87d8270c151e4912.zip
Merge branch 'master' into feature/scale_to
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