TensorFlow中的tf.reduce_xxx

笔者今天学习自定义损失函数的时候,遇到了tf.reduce_mean,然后去tensorflow的官方手册中查了一下,发现在tf.math下面,其实不止有tf.reduce_mean,还有一系列tf.reduce_xxx

文章目录

  • 1. tf.reduce_xxx简介
  • 2.tf.reduce_mean详解
  • 3. 用途

1. tf.reduce_xxx简介

以tf.reduce_mean 为例,该函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。
其实除了平均值外,还有很多优化过程中要用的类似函数:
TensorFlow中的tf.reduce_xxx_第1张图片
这里是官方手册中所有reduce_类的函数,根据需求选择即可

2.tf.reduce_mean详解

tf.math.reduce_mean(
    input_tensor, axis=None, keepdims=False, name=None
)
  • 第一个参数input_tensor: 输入的待降维的tensor;
  • 第二个参数axis: 指定的轴,如果不指定,则计算所有元素的均值;
  • 第三个参数keepdims:是否降维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度;
  • 第四个参数name: 操作的名称。

来,举个例子:

x = tf.constant([[1., 1.], [2., 2.]])
print(tf.reduce_mean(x))
print(tf.reduce_mean(x, 0))
print(tf.reduce_mean(x, 1))

结果:

tf.Tensor(1.5, shape=(), dtype=float32)
tf.Tensor([1.5 1.5], shape=(2,), dtype=float32)
tf.Tensor([1. 2.], shape=(2,), dtype=float32)

3. 用途

这一类函数,主要用于在神经网络中定义损失函数的时候用,比如:

def customized_mse(y_true,y_test):
    return tf.reduce_mean(tf.square(y_true - y_test))

详细的应用可见:TensorFlow2.0入门到进阶中的3.5

你可能感兴趣的:(TensorFlow)