tf.reduce_sum()方法用于计算张量tensor沿着某一维度的和,可以在求和后降维。
tf.math.reduce_sum(
input_tensor,
axis=None,
keepdims=None,
name=None,
reduction_indices=None,
keep_dims=None)
第一个参数 input_tensor: 输入待求和的tensor;
第二个参数 axis: 指定的维,如果不指定,则计算所有元素的总和;
第三个参数 keepdims:是否保持原有张量的维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度;
第四个参数 name: 操作的名称;
第五个参数 reduction_indices:在以前版本中用来指定轴,已弃用;
第六个参数 keep_dims:在以前版本中用来设置是否保持原张量的维度,已弃用;
以一个维度是2,形状是[2,3]的tensor举例,如果设置为不保持原来张量的维度,keepdims=False(keepdims的取值,如果不传入这个参数,则系统默认为False),结果:
import tensorflow as tf
x = [[1,2,3],
[1,2,3]]
xx = tf.cast(x,tf.float32)
sum_all = tf.reduce_sum(xx, keepdims=False)
sum_0 = tf.reduce_sum(xx, axis=0, keepdims=False)
sum_1 = tf.reduce_sum(xx, axis=1, keepdims=False)
with tf.Session() as sess:
s_a,s_0,s_1 = sess.run([sum_all, sum_0, sum_1])
print(s_a)
print(s_0)
print(s_1)
### 输出结果为 ###
# 12.0
# [ 2. 4. 6.]
# [ 6. 6.]
如果设置保持原来张量的维度,设置keepdims=True ,结果:
### 保持原有张量的维度,设置keepdims=True,输出结果为 ###
# [[12.]]
# [[2. 4. 6.]]
# [[6.] [6.]]
类似的方法还有:
tf.reduce_mean :计算tensor指定轴方向上的所有元素的累加和;
tf.reduce_max : 计算tensor指定轴方向上的各个元素的最大值;
tf.reduce_all : 计算tensor指定轴方向上的各个元素的逻辑和(and运算);
tf.reduce_any: 计算tensor指定轴方向上的各个元素的逻辑或(or运算);
本文介绍了TensorFlow中tf.reduce_sum()方法的用法,该方法用于计算张量沿特定维度的和。参数包括input_tensor(输入张量)、axis(指定求和的维度)、keepdims(是否保持维度)等。通过实例展示了不同设置下求和的结果,并提到了其他类似的方法如tf.reduce_mean、tf.reduce_max、tf.reduce_all和tf.reduce_any。
2350

被折叠的 条评论
为什么被折叠?



