Fix issue where using DisableNoise or disabling add_noise results in non-deterministic generations

This commit is contained in:
blepping 2024-10-21 04:21:59 -06:00
parent 744ac944db
commit 6b6fde705f
2 changed files with 5 additions and 14 deletions

View File

@ -315,15 +315,6 @@ class SamplerDPMAdaptative:
"s_noise":s_noise })
return (sampler, )
class Noise_EmptyNoise:
def __init__(self):
self.seed = 0
def generate_noise(self, input_latent):
latent_image = input_latent["samples"]
return torch.zeros(latent_image.shape, dtype=latent_image.dtype, layout=latent_image.layout, device="cpu")
class Noise_RandomNoise:
def __init__(self, seed):
self.seed = seed
@ -360,7 +351,7 @@ class SamplerCustom:
latent = latent_image
latent_image = latent["samples"]
if not add_noise:
noise = Noise_EmptyNoise().generate_noise(latent)
raise ValueError("add_noise must be enabled")
else:
noise = Noise_RandomNoise(noise_seed).generate_noise(latent)
@ -480,7 +471,7 @@ class DisableNoise:
CATEGORY = "sampling/custom_sampling/noise"
def get_noise(self):
return (Noise_EmptyNoise(),)
raise RuntimeError("DisableNoise cannot be used")
class RandomNoise(DisableNoise):

View File

@ -1348,7 +1348,7 @@ class KSamplerAdvanced:
def INPUT_TYPES(s):
return {"required":
{"model": ("MODEL",),
"add_noise": (["enable", "disable"], ),
"add_noise": (["enable"], ),
"noise_seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}),
"steps": ("INT", {"default": 20, "min": 1, "max": 10000}),
"cfg": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}),
@ -1373,8 +1373,8 @@ class KSamplerAdvanced:
if return_with_leftover_noise == "enable":
force_full_denoise = False
disable_noise = False
if add_noise == "disable":
disable_noise = True
if add_noise != "enable":
raise ValueError("add_noise must be enabled")
return common_ksampler(model, noise_seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise, disable_noise=disable_noise, start_step=start_at_step, last_step=end_at_step, force_full_denoise=force_full_denoise)
class SaveImage: