TensorFlow是否重新计算节点,即使图中其他地方已经定义了完全相同的计算?

TensorFlow是否重新计算节点,即使图中其他地方已经定义了完全相同的计算?,tensorflow,Tensorflow,例如,考虑以下示例: train_op = opt.minimize(loss) gradients = tf.gradients(loss, tf.trainable_variables()) a = y + z b = y + z 梯度是计算两次还是只计算一次 或者这个例子: train_op = opt.minimize(loss) gradients = tf.gradients(loss, tf.trainable_variables()) a = y + z b = y + z

例如,考虑以下示例:

train_op = opt.minimize(loss)
gradients = tf.gradients(loss, tf.trainable_variables())
a = y + z
b = y + z
梯度是计算两次还是只计算一次

或者这个例子:

train_op = opt.minimize(loss)
gradients = tf.gradients(loss, tf.trainable_variables())
a = y + z
b = y + z

加法是计算两次还是只计算一次?

它只计算一次。有关此优化以及tensorflow在运行时执行的其他优化的更多信息,请参阅