From c7dba75b804af11ff68b4519b6e2b59869335325 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 17 Jan 2025 09:31:29 -0800 Subject: [PATCH] ReduxAdvanced: float downsampling_factor for better control --- nodes.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nodes.py b/nodes.py index 612452e..4b07cc8 100644 --- a/nodes.py +++ b/nodes.py @@ -202,7 +202,7 @@ class ReduxAdvanced: "style_model": ("STYLE_MODEL", ), "clip_vision": ("CLIP_VISION", ), "image": ("IMAGE",), - "downsampling_factor": ("INT", {"default": 3, "min": 1, "max":9}), + "downsampling_factor": ("FLOAT", {"default": 3.0, "min": 1.0, "max": 9.0}), "downsampling_function": (["nearest", "bilinear", "bicubic","area","nearest-exact"], {"default": "area"}), "mode": (IMAGE_MODES, {"default": "center crop (square)"}), "weight": ("FLOAT", {"default": 1.0, "min":0.0, "max":1.0, "step":0.01}) @@ -227,9 +227,10 @@ class ReduxAdvanced: cond = cond.view(b, m, m, h) if mask is not None: cond = cond*mask - cond=torch.nn.functional.interpolate(cond.transpose(1,-1), size=(m//downsampling_factor, m//downsampling_factor), mode=downsampling_function) + downsampled_size = (round(m/downsampling_factor), round(m/downsampling_factor)) + cond=torch.nn.functional.interpolate(cond.transpose(1,-1), size=downsampled_size, mode=downsampling_function) cond=cond.transpose(1,-1).reshape(b,-1,h) - mask = None if mask is None else torch.nn.functional.interpolate(mask.view(b, m, m, 1).transpose(1,-1), size=(m//downsampling_factor, m//downsampling_factor), mode=mode).transpose(-1,1) + mask = None if mask is None else torch.nn.functional.interpolate(mask.view(b, m, m, 1).transpose(1,-1), size=downsampled_size, mode=mode).transpose(-1,1) cond = cond*(weight*weight) c = [] if mask is not None: