mirror of
https://git.datalinker.icu/kijai/ComfyUI-KJNodes.git
synced 2025-12-09 21:04:41 +08:00
Update nodes.py
This commit is contained in:
parent
7b36368a74
commit
3f141b8f1c
@ -1034,13 +1034,14 @@ class InjectNoiseToLatent:
|
|||||||
CATEGORY = "KJNodes/noise"
|
CATEGORY = "KJNodes/noise"
|
||||||
|
|
||||||
def injectnoise(self, latents, strength, noise, normalize, average, mix_randn_amount=0, seed=None, mask=None):
|
def injectnoise(self, latents, strength, noise, normalize, average, mix_randn_amount=0, seed=None, mask=None):
|
||||||
samples = latents.copy()
|
samples = latents["samples"].clone().cpu()
|
||||||
if latents["samples"].shape != noise["samples"].shape:
|
noise = noise["samples"].clone().cpu()
|
||||||
|
if samples.shape != samples.shape:
|
||||||
raise ValueError("InjectNoiseToLatent: Latent and noise must have the same shape")
|
raise ValueError("InjectNoiseToLatent: Latent and noise must have the same shape")
|
||||||
if average:
|
if average:
|
||||||
noised = (samples["samples"].clone() + noise["samples"].clone()) / 2
|
noised = (samples + noise) / 2
|
||||||
else:
|
else:
|
||||||
noised = samples["samples"].clone() + noise["samples"].clone() * strength
|
noised = samples + noise * strength
|
||||||
if normalize:
|
if normalize:
|
||||||
noised = noised / noised.std()
|
noised = noised / noised.std()
|
||||||
if mask is not None:
|
if mask is not None:
|
||||||
@ -1048,14 +1049,14 @@ class InjectNoiseToLatent:
|
|||||||
mask = mask.expand((-1,noised.shape[1],-1,-1))
|
mask = mask.expand((-1,noised.shape[1],-1,-1))
|
||||||
if mask.shape[0] < noised.shape[0]:
|
if mask.shape[0] < noised.shape[0]:
|
||||||
mask = mask.repeat((noised.shape[0] -1) // mask.shape[0] + 1, 1, 1, 1)[:noised.shape[0]]
|
mask = mask.repeat((noised.shape[0] -1) // mask.shape[0] + 1, 1, 1, 1)[:noised.shape[0]]
|
||||||
noised = mask * noised + (1-mask) * latents["samples"]
|
noised = mask * noised + (1-mask) * samples
|
||||||
if mix_randn_amount > 0:
|
if mix_randn_amount > 0:
|
||||||
if seed is not None:
|
if seed is not None:
|
||||||
generator = torch.manual_seed(seed)
|
generator = torch.manual_seed(seed)
|
||||||
rand_noise = torch.randn(noised.size(), dtype=noised.dtype, layout=noised.layout, generator=generator, device="cpu")
|
rand_noise = torch.randn(noised.size(), dtype=noised.dtype, layout=noised.layout, generator=generator, device="cpu")
|
||||||
noised = noised + (mix_randn_amount * rand_noise)
|
noised = noised + (mix_randn_amount * rand_noise)
|
||||||
samples["samples"] = noised
|
|
||||||
return (samples,)
|
return ({"samples":noised},)
|
||||||
|
|
||||||
class SoundReactive:
|
class SoundReactive:
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user