From b949c042b5997141073f740502544d8ba6d68bf7 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 29 Jan 2024 13:18:03 -0500 Subject: [PATCH] fix using sd15 model as refiner in second pass --- CHANGELOG.md | 1 + modules/processing_diffusers.py | 3 ++- modules/sd_models.py | 6 ++++-- wiki | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fbc53db4..502580f0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -254,6 +254,7 @@ As of this release, default backend is set to **diffusers** as its more feature - api: sanitize response object - api: cleanup error logging - api: fix api-only errors + - refiner: fix use of sd15 model as refiners in second pass - sampler: add sampler options info to metadata - sampler: guard against invalid sampler index - sampler: add img2img_extra_noise option diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 427f508d3..3673d5952 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -618,7 +618,8 @@ def process_diffusers(p: processing.StableDiffusionProcessing): ) shared.state.sampling_steps = refiner_args['num_inference_steps'] try: - shared.sd_refiner.register_to_config(requires_aesthetics_score=shared.opts.diffusers_aesthetics_score) + if 'requires_aesthetics_score' in shared.sd_refiner.config: + shared.sd_refiner.register_to_config(requires_aesthetics_score=shared.opts.diffusers_aesthetics_score) refiner_output = shared.sd_refiner(**refiner_args) # pylint: disable=not-callable openvino_post_compile(op="refiner") except AssertionError as e: diff --git a/modules/sd_models.py b/modules/sd_models.py index 24efdd967..fca0ce350 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -824,8 +824,10 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No return try: if model_type.startswith('Stable Diffusion'): - diffusers_load_config['force_zeros_for_empty_prompt '] = shared.opts.diffusers_force_zeros - diffusers_load_config['requires_aesthetics_score'] = shared.opts.diffusers_aesthetics_score + if shared.opts.diffusers_force_zeros: + diffusers_load_config['force_zeros_for_empty_prompt '] = shared.opts.diffusers_force_zeros + if shared.opts.diffusers_aesthetics_score: + diffusers_load_config['requires_aesthetics_score'] = shared.opts.diffusers_aesthetics_score if 'inpainting' in checkpoint_info.path.lower(): diffusers_load_config['config_files'] = { 'v1': 'configs/v1-inpainting-inference.yaml', diff --git a/wiki b/wiki index 967437b29..beb6473fb 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 967437b2949408baafceead6c551436ed3064f85 +Subproject commit beb6473fb56290894546e563eb0bedb0208432ff