From 7e8ff9ceb57bc9cbc0cc5c73f63e0817f7cfcff0 Mon Sep 17 00:00:00 2001 From: lllyasviel Date: Mon, 29 Jan 2024 16:40:01 -0800 Subject: [PATCH] i --- .../sd_forge_controlnet/scripts/controlnet.py | 7 +++++-- modules_forge/supported_controlnet.py | 8 ++++---- modules_forge/supported_preprocessor.py | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/extensions-builtin/sd_forge_controlnet/scripts/controlnet.py b/extensions-builtin/sd_forge_controlnet/scripts/controlnet.py index a094ae35..5573fd6f 100644 --- a/extensions-builtin/sd_forge_controlnet/scripts/controlnet.py +++ b/extensions-builtin/sd_forge_controlnet/scripts/controlnet.py @@ -463,10 +463,13 @@ class ControlNetForForgeOfficial(scripts.Script): params: ControlNetCachedParameters, *args, **kwargs): - h, w, hr_y, hr_x = self.get_target_dimensions(p) - is_hr_pass = p.get('is_hr_pass', False) + is_hr_pass = getattr(p, 'is_hr_pass', False) cond = params.control_cond_for_hr_fix if is_hr_pass else params.control_cond + kwargs.update(dict(unit=unit, params=params)) + + params.preprocessor.process_before_every_sampling(process=p, cond=cond, **kwargs) + params.model.process_before_every_sampling(process=p, cond=cond, **kwargs) a = 0 return diff --git a/modules_forge/supported_controlnet.py b/modules_forge/supported_controlnet.py index d557e847..3ed9ebec 100644 --- a/modules_forge/supported_controlnet.py +++ b/modules_forge/supported_controlnet.py @@ -136,13 +136,13 @@ class ControlNetPatcher(ControlModelPatcher): self.advanced_frame_weighting = None self.advanced_sigma_weighting = None - def patch_to_process(self, p, control_image): - unet = p.sd_model.forge_objects.unet + def process_before_every_sampling(self, process, cond, *args, **kwargs): + unet = process.sd_model.forge_objects.unet unet = apply_controlnet_advanced( unet=unet, controlnet=self.model_patcher, - image_bchw=control_image, + image_bchw=cond, strength=self.strength, start_percent=self.start_percent, end_percent=self.end_percent, @@ -151,7 +151,7 @@ class ControlNetPatcher(ControlModelPatcher): advanced_frame_weighting=self.advanced_frame_weighting, advanced_sigma_weighting=self.advanced_sigma_weighting) - p.sd_model.forge_objects.unet = unet + process.sd_model.forge_objects.unet = unet return diff --git a/modules_forge/supported_preprocessor.py b/modules_forge/supported_preprocessor.py index a97ba30c..28323ff9 100644 --- a/modules_forge/supported_preprocessor.py +++ b/modules_forge/supported_preprocessor.py @@ -61,7 +61,7 @@ class Preprocessor: model_management.free_memory(required_memory, device=model_management.get_torch_device()) return - def process_before_every_sampling(self, process, cnet): + def process_before_every_sampling(self, process, cond, *args, **kwargs): return def __call__(self, input_image, resolution, slider_1=None, slider_2=None, slider_3=None, **kwargs):