【PyTorch】PyTorch之Reduction Ops

文章目录

  • 前言
  • 一、ARGMAX
  • 二、ARGMIN
  • 三、AMAX和AMIN
  • 四、ALL和ANY
  • 五、MAX和MIN
  • 六、MEAN
  • 七、MEDIAN
  • 八、NORM
  • 九、PROD
  • 十、STD
  • 十一、SUM
  • 十二、UNIQUE
  • 十三、VAR


前言

介绍pytorch的Reduction Ops。

一、ARGMAX

torch.argmax(input, dim, keepdim=False) → LongTensor
Parameters:
input (Tensor) – the input tensor.
dim (int) – the dimension to reduce. If None, the argmax of the flattened input is returned.
keepdim (bool) – whether the output tensor has dim retained or not. Ignored if dim=None.

返回输入张量中所有元素的最大值的索引。
这是 torch.max() 返回的第二个值。
注意:
如果存在多个最大值,则返回第一个最大值的索引。

在这里插入图片描述
在这里插入图片描述

二、ARGMIN

torch.argmin(input, dim=None, keepdim=False) → LongTensor
Parameters:
input (Tensor) – the input tensor.
dim (int) – the dimension to reduce. If None, the argmin of the flattened input is returned.
keepdim (bool) – whether the output tensor has dim retained or not…

返回输入张量中所有元素的最小值的索引。
这是 torch.min() 返回的第二个值。
注意:
如果存在多个最小值,则返回第一个最小值的索引。
在这里插入图片描述

三、AMAX和AMIN

torch.amax(input, dim, keepdim=False, , out=None) → Tensor
torch.amin(input, dim, keepdim=False, , out=None) → Tensor
Parameters:
input (Tensor) – the input tensor.
dim (int or tuple of ints) – the dimension or dimensions to reduce.
keepdim (bool) – whether the output tensor has dim retained or not.
Keyword Arguments:
out (Tensor, optional) – the output tensor.

返回输入张量在给定维度(维度)dim中的每个切片的最大值/最小值。
注意:
max/min 与 amax/amin 之间的区别为:

  • amax/amin 支持在多个维度上进行减少,
  • amax/amin 不返回索引,
  • amax/amin 在相等的值之间均匀分配梯度,而 max(dim)/min(dim) 仅将梯度传播到源张量中的单个索引。

如果 keepdim 为 True,则输出张量在除了维度(维度)dim的位置大小与输入相同。否则,dim 被挤压(参见 torch.squeeze()),导致输出张量的维度减少1(或 len(dim))。

在这里插入图片描述
在这里插入图片描述

四、ALL和ANY

torch.all(input) → Tensor
torch.any(input) → Tensor

all:输入中是否所有的任何元素评估为 True。
any:测试输入中是否有任何元素评估为 True。
此函数匹配 NumPy 的行为,在除 uint8 外的所有支持的 dtype 上返回 bool 类型的输出。对于 uint8,输出的 dtype 本身是 uint8。
在这里插入图片描述
在这里插入图片描述

五、MAX和MIN

**torch.max(input, dim, keepdim=False, , out=None)
torch.min(input, dim, keepdim=False, , out=None)
Parameters:
input (Tensor) – the input tensor.
dim (int) – the dimension to reduce.
keepdim (bool) – whether the output tensor has dim retained or not. Default: False.
Keyword Arguments:
out (tuple, optional) – the result tuple of two output tensors (max, max_indices)

返回一个命名元组 (values, indices),其中 values 是输入张量在给定维度 dim 中每行的最大值。而 indices 是找到的每个最大值的索引位置(argmax)。
如果 keepdim 为 True,则输出张量在除了维度 dim 的位置大小与输入相同。否则,dim 被挤压(参见 torch.squeeze()),导致输出张量的维度比输入少 1。
注意:
如果在缩减的行中存在多个最大值,则返回第一个最大值的索引。
在这里插入图片描述
在这里插入图片描述
torch.min()用法同torch.max()。

六、MEAN

*torch.mean(input, dim, keepdim=False, , dtype=None, out=None) → Tensor
Parameters:
input (Tensor) – the input tensor.
dim (int or tuple of ints) – the dimension or dimensions to reduce.
keepdim (bool) – whether the output tensor has dim retained or not.
Keyword Arguments:
dtype (torch.dtype, optional) – the desired data type of returned tensor. If specified, the input tensor is casted to dtype before the operation is performed. This is useful for preventing data type overflows. Default: None.
out (Tensor, optional) – the output tensor.

返回输入张量在给定维度 dim 中每行的均值。如果 dim 是维度的列表,则对所有维度进行缩减。
如果 keepdim 为 True,则输出张量在除了维度(维度)dim的位置大小与输入相同。否则,dim 被挤压(参见 torch.squeeze()),导致输出张量的维度减少1(或 len(dim))。

torch.nanmean() 计算非nan元素的平均值。

在这里插入图片描述

七、MEDIAN

*torch.median(input, dim=-1, keepdim=False, , out=None)
Parameters:
input (Tensor) – the input tensor.
dim (int) – the dimension to reduce.
keepdim (bool) – whether the output tensor has dim retained or not.
Keyword Arguments:
out ((Tensor, Tensor), optional) – The first tensor will be populated with the median values and the second tensor, which must have dtype long, with their indices in the dimension dim of input.

返回一个命名元组 (values, indices),其中 values 包含输入在维度 dim 中每行的中位数,而 indices 包含在维度 dim 中找到的中位数的索引。
默认情况下,dim 是输入张量的最后一个维度。
如果 keepdim 为 True,则输出张量在除了维度 dim 的位置大小与输入相同。否则,dim 被挤压(参见 torch.squeeze()),导致输出张量的维度比输入少 1。
注意:
对于在维度 dim 中元素数为偶数的输入张量,中位数不是唯一的。在这种情况下,返回两个中位数中较小的一个。要计算输入中两个中位数的平均值,请使用 torch.quantile() 并将 q 设为 0.5。
警告:
indices 不一定包含找到的每个中位数值的第一个出现,除非它是唯一的。确切的实现细节是特定于设备的。一般而言,不要期望在 CPU 和 GPU 上运行时获得相同的结果。出于同样的原因,不要期望梯度是确定性的。
在这里插入图片描述
torch.nanmedian() 返回输入数据的中值,忽略NAN值

八、NORM

九、PROD

*torch.prod(input, dim, keepdim=False, , dtype=None) → Tensor
Parameters:
input (Tensor) – the input tensor.
dim (int) – the dimension to reduce.
keepdim (bool) – whether the output tensor has dim retained or not.
Keyword Arguments:
dtype (torch.dtype, optional) – the desired data type of returned tensor. If specified, the input tensor is casted to dtype before the operation is performed. This is useful for preventing data type overflows. Default: None.

返回给定维度dim中输入张量的每一行的乘积。

在这里插入图片描述

十、STD

*torch.std(input, dim=None, , correction=1, keepdim=False, out=None) → Tensor
Parameters:
input (Tensor) – the input tensor.
dim (int or tuple of ints) – the dimension or dimensions to reduce.
Keyword Arguments:
correction (int)
difference between the sample size and sample degrees of freedom. Defaults to Bessel’s correction, correction=1.
keepdim (bool) – whether the output tensor has dim retained or not.
out (Tensor, optional) – the output tensor.

计算沿指定维度 dim 的标准差。dim 可以是单个维度、维度列表或 None(在所有维度上进行缩减)。
标准差(σ)的计算方式是对每个维度的元素进行以下步骤:

  • 计算该维度上的平均值(μ)。
  • 对每个元素,计算其与平均值的差值,然后取平方。
  • 对所有差值的平方求和。
  • 将总和除以元素的数量。
  • 取结果的平方根,得到标准差。

在这里插入图片描述

如果 keepdim 为 True,则输出张量在除了维度 dim 的位置大小与输入相同。否则,dim 被挤压(参见 torch.squeeze()),导致输出张量的维度比输入少 1(或 len(dim))。

在这里插入图片描述

十一、SUM

**torch.sum(input, dim, keepdim=False, , dtype=None) → Tensor
Parameters:
input (Tensor) – the input tensor.
dim (int or tuple of ints, optional) – the dimension or dimensions to reduce. If None, all dimensions are reduced.
keepdim (bool) – whether the output tensor has dim retained or not.
Keyword Arguments:
dtype (torch.dtype, optional) – the desired data type of returned tensor. If specified, the input tensor is casted to dtype before the operation is performed. This is useful for preventing data type overflows. Default: None.

返回给定维度dim中输入张量的每行之和。如果dim是一个维度列表,则对所有维度进行约简。

在这里插入图片描述
torch.nansum() 返回所有元素的和,将非数字(nan)视为零。

十二、UNIQUE

torch.unique(input, sorted=True, return_inverse=False, return_counts=False, dim=None) → Tuple[Tensor, Tensor, Tensor]
Parameters:
input (Tensor) – the input tensor
sorted (bool) – Whether to sort the unique elements in ascending order before returning as output.
return_inverse (bool) – Whether to also return the indices for where elements in the original input ended up in the returned unique list.
return_counts (bool) – Whether to also return the counts for each unique element.
dim (int, optional) – the dimension to operate upon. If None, the unique of the flattened input is returned. Otherwise, each of the tensors indexed by the given dimension is treated as one of the elements to apply the unique operation upon. See examples for more details. Default: None
Returns:
A tensor or a tuple of tensors containing
output (Tensor): the output list of unique scalar elements.
inverse_indices (Tensor): (optional) if return_inverse is True, there will be an additional returned tensor (same shape as input) representing the indices for where elements in the original input map to in the output; otherwise, this function will only return a single tensor.
counts (Tensor): (optional) if return_counts is True, there will be an additional returned tensor (same shape as output or output.size(dim), if dim was specified) representing the number of occurrences for each unique value or tensor.
Return type:
(Tensor, Tensor (optional), Tensor (optional))

返回输入张量的唯一元素。
注意:
此函数与 torch.unique_consecutive() 不同,因为此函数还会消除非连续的重复值。
当前在 CUDA 实现和 CPU 实现中,当指定 dim 时,torch.unique 无论 sort 参数如何,都会在开始时对张量进行排序。排序可能会很慢,因此如果您的输入张量已经排序,建议使用 torch.unique_consecutive(),它避免了排序操作。

在这里插入图片描述
在这里插入图片描述

十三、VAR

*torch.var(input, dim=None, , correction=1, keepdim=False, out=None) → Tensor
Parameters:
input (Tensor) – the input tensor.
dim (int or tuple of ints, optional) – the dimension or dimensions to reduce. If None, all dimensions are reduced.
Keyword Arguments:
correction (int)
difference between the sample size and sample degrees of freedom. Defaults to Bessel’s correction, correction=1.
keepdim (bool) – whether the output tensor has dim retained or not.
out (Tensor, optional) – the output tensor.

计算沿指定维度 dim 的方差。dim 可以是单个维度、维度列表或 None(在所有维度上进行缩减)。计算公式如下:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/635211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

突破Android开发瓶颈:6年Android开发者的实用建议

作为一名在Android领域摸爬滚打6年的老手,我想给那些在这个行业工作了3~5年的朋友们提供一些职业和技术上的建议。 许多开发者在职业生涯中都会遇到一个瓶颈期,尤其是当你在一个公司待了很长时间,感觉自己的技术和业务能力都无法得到提升时。…

多输入多输出 | Matlab实现基于LightGBM多输入多输出预测

多输入多输出 | Matlab实现基于LightGBM多输入多输出预测 目录 多输入多输出 | Matlab实现基于LightGBM多输入多输出预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于LightGBM多输入多输出预测(完整源码和数据) 1.data为数据集&a…

近期学习文章

DNSlog在渗透测试中的实战技巧 - 网安隐藏源IP,提高溯源难度的几种方案 - 网安FreeBuf网络安全行业门户 【漏洞公告】某平台一个有意思的CSRF // SecTrain安全博客 浅谈Web源码泄漏-安全客 - 安全资讯平台 红队-C2 Server基础构建 - 先知社区FreeBuf网络安全行业…

【电力电子在电力系统中的应用】2 CCM和DCM模式下Cuk电路的升降压工作状态

【仅供参考】 【2023.03西南交大电力电子在电力系统中的应用】 目录 0 仿真要求 1 仿真电路搭建及波形记录 1.1 CCM工作模式 1.1.1 升压模式 1.1.2 降压模式 1.2 DCM工作模式 1.2.1 升压模式 1.2.2 降压模式 1.3 改变开关频率和电容参数 1.3.1 改变开关频率 1.3.2 …

高清网络视频监控系统技术方案

目 录 一、概述 二、建设目标及需求 (一)建设总目标 (二)需求分析 三、设计依据与设计原则 (一)设计依据 (二)设计原则 四、建设方案设计 (一&…

实用干货:最全的Loading动画合集网站!复制即用

大家好,我是大澈! 本文约1000字,整篇阅读大约需要2分钟。 感谢关注微信公众号:“程序员大澈”,免费领取"面试礼包"一份,然后免费加入问答群,从此让解决问题的你不再孤单&#xff01…

01-开始Rust之旅

1. 下载Rust 官方推荐使用 rustup 下载 Rust,这是一个管理 Rust 版本和相关工具的命令行工具。下载时需要连接互联网。 这边提供了离线安装版本。本人学习的机器环境为: ubuntu x86_64,因此选用第②个工具链; 1. rust-1.75.0-x86_…

分布式ID(2):雪花算法生成ID

1 雪花算法简介 这种方案大致来说是一种以划分命名空间(UUID也算,由于比较常见,所以单独分析)来生成ID的一种算法,这种方案把64-bit分别划分成多段,分开来标示机器、时间等,比如在snowflake中的64-bit分别表示如下图(图片来自网络)所示: 41-bit的时间可以表示(1L&l…

【前端设计】流光按钮

欢迎来到前端设计专栏,本专栏收藏了一些好看且实用的前端作品,使用简单的html、css语法打造创意有趣的作品,为网站加入更多高级创意的元素。 css body{height: 100vh;display: flex;justify-content: center;align-items: center;background…

rbash环境变量提权

rbash为一个受限制的bash shell变体,限制用户在交互式环境中可使用的操作,以此提升系统安全性 可通过环境变量提权方式,越过此限制 export -p //查看环境变量 BASH_CMDS[a]/bin/sh;a //把/bin/sh给a /bin/bash export PATH$…

three.js从入门到精通系列教程009 - three.js创建球体和圆柱体

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>three.js从入门到精通系列教程009 - three.js创建球体和圆柱体</title><script src"ThreeJS/three.js"></script><script src"ThreeJS…

人工智能 | 自然语言处理的发展历程

github&#xff1a;https://github.com/MichaelBeechan CSDN&#xff1a;https://blog.csdn.net/u011344545 自然语言处理的发展 方向一&#xff1a;技术进步1. 基于规则的语法&#xff08;1950-1990&#xff09;2. 统计语言处理&#xff08;1990-2010&#xff09;3. 基于深度学…

ubuntu-20.04.6-live-server-amd64安装教程-完整版

简介 Ubuntu 20.04.6 Live Server AMD64 安装教程 - 完整版" 提供了详细的指南&#xff0c;旨在帮助用户在使用 AMD64 架构的服务器上安装 Ubuntu 20.04.6 Live Server 版本。该教程包含全面的步骤和详细说明&#xff0c;使用户能够顺利完成整个安装过程&#xff0c;建立…

要做自动化测试,得了解一下自动化架构是什么

自动化测试架构是啥&#xff0c;怎么理解自动化测试架构&#xff1f;这个问题&#xff0c;我们可以从以下几点来慢慢说。 架构是什么 软件架构&#xff08;software architecture&#xff09;是一系列相关的抽象模式&#xff0c;用于指导大型软件系统各个方面的设计。 软件架…

4D毫米波雷达 OCULII 雷达 购买以及售后技术支持

雷达是找国内代理买的 深圳路达 想买的朋友看完聊天记录再自行决定 第一次体会到买东西的是孙子的感觉&#xff0c;2.5w的售后就这样 另外&#xff0c;有研究雷达的朋友可以一起交流 1. 与销售的沟通记录 2. 与技术沟通记录 Oculii 的 EAGLE 77 GHz 成像雷达可在双芯片平台…

Elasticsearch 分布式架构剖析及扩展性优化

1. 背景 Elasticsearch 是一个实时的分布式搜索分析引擎&#xff0c;简称 ES。一个集群由多个节点组成&#xff0c;节点的角色可以根据用户的使用场景自由配置&#xff0c;集群可以以节点为单位自由扩缩容&#xff0c;数据以索引、分片的形式散列在各个节点上。本文介绍 ES 分布…

【android】 android 里写jni

目录 &#xff08;1&#xff09; 环境准备 (2) 关联c文件到gradle文件 &#xff08;3&#xff09; 生成了 (4) 书写 &#xff08;5&#xff09; 使用 &#xff08;6&#xff09;业务调用 参考文档 &#xff08;1&#xff09; 环境准备 ndk, cmake (2) 关联c文件到gr…

【AI的未来 - AI Agent系列】【MetaGPT】5. 更复杂的Agent实战 - 实现技术文档助手

在 【AI的未来 - AI Agent系列】【MetaGPT】2. 实现自己的第一个Agent 中&#xff0c;我们已经实现了一个简单的Agent&#xff0c;实现的功能就是顺序打印数字。 文章目录 0. 本文实现内容1. 实现思路2. 完整代码及细节注释 0. 本文实现内容 今天我们来实现一个有实际意义的Ag…

【华为 ICT HCIA eNSP 习题汇总】——题目集4

1、&#xff08;多选&#xff09;网络中出现故障后&#xff0c;管理员通过排查发现某台路由器的配置被修改了&#xff0c;那么管理员应该采取哪些措施来避免这种状况再次发生&#xff1f; A、管理员应该通过配置 ACL 来扩展只有管理员能够登录设备 B、管理员应该在路由的管理端…

宋仕强论道之再混华强北(三十五)

我是2012年重新回到华强北的&#xff0c;宋仕强说来深圳市第一份工作就在华强北担任一名工程师&#xff0c;和华强北有深厚的感情。我回来后经常混华强北的上层圈子跟老板老板娘们吹牛逼&#xff0c;最初大家看我穿的衣冠楚楚人模狗样的但态度吊儿郎当&#xff0c;理论一套一套…