当前位置: 首页 > news >正文

PyTorch中的torch.argmax()和torch.max()区别

在PyTorch中,torch.argmax()torch.max()都是针对张量操作的函数,但它们的核心区别在于返回值的类型和用途


1. torch.argmax()

  • 作用:仅返回张量中最大值所在的索引位置(下标)。
  • 返回值:一个整数或整数张量(维度比输入少一维)。
  • 使用场景
    需要知道最大值的位置时(如分类任务中预测类别标签)。
  • 示例
    import torchx = torch.tensor([5, 2, 9, 1])
    idx = torch.argmax(x)  # 返回值:tensor(2)(因为9是最大值,索引为2)
    

2. torch.max()

  • 作用:返回张量中的最大值本身或同时返回最大值及其索引
  • 两种模式
    • 模式一:只返回最大值
      value = torch.max(x)  # 返回tensor(9)
      
    • 模式二:同时返回最大值和索引(需指定dim维度)
      values, indices = torch.max(x, dim=0)  # 返回(values=tensor(9), indices=tensor(2))
      
  • 返回值
    • 若未指定dim:返回单个值(标量或与原张量同维)。
    • 若指定dim:返回元组(max_values, max_indices)

关键区别总结

函数torch.argmax()torch.max()
返回值索引(位置)最大值 (最大值, 索引)(取决于参数)
是否指定维度可指定dim(返回索引)不指定dim时返回最大值;指定时返回元组
典型用途获取分类结果的标签序号获取最大值本身或同时取值+定位
输出维度比输入少一维(沿dim压缩)与输入维度相同(不指定dim)或压缩维度

示例对比(多维张量)

y = torch.tensor([[3, 8, 2],[1, 5, 9]])# argmax: 返回每行最大值的索引
idx_row = torch.argmax(y, dim=1)  # tensor([1, 2])(第一行8在索引1,第二行9在索引2)# max: 返回每行最大值及其索引
values, indices = torch.max(y, dim=1)  
# values = tensor([8, 9]), indices = tensor([1, 2])

如何选择?

  • 只需知道最大值的位置(如分类标签) → argmax()
  • 需要最大值本身 → max()(不指定dim
  • 既要值又要位置(如Top-k计算) → max(dim=...)
  • 内存敏感场景:argmax仅返回索引(内存占用更小)
http://www.dtcms.com/a/275090.html

相关文章:

  • 视觉SLAM学习笔记:g2o位姿优化实战
  • doker和网站部署
  • Matplotlib-多图布局与网格显示
  • [Reverse1] Tales of the Arrow
  • P1886 滑动窗口 /【模板】单调队列
  • 代码随想录|图论|10水流问题
  • Word表格默认格式修改成三线表,一劳永逸,提高生产力!
  • Sigma-Aldrich细胞培养实验方案 | 悬浮细胞系的传代培养
  • 【真实案例】CATCOM-100实战:铁路积水监测与智能预警
  • Wend看源码-DeerFlow(基于LangGraph 的DeepResearch框架)
  • [SL] Brutus Linux登入紀錄分析+MITRE ATTCK+linper.sh本地权限提升工具
  • 面向构件的编程(COP)深度解析:构建模块化系统的工程范式
  • Debian:从GNOME切换到Xfce
  • 二叉树的层次遍历(BFS)
  • ## SQLITE:多表(子母表)联合查询【DA_Project笔记】
  • 032_super关键字与父类访问
  • CSP-J/S 参赛选手注册报名流程
  • 如何应对风险和不确定性
  • 还在靠防火墙硬抗?网络安全需要从“单点防御“转向“系统化防护“!
  • AGV穿梭不“迷路”CCLinkIE转Modbus TCP的衔接技巧
  • 【AI大模型】超越RAG的搜索革命!分层框架让AI像专家团队一样深度思考
  • 三轴云台之三维重建算法篇
  • Microbiome:如何区分肠道中的有益菌?有害菌?
  • 嵌入式 数据结构学习 (六) 树、哈希表与内核链表
  • 【常见分布及其特征(2)】离散型随机变量-伯努利分布(0-1分布)
  • 滚珠导轨在发动机加工设备中起着什么作用?
  • Django老年健康问诊系统 计算机毕业设计源码32407
  • Windows11桌面解锁守护脚本
  • 05 唤醒词检测:让语音助手随时待命
  • 【跟着PMP学习项目管理】每日一练 - 3