diff options
author | Vladimir Mandic <mandic00@live.com> | 2023-01-09 23:34:26 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-09 23:34:26 +0000 |
commit | 552d7b90bf483c160cd20740f7acd7fccbc02e6f (patch) | |
tree | ce86ac4db3cac3bfb9a5c3dec10454ad97e0f2af | |
parent | 3fe9e9e54dcfc41d7c5ee6976f83b0de29fd3dda (diff) | |
download | stable-diffusion-webui-gfx803-552d7b90bf483c160cd20740f7acd7fccbc02e6f.tar.gz stable-diffusion-webui-gfx803-552d7b90bf483c160cd20740f7acd7fccbc02e6f.tar.bz2 stable-diffusion-webui-gfx803-552d7b90bf483c160cd20740f7acd7fccbc02e6f.zip |
allow model load if previous model failed
-rw-r--r-- | modules/sd_models.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/modules/sd_models.py b/modules/sd_models.py index 76a89e88..0a6d55ca 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -49,6 +49,9 @@ def checkpoint_tiles(): def find_checkpoint_config(info):
+ if info is None:
+ return shared.cmd_opts.config
+
config = os.path.splitext(info.filename)[0] + ".yaml"
if os.path.exists(config):
return config
@@ -345,14 +348,16 @@ def reload_model_weights(sd_model=None, info=None): if not sd_model:
sd_model = shared.sd_model
+ if sd_model is None: # previous model load failed
+ current_checkpoint_info = None
+ else:
+ current_checkpoint_info = sd_model.sd_checkpoint_info
+ if sd_model.sd_model_checkpoint == checkpoint_info.filename:
+ return
- current_checkpoint_info = sd_model.sd_checkpoint_info
checkpoint_config = find_checkpoint_config(current_checkpoint_info)
- if sd_model.sd_model_checkpoint == checkpoint_info.filename:
- return
-
- if checkpoint_config != find_checkpoint_config(checkpoint_info) or should_hijack_inpainting(checkpoint_info) != should_hijack_inpainting(sd_model.sd_checkpoint_info):
+ if current_checkpoint_info is None or checkpoint_config != find_checkpoint_config(checkpoint_info) or should_hijack_inpainting(checkpoint_info) != should_hijack_inpainting(sd_model.sd_checkpoint_info):
del sd_model
checkpoints_loaded.clear()
load_model(checkpoint_info)
|