Merge pull request #23 from vojtajina/float-downsampling_factor

ReduxAdvanced: float downsampling_factor for better control
This commit is contained in:
kaibioinfo
2025-04-18 15:15:23 +02:00
committed by GitHub
+4 -3
View File
@@ -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: