Tensorflow中的降维函数tf.reduce_*使用总结


Posted in Python onApril 20, 2020

在使用tensorflow时常常会使用到tf.reduce_*这类的函数,在此对一些常见的函数进行汇总

1.tf.reduce_sum

tf.reduce_sum(input_tensor , axis = None , keep_dims = False , name = None , reduction_indices = None)

参数:

  • input_tensor:要减少的张量。应该有数字类型。
  • axis:要减小的尺寸。如果为None(默认),则缩小所有尺寸。必须在范围[-rank(input_tensor), rank(input_tensor))内。
  • keep_dims:如果为true,则保留长度为1的缩小尺寸。
  • name:操作的名称(可选)。
  • reduction_indices:axis的废弃的名称。

返回:

该函数返回减少的张量,相当于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) # 6
tf.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]) # 6

2.reduce_min

reduce_min(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)

参数:

  • input_tensor:减少的张量。应该有数字类型。
  • axis:要减小的尺寸。如果为None(默认),则缩小所有维度。必须在[-rank(input_tensor), rank(input_tensor))范围内。
  • keep_dims:如果为true,则保留长度为1的缩小维度。
  • name:操作的名称(可选)。
  • reduction_indices:axis的废弃的名称。

返回:

该函数返回减少的张量,相当于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)

参数:

  • input_tensor:要减少的张量。应该有数字类型。
  • axis:要减小的尺寸。如果为 None(默认),则减少所有维度。必须在[-rank(input_tensor), rank(input_tensor))范围内。
  • keep_dims:如果为true,则保留长度为1的减少维度。
  • name:操作的名称(可选)。
  • reduction_indices:axis的废弃的名称。

返回:

该函数返回减少的张量,相当于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)

参数:

  • input_tensor:要减少的张量。应该有数字类型。
  • axis:要减小的尺寸。如果为None(默认),则减少所有维度。必须在[-rank(input_tensor), rank(input_tensor))范围内。
  • keep_dims:如果为true,则保留长度为1的缩小尺寸。
  • name:操作的名称(可选)。
  • reduction_indices:axis的不支持使用的名称。

返回:

该函数返回减少的张量,相当于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.5
tf.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)

参数:

  • input_tensor:要减少的布尔张量。
  • axis:要减小的尺寸。如果为None(默认),则减少所有维度。必须在范围[-rank(input_tensor), rank(input_tensor))内。
  • keep_dims:如果为true,则保留长度为1的缩小维度。
  • name:操作的名称(可选)。
  • reduction_indices:axis的已经弃用的名称。

返回:

减少张量,相当于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) # True
tf.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)

参数:

  • input_tensor:张量减少。应该有数字类型。
  • axis:要减小的维度。如果为None(默认),则减少所有维度。必须在[-rank(input_tensor), rank(input_tensor))范围内。
  • keep_dims:如果为true,则保留长度为1的减少尺寸。
  • name:操作的名称(可选)。
  • reduction_indices:axis的弃用名称。

返回:

减少的张量。

功能:

计算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)

参数:

  • input_tensor:要减少的张量。应该有数字类型。
  • axis:要减小的尺寸。如果为None(默认),则将缩小所有尺寸。必须在[-rank(input_tensor), rank(input_tensor))范围内。
  • keep_dims:如果为true,则保留长度为1的缩小维度。
  • name:操作的名称(可选)。
  • reduction_indices:axis的废弃的名称。

返回:

结果返回减少的张量,相当于np.prod

功能:

此函数计算一个张量的各个维度上元素的乘积。 

说明:

函数中的input_tensor是按照axis中已经给定的维度来减少的;除非 keep_dims 是true,否则张量的秩将在axis的每个条目中减少1;如果keep_dims为true,则减小的维度将保留为长度1。 如果axis没有条目,则缩小所有维度,并返回具有单个元素的张量。

到此这篇关于Tensorflow中的降维函数tf.reduce_*使用总结的文章就介绍到这了,更多相关Tensorflow 降维函数tf.reduce_*内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
用Python解析XML的几种常见方法的介绍
Apr 09 Python
在Linux系统上安装Python的Scrapy框架的教程
Jun 11 Python
Python 基于Twisted框架的文件夹网络传输源码
Aug 28 Python
Python操作MongoDB数据库的方法示例
Jan 04 Python
Python生成器以及应用实例解析
Feb 08 Python
python 利用文件锁单例执行脚本的方法
Feb 19 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
简单了解python列表和元组的区别
May 14 Python
Python 分布式缓存之Reids数据类型操作详解
Jun 24 Python
Python读写压缩文件的方法
Jul 30 Python
Python自动创建Excel并获取内容
Sep 16 Python
Python爬取某拍短视频
Jun 11 Python
Python yield生成器和return对比代码实例
Apr 20 #Python
jupyter notebook tensorflow打印device信息实例
Apr 20 #Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
Apr 20 #Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 #Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 #Python
python argparse模块通过后台传递参数实例
Apr 20 #Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
Apr 20 #Python
You might like
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
微信小程序实现菜单左右联动
2020/05/19 Javascript
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
Python自动扫雷实现方法
2015/07/25 Python
定制FileField中的上传文件名称实例
2017/08/23 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
python生成随机红包的实例写法
2019/09/02 Python
python内置模块collections知识点总结
2019/12/19 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
植村秀加拿大官网:Shu Uemura加拿大
2019/09/03 全球购物
机械专业应届生求职信
2013/12/12 职场文书
小学生常见病防治方案
2014/06/06 职场文书
学习十八大演讲稿
2014/09/15 职场文书
高中校园广播稿
2014/10/21 职场文书
毕业论文致谢格式模板
2015/05/14 职场文书
环保守法证明
2015/06/24 职场文书
英文投诉信格式
2015/07/03 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书