diff --git a/CHANGELOG.md b/CHANGELOG.md index 2aa616389..993f5878c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -62,28 +62,29 @@ - Add *CMSI* sampler, optimized for consistency models - Add option *timestep spacing* to sampler settings - **IPEX** - - update to *IPEX 2.1.20* on Linux + - Update to *IPEX 2.1.20* on Linux requires removing the venv folder to update properly - - removed 1024x1024 workaround - - disable ipexrun by default, set `IPEXRUN=True` if you want to use `ipexrun`. + - Removed 1024x1024 workaround + - Disable ipexrun by default, set `IPEXRUN=True` if you want to use `ipexrun`. - **Fixes**: - - update requirements - - prompt params parser - - image save without metadata + - Update requirements + - Prompt params parser + - Image save without metadata - ROCm compatibility, thanks @Disty0 - API generate save metadata - Face/InstantID faults - CivitAI update model info for all models - FP16/BF16 test on model load - - variation seed possible NaNs - - enumerate diffusers model with multiple variants - - diffusers skip non-models on enum - - face-hires compatibility with control modules - - loading safetensors embeddings - - css fixes - - check if attention processor is compatible with model - - sdupscale when used with control module - - noise sampler seed, thanks @leppie + - Variation seed possible NaNs + - Enumerate diffusers model with multiple variants + - Diffusers skip non-models on enum + - Face-HiRes compatibility with control modules + - Loading safetensors embeddings + - CSS fixes + - Check if attention processor is compatible with model + - SD Upscale when used with control module + - Noise sampler seed, thanks @leppie + - Control module with ADetailer and active ControlNet ## Update for 2024-03-19 diff --git a/modules/control/run.py b/modules/control/run.py index a5279d789..e3374cc65 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -30,7 +30,7 @@ def restore_pipeline(): if instance is not None and hasattr(instance, 'restore'): instance.restore() if original_pipeline is not None and (original_pipeline.__class__.__name__ != shared.sd_model.__class__.__name__): - shared.log.debug(f'Control restored pipeline: class={shared.sd_model.__class__.__name__} to={original_pipeline.__class__.__name__}') + debug(f'Control restored pipeline: class={shared.sd_model.__class__.__name__} to={original_pipeline.__class__.__name__}') shared.sd_model = original_pipeline pipe = None instance = None diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 9888b60ed..ef6863bfc 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -283,6 +283,11 @@ def process_diffusers(p: processing.StableDiffusionProcessing): else: debug(f'Diffusers unknown task args: {k}={v}') + # handle implicit controlnet + if 'control_image' in possible and 'control_image' not in args and 'image' in args: + debug('Diffusers: set control image') + args['control_image'] = args['image'] + sd_hijack_hypertile.hypertile_set(p, hr=len(getattr(p, 'init_images', [])) > 0) # debug info