From a9e1347b85adc8cfc0fc423738ced29e4a255ec9 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 7 Sep 2023 07:39:15 -0400 Subject: [PATCH] make extension disabling for diffusers temporary --- modules/extensions.py | 3 ++- modules/processing.py | 2 +- modules/shared.py | 11 +++++------ webui.py | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/extensions.py b/modules/extensions.py index 0df9681e6..32a8b851c 100644 --- a/modules/extensions.py +++ b/modules/extensions.py @@ -141,6 +141,7 @@ def list_extensions(): continue extension_names.append(extension_dirname) extension_paths.append((extension_dirname, path, dirname == extensions_builtin_dir)) + disabled_extensions = shared.opts.disabled_extensions + shared.temp_disable_extensions() for dirname, path, is_builtin in extension_paths: - extension = Extension(name=dirname, path=path, enabled=dirname not in shared.opts.disabled_extensions, is_builtin=is_builtin) + extension = Extension(name=dirname, path=path, enabled=dirname not in disabled_extensions, is_builtin=is_builtin) extensions.append(extension) diff --git a/modules/processing.py b/modules/processing.py index aa5365fc8..eadbd52fc 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -693,7 +693,7 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed: return '' ema_scope_context = p.sd_model.ema_scope if shared.backend == shared.Backend.ORIGINAL else nullcontext - with torch.inference_mode(), ema_scope_context(): + with torch.no_grad(), ema_scope_context(): t0 = time.time() with devices.autocast(): p.init(p.all_prompts, p.all_seeds, p.all_subseeds) diff --git a/modules/shared.py b/modules/shared.py index 0dce43a9d..e909bf314 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -272,18 +272,17 @@ def list_themes(): return themes -def disable_extensions(): +def temp_disable_extensions(): + disabled = [] if opts.lyco_patch_lora and backend != Backend.DIFFUSERS: if 'Lora' not in opts.disabled_extensions: - opts.data['disabled_extensions'].append('Lora') - opts.data['sd_lora'] = '' - else: - opts.data['disabled_extensions'] = [x for x in opts.disabled_extensions if x != 'Lora'] + disabled.append('Lora') if backend == Backend.DIFFUSERS: for ext in ['sd-webui-controlnet', 'multidiffusion-upscaler-for-automatic1111', 'a1111-sd-webui-lycoris']: if ext not in opts.disabled_extensions: log.warning(f'Diffusers disabling uncompatible extension: {ext}') - opts.data['disabled_extensions'].append(ext) + disabled.append(ext) + return disabled def refresh_themes(): diff --git a/webui.py b/webui.py index 37bba31d1..6624934cd 100644 --- a/webui.py +++ b/webui.py @@ -78,7 +78,7 @@ def check_rollback_vae(): def initialize(): log.debug('Entering initialize') - shared.disable_extensions() + check_rollback_vae() modules.sd_samplers.list_samplers()