tf.add_n 是 TensorFlow 中的一个函数,它用于将多个张量(tensors)相加。这个函数接受一个张量的列表作为输入,并返回它们的和。这个函数特别有用,当你需要将多个张量相加时,而不需要在代码中写多个 tf.add 操作。

函数的基本用法如下:

import tensorflow as tf

# 创建一些张量
tensor1 = tf.constant([1, 2])
tensor2 = tf.constant([3, 4])
tensor3 = tf.constant([5, 6])

# 使用 tf.add_n 将它们相加
result = tf.add_n([tensor1, tensor2, tensor3])

# 启动 TensorFlow 会话并计算结果
with tf.Session() as sess:
    print(sess.run(result))  # 输出: [9 12]

在这个例子中,tf.add_n 将三个张量 [1, 2][3, 4][5, 6] 相加,得到结果 [9, 12]

注意,tf.add_n 要求所有输入张量的形状必须相同,否则会抛出错误。此外,从 TensorFlow 2.x 开始,tf.Session 已经不再需要,因为 TensorFlow 2.x 默认使用 eager execution,可以直接计算张量的结果,不需要显式创建会话。上面的代码在 TensorFlow 2.x 中可以简化为:

import tensorflow as tf

# 创建一些张量
tensor1 = tf.constant([1, 2])
tensor2 = tf.constant([3, 4])
tensor3 = tf.constant([5, 6])

# 使用 tf.add_n 将它们相加
result = tf.add_n([tensor1, tensor2, tensor3])

print(result)  # 输出: tf.Tensor([9 12], shape=(2,), dtype=int32)

在 TensorFlow 2.x 中,tf.add_n 可以直接返回计算结果,不需要启动会话。