Tensorflow中的降维函数tf.reduce_*使用总结
作者:冲动老少年 发布时间:2021-10-18 15:16:14
在使用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没有条目,则缩小所有维度,并返回具有单个元素的张量。
来源:https://blog.csdn.net/u013093426/article/details/81430374


猜你喜欢
- pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的,下面我们讲
- 前言本文提供将多个视频拼接为一个视频的Python工具代码,其中有一些限制条件,下面的代码说明会提到。环境依赖ffmpeg环境安装,可以参考
- Python由于语言的简洁性,让我们以人类思考的方式来写代码,新手更容易上手,老鸟更爱不释手。要写出 Pythonic(优雅的、地道的、整洁
- 在Mysql中很多表都包含可为NULL(空值)的列,即使应用程序并不需要保存NULL也是如此,这是因为可为NULL是列的默认属性。但我们常在
- 本文实例为大家分享了javascript实现倒计时提示框的具体代码,供大家参考,具体内容如下代码:<!DOCTYPE html>
- [概 要] 这篇文章讨论常用的"sql注入"技术的细节,应用于流行的Ms IIS/ASP/SQL-Server平台。这里
- 我们需要将【小组销量排名表.xlsx】通过邮件发送给【组长邮箱.xlsx】中的各个组长。这里会学一个新的知识点—&
- 在Python中,实现循环语句有以下几种方式:1. for 循环for 循环是 Python 中最常用的循环语句之一,可以遍历任何序列,如一
- 1、PyInstaller简介PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大
- 前言在《设计模式》一书中工厂模式提到了:工厂方法模式(Factory Method)抽象工厂模式 (Abstract Factory)但是在
- 两组字符串数据,需要比较其中相同的数据,并将其值相加并组成一个新的字符串数据a1="sp2=20;sp1=34;"a2=
- 这篇文章主要介绍了Python如何实现强制数据类型转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 一、Cookie的使用1、什么是Cookie我们都知道,HTTP 协议是无状态的,也就是说,在一次请求响应结束后,服务端不会保留任何对方状态
- asp压缩access数据库(带密码)方法:以下是一个类文件,下面的注解是调用类的方法 注意:如果系统不支持建立Scripting
- 【原文地址】New "Orcas" Language Feature: Extension Methods【原文发表日期
- 任务通过输入的sin曲线与预测出对应的cos曲线#初始加载包 和定义参数import torchfrom torch import nnim
- 重复的数据可能有这样两种情况,第一种: 表中只有某些字段一样,第二种是两行记录完全一样。一、对于部分字段重复数据的删除 1.查询重复的数据
- 环境Django 2.0 + Win 10 + Pycharm + 360浏览器报错项目结构(报异常)解决方法看了好多大佬的解决方法,基本上
- ID3决策树是以信息增益作为决策标准的一种贪心决策树算法# -*- coding: utf-8 -*-from numpy import *
- 说起元宵节,各位有没有觉得这是咱们中国人最浪漫的节日呢?国人向来拘谨古板,一年到头都是小心谨慎地过日子,唯有元宵节这天可以纵情豪放一把。东风