mirror of
https://git.datalinker.icu/comfyanonymous/ComfyUI
synced 2026-03-16 14:27:06 +08:00
Merge 11a182ef100748541682455622c92bf9b3ebe16e into c176b214cc768d41892add4d4f51c5c5627cbf7b
This commit is contained in:
commit
371f052436
@ -40,12 +40,13 @@ class RenormCFG(io.ComfyNode):
|
|||||||
ori_pos_norm = torch.linalg.vector_norm(cond_eps
|
ori_pos_norm = torch.linalg.vector_norm(cond_eps
|
||||||
, dim=tuple(range(1, len(cond_eps.shape))), keepdim=True
|
, dim=tuple(range(1, len(cond_eps.shape))), keepdim=True
|
||||||
)
|
)
|
||||||
max_new_norm = ori_pos_norm * float(renorm_cfg)
|
max_new_norms = ori_pos_norm * float(renorm_cfg)
|
||||||
new_pos_norm = torch.linalg.vector_norm(
|
new_pos_norms = torch.linalg.vector_norm(
|
||||||
half_eps, dim=tuple(range(1, len(half_eps.shape))), keepdim=True
|
half_eps, dim=tuple(range(1, len(half_eps.shape))), keepdim=True
|
||||||
)
|
)
|
||||||
|
for i, (max_new_norm, new_pos_norm) in enumerate(zip(max_new_norms, new_pos_norms)):
|
||||||
if new_pos_norm >= max_new_norm:
|
if new_pos_norm >= max_new_norm:
|
||||||
half_eps = half_eps * (max_new_norm / new_pos_norm)
|
half_eps[i] = half_eps[i] * (max_new_norm / new_pos_norm)
|
||||||
else:
|
else:
|
||||||
cond_eps, uncond_eps = cond_denoised[:, :in_channels], uncond_denoised[:, :in_channels]
|
cond_eps, uncond_eps = cond_denoised[:, :in_channels], uncond_denoised[:, :in_channels]
|
||||||
cond_rest, _ = cond_denoised[:, in_channels:], uncond_denoised[:, in_channels:]
|
cond_rest, _ = cond_denoised[:, in_channels:], uncond_denoised[:, in_channels:]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user