diff --git a/nodes.py b/nodes.py index dbacc1c..7e4c970 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}) @@ -232,9 +232,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: