tf.reduce_mean()函数、reduction_indices参数介绍和示例以及tf.reduce_sum()、tf.reduce_max()系列函数介绍

tf.reduce_mean()函数、reduction_indices参数介绍和示例以及tf.reduce_sum()、tf.reduce_max()系列函数介绍

1. tf.reduce_mean(input_tensor, axis=None, keep_dims=False, name=None)

释义:指定维度求均值,默认求所有元素均值

  • input_tesor,输入张量
  • axis,指定轴
  • keep_dims,是否降维。设置 True,结果保持输入 Tensor 的形状(维度);设置 False,为降维后的结果;默认 False
  • name, 名称

示例1

import tensorflow as tf

X = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32, name=None)
Y = tf.reduce_mean(X)                # 求所有元素均值
Y0 = tf.reduce_mean(X, axis=0)       # 求 0 维度均值,即列均值
Y1 = tf.reduce_mean(X, axis=1)       # 求 1 维度均值,即行均值

with tf.Session() as sess:
    print('所有元素均值:', sess.run(Y))
    print('0 维度均值(列均值):', sess.run(Y0))
    print('1 维度均值(行均指):', sess.run(Y1)) 
所有元素均值: 3.5
0 维度均值(列均值): [2.5 3.5 4.5]
1 维度均值(行均指): [2. 5.]

示例2

X = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32, name=None)
Y0_ = tf.reduce_mean(X, axis=0, keep_dims=True)       # 求行均值,保持输入形状
Y1_ = tf.reduce_mean(X, axis=1, keep_dims=True)       # 求行均值,保持输入形状

with tf.Session() as sess:
    print('0 维度均值(列均值)、保持输入形状:\n', sess.run(Y0_))
    print('1 维度均值(行均值)、保持输入形状:\n', sess.run(Y1_))
0 维度均值(列均值)、保持输入形状:
 [[2.5 3.5 4.5]]
1 维度均值(行均值)、保持输入形状:
 [[2.]
 [5.]]

2. 参数 reduction_indices 应用

释义:指定维度,不可与 axis 同时使用,否则报错

示例1

import tensorflow as tf

X = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32, name=None)

Y0 = tf.reduce_mean(X, reduction_indices=[0])     # 求 0 维度均值,即列均值
Y1 = tf.reduce_mean(X, reduction_indices=[1])     # 求 1 维度均值,即行均值

with tf.Session() as sess:
    print('0 维度均值(列均值):', sess.run(Y0))
    print('1 维度均值(行均指):', sess.run(Y1))
0 维度均值(列均值): [2.5 3.5 4.5]
1 维度均值(行均指): [2. 5.]

示例2

X = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32, name=None)
Y = tf.reduce_mean(X, reduction_indices=[0, 1])     # 求 0、1 维度均值,此例中即所有元素均值

with tf.Session() as sess:
    print('0、1 维度均值:', sess.run(Y))
0、1 维度均值: 3.5

3. 其他 tf.reduce_ 函数

  • tf.reduce_sum :计算tensor指定轴方向上的所有元素的累加和;
  • tf.reduce_max : 计算tensor指定轴方向上的各个元素的最大值;
  • tf.reduce_all : 计算tensor指定轴方向上的各个元素的逻辑和(and运算);
  • tf.reduce_any: 计算tensor指定轴方向上的各个元素的逻辑或(or运算)。

你可能感兴趣的:(tensorflow,tf.reduce_sum(),tf.reduce_max(),TensorFlow)