From 7cc091c1d0ecf1e2dadeff26392f60fa12f04fc7 Mon Sep 17 00:00:00 2001 From: kijai <40791699+kijai@users.noreply.github.com> Date: Fri, 22 Mar 2024 21:16:27 +0200 Subject: [PATCH] sigma experimenting --- nodes.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/nodes.py b/nodes.py index 0565186..017b89e 100644 --- a/nodes.py +++ b/nodes.py @@ -2778,14 +2778,18 @@ class FlipSigmasAdjusted: def INPUT_TYPES(s): return {"required": {"sigmas": ("SIGMAS", ), + "divide_by_last_sigma": ("BOOLEAN", {"default": False}), + "divide_by": ("FLOAT", {"default": 1,"min": 1, "max": 255, "step": 0.01}), + "offset_by": ("INT", {"default": 1,"min": -100, "max": 100, "step": 1}), } } - RETURN_TYPES = ("SIGMAS",) + RETURN_TYPES = ("SIGMAS", "STRING",) + RETURN_NAMES = ("SIGMAS", "sigmas_string",) CATEGORY = "KJNodes/noise" FUNCTION = "get_sigmas_adjusted" - def get_sigmas_adjusted(self, sigmas): + def get_sigmas_adjusted(self, sigmas, divide_by_last_sigma, divide_by, offset_by): sigmas = sigmas.flip(0) if sigmas[0] == 0: @@ -2793,12 +2797,20 @@ class FlipSigmasAdjusted: adjusted_sigmas = sigmas.clone() #offset sigma for i in range(1, len(sigmas)): - adjusted_sigmas[i] = sigmas[i - 1] - + offset_index = i - offset_by + if 0 <= offset_index < len(sigmas): + adjusted_sigmas[i] = sigmas[offset_index] + else: + adjusted_sigmas[i] = 0.0001 if adjusted_sigmas[0] == 0: adjusted_sigmas[0] = 0.0001 - - return (adjusted_sigmas,) + if divide_by_last_sigma: + adjusted_sigmas = adjusted_sigmas / adjusted_sigmas[-1] + + sigma_np_array = adjusted_sigmas.numpy() + array_string = np.array2string(sigma_np_array, precision=2, separator=', ', threshold=np.inf) + adjusted_sigmas = adjusted_sigmas / divide_by + return (adjusted_sigmas, array_string,) class InjectNoiseToLatent: