【PyTorch】PyTorch中张量(Tensor)统计操作
PyTorch深度学习总结
第五章 PyTorch中张量(Tensor)统计操作
文章目录
- PyTorch深度学习总结
- 前言
- 一、最值查找
- 二、特殊值查询
前言
上文介绍了PyTorch中张量(Tensor)的计算操作,本文将介绍张量的统计操作。
一、最值查找
| 函数 | 描述 |
|---|---|
torch.max() | 找出张量中的最大值 |
torch.argmax() | 输出最大值所在位置 |
torch.min() | 找出张量中的最小值 |
torch.argmin() | 输出最小值所在位置 |
torch.sort() | 对一维张量或多维(每个维度单独)进行排序 |
torch.topk(A, k) | 根据指定值k,计算出张量A取值为前k大的值,并显示所在位置 |
torch.kthvalue(A, k) | 根据指定值k,计算出张量A取值为第k小的值,并显示所在位置 |
创建张量:
# 引入库 import torch# 创建张量A A = torch.arange(2., 8.).reshape(2,3) print(A)输出结果为:tensor([[2, 3, 4], [5, 6, 7]])
测试函数:
print(A.max()) print(A.argmax()) print(A.min()) print(A.argmin())输出结果为(含注释):
tensor(7.)
tensor(5) # 0-5的最后一位
tensor(2.)
tensor(0) # 0-5的第一位
torch.sort()
创建随机张量B:# 创建随机张量B B = torch.randperm(15).reshape(3, 5) # torch.randperm(n)可以生成有n个0-10之间整数组成的张量 print(B)输出结果为:
tensor(
[[13, 9, 1, 2, 0],
[ 4, 14, 12, 3, 7],
[ 5, 6, 8, 11, 10]])
对张量B进行排序:
# 升序输出 print(B.sort()) # 分别输出排序后的值,以及该值在原索引中不同维度的位置(列数)输出结果为:
torch.return_types.sort(
values=tensor([[ 0, 1, 2, 9, 13],
[ 3, 4, 7, 12, 14],
[ 5, 6, 8, 10, 11]]),
indices=tensor([[4, 2, 3, 1, 0],
[3, 0, 4, 2, 1],
[0, 1, 2, 4, 3]]))
# 降序输出 print(B.sort(descending=True))输出结果为:
torch.return_types.sort(
values=tensor([[13, 9, 2, 1, 0],
[14, 12, 7, 4, 3],
[11, 10, 8, 6, 5]]),
indices=tensor([[0, 1, 3, 2, 4],
[1, 2, 4, 0, 3],
[3, 4, 2, 1, 0]]))
测试函数
torch.topk():# 选取每个维度最大和次大的值,及其位置 print(B.topk(2))输出结果为:
torch.return_types.topk(
values=tensor([[13, 9],
[14, 12],
[11, 10]]),
indices=tensor([[0, 1],
[1, 2],
[3, 4]]))
# 选取2-dim维度前2大的值及其位置 print(B) print(B.topk(2, dim=0)) # 每列最大的两个值输出结果为(含注释):
tensor([[13, 9, 1, 2, 0],
[ 4, 14, 12, 3, 7],
[ 5, 6, 8, 11, 10]])
torch.return_types.topk(
values=tensor([[13, 14, 12, 11, 10],
[ 5, 9, 8, 3, 7]]),
indices=tensor([[0, 1, 1, 2, 2],
[2, 0, 2, 1, 1]])) # indices表示对应元素的行数
# 选取2-dim最大和次大的值,及其位置 print(B.topk(2, dim=1)) # 与默认情况相同默认情况输出结果为:
torch.return_types.topk(
values=tensor([[13, 9],
[14, 12],
[11, 10]]),
indices=tensor([[0, 1],
[1, 2],
[3, 4]]))
测试函数
torch.kthvalue():# 选取每个维度第2小的值及其位置 print(B) print(B.kthvalue(2))输出结果为:
tensor([[13, 9, 1, 2, 0],
[ 4, 14, 12, 3, 7],
[ 5, 6, 8, 11, 10]])
torch.return_types.kthvalue(
values=tensor([1, 4, 6]),
indices=tensor([2, 0, 1]))
二、特殊值查询
| 函数 | 描述 |
|---|---|
torch.mean(A, dim=0) | 根据指定维度计算均值 |
torch.sum(A, dim=0) | 根据指定维度求和 |
torch.cumsum(A, dim=0) | 根据指定维度计算累加和 |
torch.median(A, dim=0) | 根据指定维度计算中位数 |
torch.cumprod(A, dim=0) | 根据指定维度计算乘积 |
torch.std(A, dim=0) | 根据指定维度计算标准差 |
测试函数(维度0):
print(A) print(A.mean(dim=0)) print(A.sum(dim=0)) print(A.cumsum(dim=0)) print(A.median(dim=0)) print(A.cumprod(dim=0)) print(A.std(dim=0))输出结果为(含注释):
tensor([[2., 3., 4.],
[5., 6., 7.]]) # 张量A
tensor([3.5000, 4.5000, 5.5000]) # 每列均值
tensor([ 7., 9., 11.]) # 每列求和
tensor([[ 2., 3., 4.],
[ 7., 9., 11.]]) # 每列累加求和
torch.return_types.median(
values=tensor([2., 3., 4.]),
indices=tensor([0, 0, 0])) # 每列中位数及索引
tensor([[ 2., 3., 4.],
[10., 18., 28.]]) # 每列累乘
tensor([2.1213, 2.1213, 2.1213]) # 每列标准差
print(A) print(A.mean(dim=1)) print(A.sum(dim=1)) print(A.cumsum(dim=1)) print(A.median(dim=1)) print(A.cumprod(dim=1)) print(A.std(dim=1))输出结果为(含注释):
tensor([[2., 3., 4.],
[5., 6., 7.]]) # 张量A
tensor([3., 6.]) # 每行均值
tensor([ 9., 18.]) # 每行求和
tensor([[ 2., 5., 9.],
[ 5., 11., 18.]]) # 按行逐个累加
torch.return_types.median(
values=tensor([3., 6.]),
indices=tensor([1, 1])) # 每行中位数
tensor([[ 2., 6., 24.],
[ 5., 30., 210.]]) # 按行逐个累乘
tensor([1., 1.]) # 每行标准差
相关文章:
【PyTorch】PyTorch中张量(Tensor)统计操作
PyTorch深度学习总结 第五章 PyTorch中张量(Tensor)统计操作 文章目录 PyTorch深度学习总结前言一、最值查找二、特殊值查询 前言 上文介绍了PyTorch中张量(Tensor)的计算操作,本文将介绍张量的统计操作。 一、最值查找 函数描述torch.max()找出张量中的最大值to…...
安卓游戏开发框架应用场景以及优劣分析
一、引言 在移动游戏开发领域,选择合适的开发框架是项目成功的关键因素之一。特别是对于安卓平台,由于其开放性和庞大的用户基础,不同的游戏开发框架应运而生,旨在帮助开发者高效地构建游戏应用。以下是一些流行的安卓游戏开发框架…...
单片机学习笔记---LCD1602
LCD1602介绍 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符(比如日文的片假名),还可以有8个自定义字符 显示容量:…...
django中实现适配器模式
在Django中实现适配器模式(Adapter Pattern)涉及到创建一个适配器类,它允许不兼容的接口之间进行交互。适配器模式通常用于将一个类的接口转换为另一个客户端期望的接口。 一:实现例子 下面是一个简单的例子,演示如何…...
题记(42)--EXCEL排序
目录 一、题目内容 二、输入描述 三、输出描述 四、输入输出示例 五、完整C语言代码 一、题目内容 Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号&#…...
【学网攻】 第(28)节 -- OSPF虚链路
系列文章目录 目录 系列文章目录 文章目录 前言 一、什么是OSPF虚链路? 二、实验 1.引入 实验目标 实验背景 技术原理 实验步骤 实验设备 实验拓扑图 实验配置 扩展 实验拓扑图 实验配置 实验验证 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻…...
百面嵌入式专栏(面试题)驱动开发面试题汇总1.0
沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍驱动开发面试题 。 1、Linux驱动程序的功能是什么? 对设备初始化和释放。进行内核与硬件的数据交互。检测和处理设备出现的错误。2、内核程序中申请内存使用什么函数? 答案:kmalloc()、kzalloc()、vm…...
Starknet 的 JavaScript 库:Starknet.js、get-starknet和starknet-react
文章目录 Starknet 的 JavaScript 库Starknet.jsget-starknetstarknet-reactStarknet 的 JavaScript 库Starknet.js 官方:https://www.starknetjs.com/ Starknet.js 是一个与 Starknet 交互的 JavaScript 库,通常以脚本或去中心化形式进行交互应用程序。 Starknet.js 的灵感…...
debian11 安装 k8s,containerd ,阿里云镜像(已成功)
1. 环境准备 系统要求:至少 2GB RAM(建议 4GB 或更多),网络连接。 节点准备:至少 3 台机器,1 台作为 Master 节点,2 台作为 Worker 节点。 安装sudo apt update apt install sudo设置主机名&a…...
Spring Task定时任务
目录 1、介绍 2、cron表达式 2.1、在线生成器 2.2、通配符 3、代码示例 3.1、使用步骤 3.2、 代码开发 3.3、测试 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发…...
【设计模式】23中设计模式笔记
设计模式分类 模板方法模式 核心就是设计一个部分抽象类。 这个类具有少量具体的方法,和大量抽象的方法,具体的方法是为外界提供服务的点,具体方法中定义了抽象方法的执行序列 装饰器模式 现在有一个对象A,希望A的a方法被修饰 …...
类加载过程介绍
一、类的生命周期 类被加载到jvm虚拟机内存开始,到卸载出内存为止,他的生命周期可以分为:加载->验证->准备->解析->初始化->使用->卸载。 其中验证、准备、解析统一称为链接阶段 1、加载 将类的字节码载入方法区中…...
pytorch创建模型方式
1.继承自nn.Module的方式 from torch import nn import torch.nn.functional as F 继承自nn.Moduleclass LModel(nn.Module):def __init__(self):super().__init__()self.L1 nn.Linear(10,10)self.L2 nn.Linear(10,64)self.L3 nn.Linear(64,10)self.L4 nn.Linear(10,5)se…...
MySQL 基础知识(五)之数据增删改
目录 1 插入数据 2 删除数据 3 更改数据 创建 goods 表 drop table if exists goods; create table goods ( id int(10) primary key auto_increment, name varchar(14) unique, stockdate date )charsetutf8; 1 插入数据 当要插入的数据为日期/时间类型时,如果…...
紫微斗数双星组合:廉贞天府在辰戌
文章目录 前言内容总结 前言 紫微斗数双星组合:廉贞天府在辰戌 内容 紫微斗数双星组合:廉贞天府在辰戌 性格分析 廉贞天府同坐辰、戌宫,若无煞星冲破,为“天府朝垣格”,也为“府相朝垣格”,富贵双全&am…...
人工智能|深度学习——基于全局注意力的改进YOLOv7-AC的水下场景目标检测系统
代码下载: 基于全局注意力的改进YOLOv7-AC的水下场景目标检测系统.zip资源-CSDN文库 1.研究的背景 水下场景目标检测是水下机器人、水下无人机和水下监控等领域中的重要任务之一。然而,由于水下环境的复杂性和特殊性,水下目标检测面临着许多挑…...
使用 C++23 从零实现 RISC-V 模拟器(1):最简CPU
👉🏻 文章汇总「从零实现模拟器、操作系统、数据库、编译器…」:https://okaitserrj.feishu.cn/docx/R4tCdkEbsoFGnuxbho4cgW2Yntc 本节实现一个最简的 CPU ,最终能够解析 add 和 addi 两个指令。如果对计算机组成原理已经有所了…...
顺序表、链表(ArrayList、LinkedList)
目录 前言: 顺序表(ArrayList): 顺序表的原理: ArrayList源码: 的含义:编辑 ArrayList的相关方法:编辑 向上转型List: 练习题(杨辉三角&#x…...
第11讲投票创建后端实现
投票创建页面实现 文件选择上传组件 uni-file-picker 扩展组件 安装 https://ext.dcloud.net.cn/plugin?nameuni-file-picker 日期选择器uni-datetime-picker组件 安装 https://ext.dcloud.net.cn/plugin?nameuni-datetime-picker iconfont小图标 https://www.iconfont…...
SNMP 简单网络管理协议、网络管理
目录 1 网络管理 1.1 网络管理的五大功能 1.2 网络管理的一般模型 1.3 网络管理模型中的主要构件 1.4 被管对象 (Managed Object) 1.5 代理 (agent) 1.6 网络管理协议 1.6.1 简单网络管理协议 SNMP 1.6.2 SNMP 的指导思想 1.6.3 SNMP 的管理站和委托代理 1.6.4 SNMP…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
AD学习(3)
1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...
GeoServer发布PostgreSQL图层后WFS查询无主键字段
在使用 GeoServer(版本 2.22.2) 发布 PostgreSQL(PostGIS)中的表为地图服务时,常常会遇到一个小问题: WFS 查询中,主键字段(如 id)莫名其妙地消失了! 即使你在…...
aurora与pcie的数据高速传输
设备:zynq7100; 开发环境:window; vivado版本:2021.1; 引言 之前在前面两章已经介绍了aurora读写DDR,xdma读写ddr实验。这次我们做一个大工程,pc通过pcie传输给fpga,fpga再通过aur…...
华为OD机考- 简单的自动曝光/平均像素
import java.util.Arrays; import java.util.Scanner;public class DemoTest4 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint[] arr Array…...
【AI News | 20250609】每日AI进展
AI Repos 1、OpenHands-Versa OpenHands-Versa 是一个通用型 AI 智能体,通过结合代码编辑与执行、网络搜索、多模态网络浏览和文件访问等通用工具,在软件工程、网络导航和工作流自动化等多个领域展现出卓越性能。它在 SWE-Bench Multimodal、GAIA 和 Th…...
