一、reduce_sum() 函数
reduce_sum 应该理解为压缩求和,用于降维(是从维度上考虑的)
tf.reduce_sum(input_tensor,axis=None,keepdims=None,name=None,reduction_indices=None,keep_dims=None)
input_tensor: The tensor to reduce. Should have numeric type. #输入
axis: The dimensions to reduce. If None (the default), reduces all dimensions. Must be in the range (rank(input_tensor), rank(input_tensor)).#取0第一维,取1第二维,取-1最后一维
keepdims: If true, retains reduced dimensions with length 1.#按照原来的维度
name: A name for the operation (optional).
reduction_indices: The old (deprecated) name for axis.#axis的原来的名字,作用和 axis 相同
keep_dims: Deprecated alias for keepdims.# 作用和 keepdims 相同,keepdims 废弃的名字
import tensorflow as tf
import numpy as np
x = tf.constant([[1,1,1],[2,2,2]])
with tf.Session() as sess:
print(sess.run(tf.reduce_sum(x))) #所有求和,axis 为None ,降低所有的维度
print(sess.run(tf.reduce_sum(x,0))) #按 列 求和
print(sess.run(tf.reduce_sum(x,1))) #按 行 求和
print(sess.run(tf.reduce_sum(x,1,keepdims=True))) #按维度 行 求和
print(sess.run(tf.reduce_sum(x,[0,1]))) #行列求和
print(sess.run(tf.reduce_sum(x,reduction_indices=[1])))# 同 按列求和
二、tf.reduce_mean()和tf.reduce_max()
求最大值 tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None)
求平均值 tf.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
参数1--input_tensor:待求值的tensor。
参数2--reduction_indices:在哪一维上求解。
参数3,4 可以忽略
import tensorflow as tf
import numpy as np
x = tf.constant([[1,2],[3,4]])
with tf.Session() as sess:
print(sess.run(tf.reduce_mean(x))) #所有求平均
print(sess.run(tf.reduce_mean(x, 0))) #按 列 求 平均
print(sess.run( tf.reduce_mean(x, 1)))#按行求平均
print(sess.run(tf.reduce_max(x))) # 求出所有值中的最大值
print(sess.run(tf.reduce_max(x, 0))) # 按列求最大值
print(sess.run(tf.reduce_max(x, 1))) # 按行求最大值