Tensor 基本操作2 理解 tensor.max 操作,沿着给定的 dim 是什么意思 | PyTorch 深度学习实战
前一篇文章,Tensor 基本操作1 | PyTorch 深度学习实战
本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started
目录
- Tensor 基本操作
- torch.max
- 默认
- 指定维度
Tensor 基本操作
torch.max
torch.max 实现降维运算,基于指定的 dim 选取子元素的最大值。
默认
a = torch.randn(1, 3)print(a)b = torch.max(a)print(b)
Result:
tensor([[-0.5284, -1.5308, -0.2267]])
tensor(-0.2267)
指定维度
指定哪个维度,就是减去第几维:
假如有一个 Tensor Shape 是 AxBxCxD,那么有对应关系
A(dim0),B(dim1),C(dim2),D(dim3)。
假如沿着 dim = 0,则得到矩阵为 BxCxD,其中降维后的 D 中每个值,是 0 维 A 个原始元素最大的值。
假如沿着 dim = 1,则得到矩阵为 AxCxD,其中降维后的 D 中每个值,是 1 维 B 个原始元素最大的值。
a = torch.randn(4, 3, 2, 5) # 声明 4x3x2x5 的 Tensorprint(a)max, max_indices = torch.max(a, 1) # 沿着第 1 维运算,得到的 max 是一个新的 Tensor, shape(4x2x5)# 其中,新的 tensor 的第 2 维 有 5 个元素,每个元素是原来第 1 维的 3 个元素的对应位置的最大者print(max)print(max_indices)
运算过程:
运算的效果,就是将原来第 1 维的 三个 元素通过取最大值的方式消解了,剩下了 4x2x5 的新的 Tensor.
Detail result:
tensor([[[[ 1.6156, -0.3533, 0.5970, 1.0218, 0.3952], # 这是一个 4x3x2x5 的 Tensor[ 0.2581, -1.3161, 0.3243, -0.9350, 0.6976]],[[-0.6239, -0.8732, -0.2739, 1.3695, 0.9614],[ 3.0117, -2.3211, 2.2359, -1.5275, 1.0230]],[[ 0.2711, -0.5295, -0.9168, -0.9496, -0.5264],[-0.0418, 1.4757, -0.3033, -0.5069, -0.6909]]],[[[-0.3262, 1.0079, -0.2975, -0.9859, 1.6166],[ 1.2771, -0.0456, 0.1857, 0.3275, 0.4207]],[[ 0.2362, -0.0821, -0.0105, 1.7645, 0.0989],[-0.1281, -1.0425, -0.5537, -0.0339, 1.3466]],[[-1.3060, 1.0920, -0.9126, -0.3850, -0.7273],[-0.0519, -0.3566, -0.5489, -3.6990, 0.6110]]],[[[ 1.2422, -0.2393, 0.4786, 0.6107, -0.0252],[ 0.2563, -0.4030, 1.8649, 0.3462, 0.7197]],[[-0.6126, 0.7801, -0.6078, 0.1391, -0.8297],[-1.8600, -0.2814, 0.2408, -0.9058, -0.0186]],[[ 1.6242, 1.5925, -0.0591, -0.0107, -1.8332],[ 0.9812, -3.2381, -1.7055, -1.3484, -1.3409]]],[[[-0.3392, -0.4359, -0.0451, 2.4718, 1.9482],[ 0.6110, -0.5543, 0.3466, 0.4199, -0.0319]],[[-0.2322, -0.8355, -1.0138, 0.9620, -0.4311],[-0.7799, 0.8414, 0.9293, -0.0322, 0.1638]],[[ 0.6299, 0.7966, 1.8616, -1.8382, -0.1141],[ 1.2325, -0.0446, -0.7722, 1.2540, -1.8609]]]])
tensor([[[ 1.6156, -0.3533, 0.5970, 1.3695, 0.9614], # 取 Max 之后得到的新的 Tensor[ 3.0117, 1.4757, 2.2359, -0.5069, 1.0230]],[[ 0.2362, 1.0920, -0.0105, 1.7645, 1.6166],[ 1.2771, -0.0456, 0.1857, 0.3275, 1.3466]],[[ 1.6242, 1.5925, 0.4786, 0.6107, -0.0252],[ 0.9812, -0.2814, 1.8649, 0.3462, 0.7197]],[[ 0.6299, 0.7966, 1.8616, 2.4718, 1.9482],[ 1.2325, 0.8414, 0.9293, 1.2540, 0.1638]]])
tensor([[[0, 0, 0, 1, 1],[1, 2, 1, 2, 1]],[[1, 2, 1, 1, 0],[0, 0, 0, 0, 1]],[[2, 2, 0, 0, 0],[2, 1, 0, 0, 0]],[[2, 2, 2, 0, 0],[2, 1, 1, 2, 1]]])
相关文章:
Tensor 基本操作2 理解 tensor.max 操作,沿着给定的 dim 是什么意思 | PyTorch 深度学习实战
前一篇文章,Tensor 基本操作1 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 目录 Tensor 基本操作torch.max默认指定维度 Tensor 基本操作 torch.max torch.max 实现降维运算,基于指定的 d…...
[牛客]公交线路(dijkstra+链式前向星)
登录—专业IT笔试面试备考平台_牛客网 #include<bits/stdc.h> using namespace std; #define endl \n typedef long long ll; const int N1e65,M1e85; int cnt0,head[N]; int n,m,s,t; struct node {int v,w,next; }edge[M]; void addedge(int u,int v,int w) {cnt;edge…...
面试被问的一些问题汇总(持续更新)
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
RocketMQ原理—5.高可用+高并发+高性能架构
大纲 1.RocketMQ的整体架构与运行流程 2.基于NameServer管理Broker集群的架构 3.Broker集群的主从复制架构 4.基于Topic和Queue实现的数据分片架构 5.Broker基于Pull模式的主从复制原理 6.Broker层面到底如何做到数据0丢失 7.数据0丢失与写入高并发的取舍 8.RocketMQ读…...
适配器模式——C++实现
目录 1. 适配器模式简介 2. 角色组成 3. 代码示例 4. 适配器模式、装饰器模式、外观模式的辨析 1. 适配器模式简介 适配器模式是一种结构型模式。 适配器模式的定义:适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不可兼容…...
C语言自定义数据类型详解(一)——结构体类型(上)
什么是自定义数据类型呢?顾名思义,就是我们用户自己定义和设置的类型。 在C语言中,我们的自定义数据类型一共有三种,它们分别是:结构体(struct),枚举(enum),联合(union)。接下来,我…...
C语言基础4
sizeof和strlen的区别 ①sizeof是运算符而strlen是函数 ②sizeof可以用类型做参数,strlen只能用char*做参数 ③数组做sizeof参数不退化,而传递给strlen则退化成指针 ④strlen结果是运行时候才能计算出来,而且计算出来的是字符串的长度不是内…...
【Elasticsearch】Elasticsearch的查询
Elasticsearch的查询 DSL查询基础语句叶子查询全文检索查询matchmulti_match 精确查询termrange 复合查询算分函数查询bool查询 排序分页基础分页深度分页 高亮高亮原理实现高亮 RestClient查询基础查询叶子查询复合查询排序和分页高亮 数据聚合DSL实现聚合Bucket聚合带条件聚合…...
第 5 章:声音与音乐系统
5.1 声音效果的应用 在游戏中,声音效果是增强游戏沉浸感和趣味性的重要元素。Pygame 提供了强大的音频处理功能,使得添加各种声音效果变得相对简单。声音效果可以包括角色的动作音效,如跳跃、攻击、受伤时的声音;环境音效&#x…...
第十四讲 JDBC数据库
1. 什么是JDBC JDBC(Java Database Connectivity,Java数据库连接),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、新增、更新和删除等操作…...
2024年除夕
多少年前的除夕,一如今天这样的除夕;多少年后的除夕,也一如多少年前的除夕。 无数个这样的除夕下午,我打开电脑,望着窗外安静的小区,车声渐渐稀疏的马路,想写下一些新的感受时,多少…...
虚幻基础07:蓝图接口
能帮到你的话,就给个赞吧 😘 文章目录 作用原理事件函数 作用 实现对象间的通知。 A 通知 B 做什么。 原理 将接口抽象为蓝图,使得任意蓝图都能直接访问。 只需要再传入对象地址,就能执行对象的功能。 事件 黄色:…...
7. 马科维茨资产组合模型+金融研报AI长文本智能体(Qwen-Long)增强方案(理论+Python实战)
目录 0. 承前1. 深度金融研报准备2. 核心AI函数代码讲解2.1 函数概述2.2 输入参数2.3 主要流程2.4 异常处理2.5 清理工作2.7 get_ai_weights函数汇总 3. 汇总代码4. 反思4.1 不足之处4.2 提升思路 5. 启后 0. 承前 本篇博文是对前两篇文章,链接: 5. 马科维茨资产组…...
如何在本地部署deepseek r1模型?
DeepSeek(深度求索)正式发布了其最新推理模型DeepSeek-R1,引发业界广泛关注。这款模型不仅在性能上与OpenAI的GPT-4相媲美,更以其开源策略和创新的训练方法,为AI发展带来了新的可能性。DeepSeek-R1 在后训练阶段大规模…...
HarmonyOS:状态管理最佳实践
一、概述 在声明式UI编程范式中,UI是应用程序状态的函数,应用程序状态的修改会更新相应的UI界面。ArkUI采用了MVVM模式,其中ViewModel将数据与视图绑定在一起,更新数据的时候直接更新视图。如下图所示: ArkUI的MVVM模式…...
当AI风暴来袭:中美科技商业版图的迥异走向
当AI风暴来袭:中美科技商业版图的迥异走向 美国科技巨头的 AI 豪赌:Stargate 公司的诞生 2025 年,科技界被一则重磅消息所震动:软银、NVIDIA、Oracle 与 OpenAI 共同组建了 Stargate 公司。这一合作堪称豪华阵容,软银作为全球知名的投资巨头,拥有雄厚的资金实力和广泛的…...
马尔科夫模型和隐马尔科夫模型区别
我用一个天气预报和海藻湿度观测的比喻来解释,保证你秒懂! 1. 马尔可夫模型(Markov Model, MM) 特点:状态直接可见 场景:天气预报(晴天→雨天→阴天…)核心假设: 下一个…...
面向对象设计原则 - SOLID原则 (基于C++)
SOLID 是面向对象编程中的一组五个设计原则,这些原则旨在帮助开发者创建更灵活、可维护和可扩展的软件系统。它们最初由 Robert C. Martin 提出,并在 2000 年左右被广泛接受。每个字母代表一个不同的原则: 单一职责原则 (Single Responsibil…...
ChatGPT 搜索测试整合记忆功能
据 TestingCatalog 报道,OpenAI 正在测试 ChatGPT 搜索的整合记忆功能,被命名为 “Memory in search”2。以下是关于该功能的具体情况123: 功能特点 个性化搜索:启用该功能后,ChatGPT 能利用存储的记忆数据࿰…...
PWM频率测量方法
测量PWM(脉宽调制)信号的频率是嵌入式系统中的常见需求,尤其是在电机控制、LED调光、传感器信号处理等场景中。 在这里介绍两种测量PWM频率的方法:测频法与测周法。 1、测频(率)法 原理:在闸门…...
【B站保姆级视频教程:Jetson配置YOLOv11环境(一)镜像下载与烧录】
b站同步视频教程:https://www.bilibili.com/video/BV11r6oYkEFb/ 一、引言 在人工智能与计算机视觉快速发展的当下,Jetson系列开发板凭借强大的性能,成为众多开发者进行深度学习项目的热门选择。YOLOv11作为目标检测领域的先进算法…...
使用QSqlQueryModel创建交替背景色的表格模型
class UserModel(QSqlQueryModel):def __init__(self):super().__init__()self._query "SELECT name, age FROM users"self.refresh()def refresh(self):self.setQuery(self._query)# 重新定义data()方法def data(self, index, role): if role Qt.BackgroundRole…...
计算机网络__基础知识问答
Question: 1)在计算机网络的5层结构中,每一层的功能大概是什么? 2)交换机的功能?https://www.bilibili.com/video/BV1na4y1L7Ev 3)路由器的功能?https://www.bilibili.com/video/BV1hv411k7n…...
C语言数组详解:从基础到进阶的全面解析
在C语言中,数组是一种基本的数据结构,用于存储多个相同类型的数据。数组的引入使得C语言能够高效地存储和操作大量数据。在任何一个C语言程序中,数组都发挥着极其重要的作用。无论是在算法实现、数据存储、还是在复杂程序的设计中,…...
微前端架构在前端开发中的实践与挑战
随着单页面应用(SPA)和前端框架如 React、Vue、Angular 的快速发展,现代前端应用的复杂度日益提升。尤其是当应用规模逐渐增大时,单一的代码库往往难以应对不同团队的协作和版本管理问题。为了应对这一挑战,微前端架构…...
国内flutter环境部署(记录篇)
设置系统环境变量 export PUB_HOSTED_URLhttps://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn使用以下命令下载flutter镜像 git clone -b stable https://mirror.ghproxy.com/https://github.com/<github仓库地址>#例如flutter仓…...
Julia DataFrames.jl:深入理解和使用
随着数据科学和机器学习的发展,数据框架广泛应用于数据处理与分析工作中。在 Julia 语言中,DataFrames.jl 是一个强大且灵活的数据框库,为数据操作提供了丰富的功能。本文旨在系统地介绍 DataFrames.jl 的基础概念、使用方法、常见实践和最佳…...
上位机知识篇---DDSSDK
文章目录 前言第一部分:DDS核心特性1.以数据为中心2.发布-订阅模型3.质量服务4.多语言支持 关键概念1.主题2.发布者3.订阅者4. 数据写入者5.数据读取者6.域参与者7.域 DDS的优势1.可伸缩性2.实时性3.可靠性4.容错性 DDS的应用场景1.军事通信系统2.航空航天3.工业自动…...
基于DeepSeek在藏语学习推广和藏语信息化方面可以做哪些工作?
基于DeepSeek对藏语的技术优势,您可在以下三大方向开展创新性工作,以下是20具体落地方案: 一、藏语智能教育工具开发 《三十颂》AI语法教练 开发虚拟助教自动解析藏文句子结构(标注格助词/时态变化)错误检测系统&…...
如何把obsidian的md文档导出成图片,并加上文档属性
上篇关于这个插件PKMer_Obsidian 插件:Export Image plugin 一键将笔记转换为图片分享的文章 如何把obsidian的md文档导出成图片,并加上水印-CSDN博客 如何导出图片的时候让文档属性也显示出来,啊啊,这个功能找了一晚上…...
AUTOSAR从入门到精通-车身控制系统BCM(三)
目录 前言 算法原理 什么是车身控制模块BCM 1. BCM ECU的工作原理 a. 硬件架构 b. 控制逻辑 BCM带来的好处 车身控制模块(BCM)的功用 车身控制模块(BCM)能够控制的车身功能系统 BCM的各项功能 1.1内外部灯光控制 1.2 雨刮系统 1.3 车身防盗报警系统 1.4 车锁…...
删除全表数据sql
-- 删除 employees 表中的所有数据 DELETE FROM employees;-- 清空 employees 表中的所有数据 TRUNCATE TABLE employees;TRUNCATE 操作不记录每一行的删除操作,而是直接释放数据页,所以执行速度通常比 DELETE 快。不过它不能和 WHERE 子句一起使用&…...
Winform如何取消叉号,减号和放大(两种)
方法一: 找到窗体属性 MaximizeBoxFalse; MinimizeBoxFalse; ControlBoxFALSE; 方法二: 点击Form 在From里面找到Form-Closing 这个事件 写入 if(e.CloseReasonCloseReason.UserClosing) { MessageBox.Show("对不起,你不能关闭") e.Cancel true; }...
Couchbase UI: Query
Couchbase 的 Query 页面在 UI 中是一个核心功能模块,支持 N1QL 查询的编写、调试和优化。同时,它也扩展了与查询相关的功能,比如 Workbench、Monitor 和 UDF 管理。这些功能让开发者和管理员能够更加高效地管理数据查询和性能优化。 以下是…...
Word 中实现方框内点击自动打 √ ☑
注: 本文为 “Word 中方框内点击打 √ ☑ / 打 ☒” 相关文章合辑。 对第一篇增加了打叉部分,第二篇为第一篇中方法 5 “控件” 实现的详解。 在 Word 方框内打 √ 的 6 种技巧 2020-03-09 12:38 使用 Word 制作一些调查表、检查表等,通常…...
Go优雅实现redis分布式锁
前言 系统为了保证高可用,通常会部署多实例,并且会存在同时对共享资源并发读写,这时候为了保证读写的安全,常规手段是会引入分布式锁,本文将介绍如何使用redis设计一个优雅的Go分布式锁。 设计 redis分布式锁是借助…...
A7. Jenkins Pipeline自动化构建过程,可灵活配置多项目、多模块服务实战
服务容器化构建的环境配置构建前需要解决什么下面我们带着问题分析构建的过程:1. 如何解决jenkins执行环境与shell脚本执行环境不一致问题?2. 构建之前动态修改项目的环境变量3. 在通过容器打包时避免不了会产生比较多的不可用的镜像资源,这些资源要是不及时删除掉时会导致服…...
Controller 层优化四步曲
Controller 层优化四步曲 前言 在开发过程中,Controller 层作为系统与外界交互的桥梁,承担着接收请求、解析参数、调用业务逻辑、处理异常等职责。 然而,随着业务复杂度的增加,Controller 层的代码往往会变得臃肿且难以维护。 …...
自动化运维在云环境中的完整实践指南
随着云计算的普及,越来越多的企业将业务迁移到云上。云环境的高动态性和复杂性使得传统的手动运维方式难以应对,自动化运维成为提升效率、降低成本、保障系统稳定性的关键。本文将详细介绍如何在云环境中实施自动化运维,涵盖工具选择、实施步骤和最佳实践。 © ivwdcwso…...
electron typescript运行并设置eslint检测
目录 一、初始化package.json 二、安装依赖 三、项目结构 四、配置启动项 五、补充:ts转js别名问题 一、初始化package.json 我的:这里的"main"没太大影响,看后面的步骤。 {"name": "xloda-cloud-ui-pc"…...
DiffuEraser: 一种基于扩散模型的视频修复技术
视频修复算法结合了基于流的像素传播与基于Transformer的生成方法,利用光流信息和相邻帧的信息来恢复纹理和对象,同时通过视觉Transformer完成被遮挡区域的修复。然而,这些方法在处理大范围遮挡时常常会遇到模糊和时序不一致的问题࿰…...
《Operating System Concepts》阅读笔记:p1-p1
《Operating System Concepts》学习第 1 天,p1-p1 总结,总计 1 页。 一、技术总结 无。 二、英语总结(生词:1) 1.intermediary (1)intermediary: inter-(“between, among”) medius(“middle”) c.intermediary originally referred …...
9.8 实战:使用 GPT Builder 开发定制化 ChatGPT 应用
实战:使用 GPT Builder 开发定制化 ChatGPT 应用 引言:打造属于你的智能助手 定制化 ChatGPT 应用正在成为解决具体问题和提升生产力的关键工具。GPT Builder 提供了一个灵活、直观的平台,让开发者和非技术用户都能快速创建满足特定需求的智能助手。本文将通过一个实战案例…...
团体程序设计天梯赛-练习集——L1-024 后天
前言 首先祝大家新年快乐,然后博主今点炮让炮崩了一下,水一天 这道题5分非常简单,有不少的做法 L1-024 后天 如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期…...
基于STM32的智能语音控制灯光系统设计
目录 引言系统设计 硬件设计软件设计 系统功能模块 语音识别模块灯光控制模块模式切换与场景管理模块用户交互与显示模块远程控制与数据上传模块 控制算法 语音识别与命令解析算法灯光强度与颜色调节算法数据记录与远程反馈算法 代码实现 语音识别与灯光控制代码场景模式与定时…...
Redis部署方式全解析:优缺点大对比
Redis部署方式全解析:优缺点大对比 一、引言 Redis作为一款高性能的内存数据库,在分布式系统、缓存、消息队列等众多场景中都有着广泛的应用。选择合适的Redis部署方式,对于系统的性能、可用性、可扩展性以及成本等方面都有着至关重要的影响…...
Java实现FIFO缓存策略实战
实现FIFO模型选择FIFO模型实现过程FIFO模型完整代码下面看一下先进先出的示例过程总结FIFO(First In First Out,先进先出)策略是一种基本的数据处理和存储管理方法,在Java中,这种策略通常用于管理那些需要按照顺序处理的数据项,比如任务的队列、数据的传输缓冲区等。在Ja…...
把markdown转换为pdf的方法
将 Markdown 文件转换为 PDF 有多种方法,以下是几种常见的方式: 1. 使用 VS Code 和 Markdown 插件 VS Code 是一款流行的代码编辑器,支持通过插件将 Markdown 转换为 PDF。 步骤: 安装 VS Code: 下载地址ÿ…...
Java Web 开发基础介绍
Java学习资料 Java学习资料 Java学习资料 一、引言 在当今数字化时代,Web 应用无处不在。Java 凭借其强大的功能、良好的跨平台性和丰富的开发框架,成为 Web 开发领域的热门选择之一。Java Web 开发允许开发者构建动态、交互式的 Web 应用程序&#x…...
自定义数据集,使用 PyTorch 框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
在本文中,我们将展示如何使用 NumPy 创建自定义数据集,利用 PyTorch 实现一个简单的逻辑回归模型,并在训练完成后保存该模型,最后加载模型并用它进行预测。 1. 创建自定义数据集 首先,我们使用 NumPy 创建一个简单的…...