Open
Description
Description
This allows merging duplicated nodes as well as comparing graph equality.
import pytensor
import pytensor.tensor as pt
from pytensor.compile.builders import OpFromGraph
from pytensor.graph.basic import equal_computations
x = pt.scalar("x")
out1 = OpFromGraph([x], [x + 1])(x)
out2 = OpFromGraph([x], [x + 1])(x)
assert equal_computations([out1], [out2])
It should pass the assert. It fails because out1.owner.op == out2.owner.op
evaluates to False. We can probably do something very similar to Scan
:
Lines 1254 to 1320 in 4b41e09