aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw-e-w <40751091+w-e-w@users.noreply.github.com>2023-05-01 05:22:53 +0900
committerw-e-w <40751091+w-e-w@users.noreply.github.com>2023-05-01 05:22:53 +0900
commit0d1ef296b9f7c4e78060ce167bb784246fa09de1 (patch)
tree4fb13cb646a87de9cde0acae09e289ae66c6194d
parent06b6d2f2e2796075fd5ceb39b0ab9b87236c1661 (diff)
checkpoint override enhancement
-rw-r--r--modules/processing.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/processing.py b/modules/processing.py
index a48fff99..e8808beb 100644
--- a/modules/processing.py
+++ b/modules/processing.py
@@ -498,6 +498,11 @@ def process_images(p: StableDiffusionProcessing) -> Processed:
stored_opts = {k: opts.data[k] for k in p.override_settings.keys()}
try:
+ # if no checkpoint override or the override checkpoint can't be found, remove override entry and load opts checkpoint
+ if sd_models.checkpoint_alisases.get(p.override_settings.get('sd_model_checkpoint')) is None:
+ p.override_settings.pop('sd_model_checkpoint', None)
+ sd_models.reload_model_weights()
+
for k, v in p.override_settings.items():
setattr(opts, k, v)
@@ -514,8 +519,6 @@ def process_images(p: StableDiffusionProcessing) -> Processed:
if p.override_settings_restore_afterwards:
for k, v in stored_opts.items():
setattr(opts, k, v)
- if k == 'sd_model_checkpoint':
- sd_models.reload_model_weights()
if k == 'sd_vae':
sd_vae.reload_vae_weights()