Я пытаюсь определить, является ли операция, возвращаемая вызовом mytensor.op, копией операционного узла, который сгенерировал ее, или фактически ссылкой.
Я должен знать, что если у меня есть разделенный узел (узел с двумя дочерними тензорами), и я просматриваю график - если я вызову child1_tensor.op, я получу другой объект, чем если бы я вызвал child2_tensor.op? Или оба возвращают ссылку на один и тот же объект?
Он должен вернуть ту же операцию. Я уверен, что узлы на графике неизменяемы после их добавления, поэтому нет необходимости защищать их. Вы всегда можете проверить с помощью оператора is
.
def f(x):
return x - 1, x + 1
x = tf.zeros((), dtype=tf.float32)
y, z = tf.py_func(f, (x,), (tf.float32, tf.float32))
print(y.op is z.op) # True