mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-07-04 06:17:10 +08:00
PerpNeg Guider optimizations. (#8753)
This commit is contained in:
parent
b22e97dcfa
commit
772de7c006
@ -4,6 +4,7 @@ import comfy.sampler_helpers
|
|||||||
import comfy.samplers
|
import comfy.samplers
|
||||||
import comfy.utils
|
import comfy.utils
|
||||||
import node_helpers
|
import node_helpers
|
||||||
|
import math
|
||||||
|
|
||||||
def perp_neg(x, noise_pred_pos, noise_pred_neg, noise_pred_nocond, neg_scale, cond_scale):
|
def perp_neg(x, noise_pred_pos, noise_pred_neg, noise_pred_nocond, neg_scale, cond_scale):
|
||||||
pos = noise_pred_pos - noise_pred_nocond
|
pos = noise_pred_pos - noise_pred_nocond
|
||||||
@ -69,6 +70,12 @@ class Guider_PerpNeg(comfy.samplers.CFGGuider):
|
|||||||
negative_cond = self.conds.get("negative", None)
|
negative_cond = self.conds.get("negative", None)
|
||||||
empty_cond = self.conds.get("empty_negative_prompt", None)
|
empty_cond = self.conds.get("empty_negative_prompt", None)
|
||||||
|
|
||||||
|
if model_options.get("disable_cfg1_optimization", False) == False:
|
||||||
|
if math.isclose(self.neg_scale, 0.0):
|
||||||
|
negative_cond = None
|
||||||
|
if math.isclose(self.cfg, 1.0):
|
||||||
|
empty_cond = None
|
||||||
|
|
||||||
conds = [positive_cond, negative_cond, empty_cond]
|
conds = [positive_cond, negative_cond, empty_cond]
|
||||||
|
|
||||||
out = comfy.samplers.calc_cond_batch(self.inner_model, conds, x, timestep, model_options)
|
out = comfy.samplers.calc_cond_batch(self.inner_model, conds, x, timestep, model_options)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user