torch.max函数
torch.max函数的用法
- 第一种
- 第二种
官方介绍:Link
有两种使用场景,输入的参数不同以及返回值不同:
第一种
没有参数dim,但这种只适合一维张量。
torch.max(input) → Tensor
Returns the maximum value of all elements in the input tensor.
举例:
>>> a = torch.randn(1, 3)
>>> a
tensor([[ 0.6763, 0.7445, -2.2369]])
>>> torch.max(a)
tensor(0.7445)
第二种
指定了参数dim,这种就适合多维张量了。
Notes:dim参数的值跟函数选取最大值的结果关系。我觉的还是挺让我意外的,和我想的不太一样。
torch.max(input, dim, keepdim=False, *, out=None)
这种情况下函数会返回一个元组(values,indices),其中,每一个value是input张量中在给定的dim维度中的最大值。并且indices是找到的每一个最大值的索引。
如果keepdim=True,那么输出的tensors和input保持相同的size,除了在dim维度上size为1哦!否则,如果keepdim=False,那么dim所在的维度是会被squeeze的,也就是输出的tensors比input少一个维度。
Notes:但是,再次注意,dim的数值和挑选最大值方式之间的关系。请看下面的例子:
import torchtensor = torch.randn(4, 4)
tensortensor([[ 0.1789, 0.7102, 0.7627, 0.4721],[-0.2287, -0.7618, 0.1439, -0.5439],[-0.4963, 0.3786, 0.1666, -0.5676],[ 0.6240, 0.0017, 1.0748, 0.4061]])
torch.max(tensor, dim=1)torch.return_types.max(
values=tensor([0.7627, 0.1439, 0.3786, 1.0748]),
indices=tensor([2, 2, 1, 2]))
所以,从这个结果可以看出,对于这个二维张量而言,dim=1,表示最大值的选取方式是固定行,然后从所有列中选取最大值。
再举一个三维数组的例子看看:
import torch
mine = torch.rand(3, 4, 4)
minetensor([[[0.0945, 0.1062, 0.1506, 0.1382],[0.2846, 0.4346, 0.1247, 0.3741],[0.9909, 0.7365, 0.6959, 0.8086],[0.4392, 0.0296, 0.8124, 0.1953]],[[0.6884, 0.9824, 0.4943, 0.6683],[0.5548, 0.7565, 0.2543, 0.3552],[0.0100, 0.5609, 0.9483, 0.6310],[0.3992, 0.1476, 0.9362, 0.0209]],[[0.8073, 0.9579, 0.2604, 0.0848],[0.3591, 0.4507, 0.5978, 0.6411],[0.6008, 0.0967, 0.7433, 0.0602],[0.9017, 0.2228, 0.1419, 0.3229]]])
res = torch.max(mine, dim=2) #注意维度dim=2了哦!
restorch.return_types.max(
values=tensor([[0.1506, 0.4346, 0.9909, 0.8124],[0.9824, 0.7565, 0.9483, 0.9362],[0.9579, 0.6411, 0.7433, 0.9017]]),
indices=tensor([[2, 1, 0, 2],[1, 1, 2, 2],[1, 3, 2, 0]]))
res[0].shapetorch.Size([3, 4])
现在能get到torch.max函数在取最大值的方式跟dim是什么关系了吗?
就是
那下面是感受当keepdim=True的结果,
res = torch.max(mine, dim=2, keepdim=True)
restorch.return_types.max(
values=tensor([[[0.1506],[0.4346],[0.9909],[0.8124]],[[0.9824],[0.7565],[0.9483],[0.9362]],[[0.9579],[0.6411],[0.7433],[0.9017]]]),
indices=tensor([[[2],[1],[0],[2]],[[1],[1],[2],[2]],[[1],[3],[2],[0]]]))
res[0].shapetorch.Size([3, 4, 1])
所以现在能get到函数的输出结果跟keepdim参数的关系了吗?
相关文章:
torch.max函数
torch.max函数的用法 第一种第二种 官方介绍:Link 有两种使用场景,输入的参数不同以及返回值不同: 第一种 没有参数dim,但这种只适合一维张量。 torch.max(input) → Tensor Returns the maximum value of all elements in the…...
“打造智能售货机系统,基于ruoyi微服务版本开源项目“
目录 # 开篇 售货机术语 1. 表设计说明 2. 页面展示 2.1 区域管理页面 2.2 合作商管理页面 2.3 点位管理页面 3. 建表资源 3.1 创建表的 SQL 语句(包含字段备注) 1. Region 表 2. Node 表 3. Partner 表 4. 创建 tb_vending_machine 表的 S…...
LeetCode347:前K个高频元素
题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 解题思想 使用优先队列 priority_queue<Type, Container, Functional> Type 就是数据类型,Container 就是容器类型(C…...
2.线上论坛项目
一、项目介绍 线上论坛 相关技术:SpringBootSpringMvcMybatisMysqlSwagger项目简介:本项目是一个功能丰富的线上论坛,用户可编辑、发布、删除帖子,并评论、点赞。帖子按版块分类,方便查找。同时,用户可以…...
Java面试题:讨论synchronized关键字和java.util.concurrent包中的同步工具,如Lock和Semaphore
在 Java 中,synchronized 关键字和 java.util.concurrent 包中的同步工具都是用来控制多线程环境下的并发访问,以防止数据竞争和确保线程安全。下面是对 synchronized 关键字和 java.util.concurrent 包中的一些同步工具的讨论,包括它们的特点…...
酱香型白酒派系介绍
酱香型白酒作为中国传统白酒的重要流派,以其独特的酱香和复杂的酿造工艺而著称。在酱香型白酒中,形成了多个派系,各具特色。 以下是关于北派、茅派、川派和黔派等各个派系的详细介绍。 一、北派 地理位置:主要产于秦岭和淮河以…...
编译chamfer3D报错
python setup.py install编译chamfer3D报错 出现nvcc fatal : Unsupported gpu architecture ‘compute_86‘的问题,是因为显卡与cuda版本支持的算力不匹配。 nvcc fatal : Unsupported gpu architecture ‘compute_86’ ninja: build stopped: subcommand failed. …...
BuildConfig类找不到,BuildConfig.java类不在编译加载路径问题解决
今天用buildConfigField设置编译时常量遇到了问题,访问不到BuildConfig类,import导包也找不到类,具体设置如下: defaultConfig {applicationId com.sample.abcminSdk 28targetSdk 33versionCode getVerInt()//1versionName getVer…...
海外版coze前端代码助手
定位 解决前端同事的开发问题 参数配置 测试 支持 最屌的大模型及语音播报。 体验地址 海外版前端代码助手 需要魔法才能体验油...
python pyautogui实现图片识别点击失败后重试
安装库 pip install Pillow pip install opencv-python confidence作用 confidence 参数是用于指定图像匹配的信度(或置信度)的,它表示图像匹配的准确程度。这个参数的值在 0 到 1 之间,数值越高表示匹配的要求越严格。 具体来…...
怎么看电脑实时充电功率
因为我想测试不同的充电器给电脑充电的速度,所以就想找一款软件可以看电脑当前充电功率的软件,我给一个图 直接搜索就可以下载了,charge rate就是功率,这里是毫瓦,换算单位是 1000mw1w 所以我这里充电功率是65w&…...
Qt 实战(4)信号与槽 | 4.2、自定义信号与槽
文章目录 一、自定义信号与槽1、自定义信号2、自定义槽3、连接信号与槽4、总结 前言: 在Qt框架中,信号(signals)和槽(slots)机制是对象间通信的核心。这种机制允许对象在特定事件发生时发出信号,…...
Android开发系列(六)Jetpack Compose之Box
Box是一个用来组合和控制子元素布局的组件。它可以在一个矩形区域内排列一个或多个子元素,并根据所提供的参数来控制它们的位置、大小和样式。 Box的功能类似传统的FrameLayout。 下面通过示例了解Box的使用方法,首先看一个最简单的示例,如下…...
51单片机STC89C52RC——4.1 独立按键(数码管显示按键值)
目录 目录 目的 一,STC单片机模块 二,矩阵按键模块 2.1 针脚定义 编辑 2.2 矩阵按键位置 2.3 如何理解按键按下后针脚的高低电平 2.3.1 错误理解1 2.3.2 错误理解2 2.3.3 正确判定按下的是那个按键的逻辑 2.3.4 判定按键按下的依次扫描程…...
解决双击bootstrap.bat没有生成b2.exe文件
双击bootstrap.bat但是并没有没有生成b2.exe文件,会报如下错误: "cl" 不是内部或外部命令,也不是可运行的程序 或批处理文件。D:\cppsoft\boost_1_85_0\tools\build\src\engine>dir *.exe 驱动器 D 中的卷是 Data 卷的序列号是…...
AI穿戴设备是未来手机的终结者?中国AI商业化的未来预测
AI技术的发展正处于商业化应用的关键阶段,而中国在互联网时代已凭借商业化应用逆袭。AI算法大模型虽强大,但真正普惠民众需与设备深度结合。穿戴式智能设备就成为了新战场,AI算法与穿戴设备结合能释放更大工作效率。私人助理AI将成趋势&#…...
FPGA+Nvidia Orin NX+AI 异构视频图像处理开发平台在高端医疗和工业检测的应用,支持定制,支持国产化
FPGAGPU 异构架构视频图像处理开发平台,它结合了 AMD Zynq UltraScale MPSoC(FPGA)与 NVIDIA Jetson Orin NX(GPU)的强大功能,能够应用于对图像精准度和实时性有着严苛要求的行业领域。 Zynq UltraScale MP…...
2000-2023年各省名义GDP、实际GDP、GDP平减指数数据(含原始数据+计算过程+计算结果)(以2000年为基期)
2000-2023年各省名义GDP、实际GDP、GDP平减指数数据(含原始数据计算过程计算结果)(以2000年为基期) 1、时间:2000-2023年 2、范围:31省 3、指标:名义GDP、国内生产总值指数、实际GDP、GDP平减…...
python学习—字典(Dictionary)
系列文章目录 python学习—列表和元组 python学习—循环语句-控制流 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—合并多个Ex…...
鸿蒙开发:【组件启动规则(FA模型)】
组件启动规则(FA模型) 启动组件是指一切启动或连接应用组件的行为: 启动PageAbility、ServiceAbility,如使用startAbility()等相关接口。连接ServiceAbility、DataAbility,如使用connectAbility()、acquireDataAbili…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
