Fixed conditioning and noise math node

This commit is contained in:
mcDandy
2025-12-11 22:59:05 +01:00
parent f04c2320ed
commit ebcb022cb4
2 changed files with 9 additions and 9 deletions
+5 -5
View File
@@ -59,11 +59,11 @@ class ConditioningMathNode(io.ComfyNode):
@classmethod
def execute(cls, Tensor,pooled_output, a, b=None, c=None, d=None,w=0.0,x=0.0,y=0.0,z=0.0):
if b is None:
b = [[torch.zeros_like(a[0][0]), {"pooled_output": torch.zeros_like(a[0][1]["pooled_output"]) if a[0][1]["pooled_output"] else None}]]
b = [[torch.zeros_like(a[0][0]), {"pooled_output": torch.zeros_like(a[0][1]["pooled_output"]) if a[0][1]["pooled_output"] is not None else None}]]
if c is None:
c = [[torch.zeros_like(a[0][0]), {"pooled_output": torch.zeros_like(a[0][1]["pooled_output"]) if a[0][1]["pooled_output"] else None}]]
c = [[torch.zeros_like(a[0][0]), {"pooled_output": torch.zeros_like(a[0][1]["pooled_output"]) if a[0][1]["pooled_output"] is not None else None}]]
if d is None:
d = [[torch.zeros_like(a[0][0]), {"pooled_output": torch.zeros_like(a[0][1]["pooled_output"]) if a[0][1]["pooled_output"] else None}]]
d = [[torch.zeros_like(a[0][0]), {"pooled_output": torch.zeros_like(a[0][1]["pooled_output"]) if a[0][1]["pooled_output"] is not None else None}]]
ta = a[0][0].clone()
@@ -80,9 +80,9 @@ class ConditioningMathNode(io.ComfyNode):
pc = c[0][1]["pooled_output"].clone()
pd = d[0][1]["pooled_output"].clone()
print(ta.shape,pa.shape if pa != None else 0);
variables = {'a': ta, 'b': tb, 'c': tc, 'd': td, 'w': w, 'x': x, 'y': y, 'z': z}
input_stream = InputStream(Tensor)
lexer = MathExprLexer(input_stream)
stream = CommonTokenStream(lexer)
@@ -91,7 +91,7 @@ class ConditioningMathNode(io.ComfyNode):
visitor = TensorEvalVisitor(variables,ta.shape)
result1 = visitor.visit(tree)
if a[0][1]["pooled_output"]:
if a[0][1]["pooled_output"] is not None:
variables = {'a': pa, 'b': pb, 'c': pc, 'd': pd, 'w': w, 'x': x, 'y': y, 'z': z}
input_stream = InputStream(Tensor)
lexer = MathExprLexer(input_stream)
+4 -4
View File
@@ -105,10 +105,10 @@ class NoiseExecutor():
samples = input_latent["samples"]
# evaluate generators / default zeros
a_val = self.a.generate_noise(input_latent) if self.a is not None else None
b_val = self.b.generate_noise(input_latent) if self.b is not None else None
c_val = self.c.generate_noise(input_latent) if self.c is not None else None
d_val = self.d.generate_noise(input_latent) if self.d is not None else None
a_val = self.a.generate_noise(input_latent) if self.a is not None else torch.zeros_like(samples)
b_val = self.b.generate_noise(input_latent) if self.b is not None else torch.zeros_like(samples)
c_val = self.c.generate_noise(input_latent) if self.c is not None else torch.zeros_like(samples)
d_val = self.d.generate_noise(input_latent) if self.d is not None else torch.zeros_like(samples)
# helper to convert a returned value into a list matching ref_list
def to_list(val, ref_list):