时间:2021-05-22
在使用tensorflow时常常会使用到tf.reduce_*这类的函数,在此对一些常见的函数进行汇总
1.tf.reduce_sum
tf.reduce_sum(input_tensor , axis = None , keep_dims = False , name = None , reduction_indices = None)
参数:
返回:
该函数返回减少的张量,相当于np.sum
功能:
此函数计算一个张量的各个维度上元素的总和。
说明:
函数中的input_tensor是按照axis中已经给定的维度来减少的;除非 keep_dims 是true,否则张量的秩将在axis的每个条目中减少1;如果keep_dims为true,则减小的维度将保留为长度1。如果axis没有条目,则缩小所有维度,并返回具有单个元素的张量。
举例:
x = tf.constant([[1, 1, 1], [1, 1, 1]])tf.reduce_sum(x) # 6tf.reduce_sum(x, 0) # [2, 2, 2]tf.reduce_sum(x, 1) # [3, 3]tf.reduce_sum(x, 1, keep_dims=True) # [[3], [3]]tf.reduce_sum(x, [0, 1]) # 62.reduce_min
reduce_min(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
参数:
返回:
该函数返回减少的张量,相当于np.min
功能:
tf.reduce_min函数用来计算一个张量的各个维度上元素的最小值。
说明:
同样按照axis给定的维度减少input_tensor。除非 keep_dims 是true,否则张量的秩将在axis的每个条目中减少1。如果keep_dims为true,则减小的维度将保留为长度1。如果axis没有条目,则缩小所有维度,并返回具有单个元素的张量。
3.reduce_max
reduce_max(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
参数:
返回:
该函数返回减少的张量,相当于np.max。
功能:
计算一个张量的各个维度上元素的最大值。
说明:
按照axis给定的维度减少input_tensor。除非 keep_dims 是true,否则张量的秩将在axis的每个条目中减少1。如果keep_dims为true,则减小的维度将保留为长度1。如果axis没有条目,则减少所有维度,并返回具有单个元素的张量。
4.reduce_mean
reduce_mean
5.reduce_all
reduce_all(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
参数:
返回:
该函数返回减少的张量,相当于np.mean
功能:
计算张量的各个维度上的元素的平均值。
说明:
axis是tf.reduce_mean函数中的参数,按照函数中axis给定的维度减少input_tensor。除非keep_dims是true,否则张量的秩将在axis的每个条目中减少1。如果keep_dims为true,则缩小的维度将保留为1。如果axis没有条目,则减少所有维度,并返回具有单个元素的张量。
举例:
x = tf.constant([[1., 1.], [2., 2.]])tf.reduce_mean(x) # 1.5tf.reduce_mean(x, 0) # [1.5, 1.5]tf.reduce_mean(x, 1) # [1., 2.]6.reduce_any
reduce_any(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
参数:
返回:
减少张量,相当于np.any
功能:
在张量的维度上计算元素的 "逻辑或"。
说明:
按照axis给定的维度减少input_tensor。除非 keep_dims 是 true,否则张量的秩将在axis的每个条目中减少1。如果keep_dims为true,则缩小的维度将保留为1。如果axis没有条目,则会减少所有维度,并返回具有单个元素的张量。
举例:
x = tf.constant([[True, True], [False, False]])tf.reduce_any(x) # Truetf.reduce_any(x, 0) # [True, True]tf.reduce_any(x, 1) # [True, False]7.reduce_logsumexp
reduce_logsumexp(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
参数:
返回:
减少的张量。
功能:
计算log(sum(exp(张量的各维数的元素)))。
说明:
按照给定的axis上的维度减少input_tensor。除非keep_dims是true,否则张量的秩在axis上的每一项都减少1。如果keep_dims为 true,则减少的尺寸将保留为1。如果axis没有条目,则缩小所有维度,并返回具有单个元素的张量。这个函数在数值上比 log(sum(exp(input)))更稳定。它避免了大量输入的 exp 引起的溢出和小输入日志带来的下溢。
举例:
x = tf.constant([[0., 0., 0.], [0., 0., 0.]])tf.reduce_logsumexp(x) # log(6)tf.reduce_logsumexp(x, 0) # [log(2), log(2), log(2)]tf.reduce_logsumexp(x, 1) # [log(3), log(3)]tf.reduce_logsumexp(x, 1, keep_dims=True) # [[log(3)], [log(3)]]tf.reduce_logsumexp(x, [0, 1]) # log(6)8.reduce_prod
reduce_prod(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
参数:
返回:
结果返回减少的张量,相当于np.prod
功能:
此函数计算一个张量的各个维度上元素的乘积。
说明:
函数中的input_tensor是按照axis中已经给定的维度来减少的;除非 keep_dims 是true,否则张量的秩将在axis的每个条目中减少1;如果keep_dims为true,则减小的维度将保留为长度1。如果axis没有条目,则缩小所有维度,并返回具有单个元素的张量。
到此这篇关于Tensorflow中的降维函数tf.reduce_*使用总结的文章就介绍到这了,更多相关Tensorflow 降维函数tf.reduce_*内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
tf.reduce_mean函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。
tensorflow中有很多在维度上的操作,本例以常用的tf.reduce_sum进行说明。官方给的apireduce_sum(input_tensor,axi
在TensorFlow中,tf.train.exponential_decay函数实现了指数衰减学习率,通过这个函数,可以先使用较大的学习率来快速得到一个比较优
一、TensorFlow变量管理1.TensorFLow还提供了tf.get_variable函数来创建或者获取变量,tf.variable用于创建变量时,其功
TensorFLow能够识别的图像文件,可以通过numpy,使用tf.Variable或者tf.placeholder加载进tensorflow;也可以通过自带