From 0d2579302ecfdc259c4f7c43130564747efe482e Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 24 Sep 2025 13:03:18 -0400 Subject: [PATCH] cleanup modular init Signed-off-by: Vladimir Mandic --- modules/modular.py | 12 ++++++++---- modules/shared.py | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/modular.py b/modules/modular.py index bdcd1c470..b2b6a8124 100644 --- a/modules/modular.py +++ b/modules/modular.py @@ -14,7 +14,12 @@ modular_map= { def is_compatible(diffusion_pipeline: diffusers.DiffusionPipeline) -> bool: - return diffusion_pipeline.__class__.__name__ in modular_map + if not shared.opts.model_modular_enable: + return False + compatible = diffusion_pipeline.__class__.__name__ in modular_map + if not compatible: + shared.log.debug(f'Modular: source={diffusion_pipeline.__class__.__name__} incompatible pipeline') + return compatible def convert_to_modular(diffusion_pipeline: diffusers.DiffusionPipeline) -> diffusers.ModularPipeline: @@ -33,8 +38,7 @@ def convert_to_modular(diffusion_pipeline: diffusers.DiffusionPipeline) -> diffu modular_pipe.update_components(**components_dct, **diffusion_pipeline.parameters) modular_pipe.original_pipe = diffusion_pipeline t1 = time.time() - shared.log.debug(f'Modular: from={diffusion_pipeline.__class__.__name__} to={modular_pipe.__class__.__name__} time={t1 - t0:.2f}') - + shared.log.debug(f'Modular: source={diffusion_pipeline.__class__.__name__} target={modular_pipe.__class__.__name__} time={t1 - t0:.2f}') """ for expected_input_param in modular_pipe.blocks.inputs: name = expected_input_param.name @@ -51,5 +55,5 @@ def convert_to_modular(diffusion_pipeline: diffusers.DiffusionPipeline) -> diffu def restore_standard(modular_pipe): if hasattr(modular_pipe, 'original_pipe'): - shared.log.debug(f'Modular: from={modular_pipe.__class__.__name__} to={modular_pipe.original_pipe.__class__.__name__}') + shared.log.debug(f'Modular: source={modular_pipe.__class__.__name__} target={modular_pipe.original_pipe.__class__.__name__}') return modular_pipe.original_pipe diff --git a/modules/shared.py b/modules/shared.py index a16d80571..c8a645128 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -155,6 +155,8 @@ options_templates.update(options_section(('sd', "Model Loading"), { })) options_templates.update(options_section(('model_options', "Model Options"), { + "model_modular_sep": OptionInfo("

Modular Pipelines

", "", gr.HTML), + "model_modular_enable": OptionInfo(False, "Enable modular pipelines (experimental)"), "model_sd3_sep": OptionInfo("

Stable Diffusion 3.x

", "", gr.HTML), "model_sd3_disable_te5": OptionInfo(False, "Disable T5 text encoder"), "model_h1_sep": OptionInfo("

HiDream

", "", gr.HTML),