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正则表达式判断字符串是否是全部小写示例
Dec 25 Python
python实现同时给多个变量赋值的方法
Apr 30 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
Python简单处理坐标排序问题示例
Jul 11 Python
Python with标签使用方法解析
Jan 17 Python
使用keras根据层名称来初始化网络
May 21 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 Python
Python办公自动化解决world文件批量转换
Sep 15 Python
Python爬虫入门案例之爬取二手房源数据
Oct 16 Python
python超详细实现完整学生成绩管理系统
Mar 17 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过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
JQuery 弹出框定位实现方法
2010/12/02 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
Python进程间通信之共享内存详解
2017/10/30 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
css3 transform属性详解
2014/09/30 HTML / CSS
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
2014政务公开实施方案
2014/02/19 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
KTV员工管理制度
2015/08/06 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL