Merge pull request #12644 from AUTOMATIC1111/fix-model-override-logic

fix model override logic
This commit is contained in:
AUTOMATIC1111 2023-08-19 08:26:39 +03:00 committed by GitHub
commit 5590be7a8c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -702,11 +702,8 @@ def process_images(p: StableDiffusionProcessing) -> Processed:
stored_opts = {k: opts.data[k] for k in p.override_settings.keys()} stored_opts = {k: opts.data[k] for k in p.override_settings.keys()}
try: try:
# after running refiner, the refiner model is not unloaded - webui swaps back to main model here
if shared.sd_model.sd_checkpoint_info.title != opts.sd_model_checkpoint:
sd_models.reload_model_weights()
# if no checkpoint override or the override checkpoint can't be found, remove override entry and load opts checkpoint # if no checkpoint override or the override checkpoint can't be found, remove override entry and load opts checkpoint
# and if after running refiner, the refiner model is not unloaded - webui swaps back to main model here, if model over is present it will be reloaded afterwards
if sd_models.checkpoint_aliases.get(p.override_settings.get('sd_model_checkpoint')) is None: if sd_models.checkpoint_aliases.get(p.override_settings.get('sd_model_checkpoint')) is None:
p.override_settings.pop('sd_model_checkpoint', None) p.override_settings.pop('sd_model_checkpoint', None)
sd_models.reload_model_weights() sd_models.reload_model_weights()