From adf1a977ea57f1fe0b0c079bcdb72995e410959e Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Fri, 26 Jul 2024 19:22:26 +0300 Subject: [PATCH] Suggested changes Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com> --- .../stable_diffusion/extensions/seamless.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/invokeai/backend/stable_diffusion/extensions/seamless.py b/invokeai/backend/stable_diffusion/extensions/seamless.py index 3e303bc31b..a96ea6e4d2 100644 --- a/invokeai/backend/stable_diffusion/extensions/seamless.py +++ b/invokeai/backend/stable_diffusion/extensions/seamless.py @@ -37,6 +37,9 @@ class SeamlessExt(ExtensionBase): yield return + x_mode = "circular" if "x" in seamless_axes else "constant" + y_mode = "circular" if "y" in seamless_axes else "constant" + # override conv_forward # https://github.com/huggingface/diffusers/issues/556#issuecomment-1993287019 def _conv_forward_asymmetric( @@ -51,18 +54,11 @@ class SeamlessExt(ExtensionBase): ) original_layers: List[Tuple[nn.Conv2d, Callable]] = [] - try: - x_mode = "circular" if "x" in seamless_axes else "constant" - y_mode = "circular" if "y" in seamless_axes else "constant" + for layer in model.modules(): + if not isinstance(layer, torch.nn.Conv2d): + continue - conv_layers: List[torch.nn.Conv2d] = [] - - for module in model.modules(): - if isinstance(module, torch.nn.Conv2d): - conv_layers.append(module) - - for layer in conv_layers: if isinstance(layer, LoRACompatibleConv) and layer.lora_layer is None: layer.lora_layer = lambda *x: 0 original_layers.append((layer, layer._conv_forward))