【豆包写的】深入解析 torch.argmax 中 dim=1 与 one-hot 转整数标签的关系

深入解析 torch.argmax 中 dim=1 与 one-hot 转整数标签的关系

你想理解在torch.argmax(y_true_cce, dim=1)中参数dim=1的具体含义,尤其是结合把 one-hot 标签转换为整数标签的场景——这是 PyTorch 处理张量维度的核心基础,我会用通俗的语言+可视化的例子讲清楚,让你一眼看懂。

一、dim(维度/轴)的核心定义

dim(也可以写成axis)是 PyTorch 张量的维度/轴参数,本质是指:对张量进行操作的“方向”

  • PyTorch 中维度从0开始计数;

  • 不同的dim对应不同的操作方向,核心是“沿着这个维度去计算/取值”。

先看我们之前的y_true_cce张量,它的结构和形状是关键:

import torch y_true_cce = torch.tensor([[0, 1, 0], [1, 0, 0]], dtype=torch.float32) print("张量内容:") print(y_true_cce) print("张量形状(shape):", y_true_cce.shape) # 输出 torch.Size([2, 3])

输出:

张量内容: tensor([[0., 1., 0.], [1., 0., 0.]]) 张量形状(shape): torch.Size([2, 3])

这个张量的shape=(2,3)表示:

  • dim=0:对应第一个维度(“行维度”),方向是垂直方向(遍历每一行);

  • dim=1:对应第二个维度(“列维度”),方向是水平方向(遍历每一列)。

可以用可视化更直观理解:

# y_true_cce 的结构 行0(样本0):[0, 1, 0] → 列0 列1 列2 行1(样本1):[1, 0, 0] → 列0 列1 列2 ↑ ↑ dim=0 dim=1 (垂直) (水平)

二、dim=1 在 torch.argmax 中的具体作用

torch.argmax()的核心功能是:返回指定维度上“最大值所在的索引”

结合dim=1,就是:对张量的每一行(每个样本),沿着列的方向(dim=1)找最大值的索引

1. 针对 one-hot 标签的实际意义

one-hot 标签的特点是“每行只有1个1(最大值),其余都是0”,所以dim=1就是找每行中“1”所在的列索引——这个索引正好对应样本的真实类别(比如列1对应类别1,列0对应类别0)。

2. 代码拆解验证

# 对 y_true_cce 执行 torch.argmax(dim=1) y_true_from_onehot = torch.argmax(y_true_cce, dim=1) print("dim=1 时的结果:", y_true_from_onehot) # 输出 tensor([1, 0]) # 对比:如果用 dim=0 会怎样?(反例,帮助理解) y_dim0 = torch.argmax(y_true_cce, dim=0) print("dim=0 时的结果:", y_dim0) # 输出 tensor([1, 0, 0])
结果解释:
  • dim=1

    • 第一行[0,1,0],列方向最大值是1,索引是1 → 结果第一个值是1;

    • 第二行[1,0,0],列方向最大值是1,索引是0 → 结果第二个值是0;

    • 最终得到[1,0],正好是我们需要的整数标签。

  • dim=0(反例):

    • 第一列[0,1],行方向最大值是1,索引是1 → 结果第一个值是1;

    • 第二列[1,0],行方向最大值是1,索引是0 → 结果第二个值是0;

    • 第三列[0,0],行方向最大值是0,索引是0 → 结果第三个值是0;

    • 最终得到[1,0,0],这是按列找最大值索引,和我们要的“每个样本的类别”无关。

三、通用规律:dim 参数的记忆方法

对于形状为(N, C)的张量(N=样本数,C=类别数,比如之前的 (2,3)):

dim 值操作方向适用场景
dim=0沿“列”的垂直方向(按列操作)找每列的最大值/均值(比如统计所有样本在某类别上的最大值)
dim=1沿“行”的水平方向(按行操作)对每个样本(每行)找类别索引(one-hot转整数标签)、计算每行的概率和等

总结

  1. dim是张量的“操作方向”,从0开始计数,dim=1对应二维张量的“列方向”(水平方向);

  2. torch.argmax(y_true_cce, dim=1)中,dim=1表示对每个样本(每行)找列方向上最大值的索引,正好提取 one-hot 标签的类别索引;

  3. 若张量形状是(样本数, 类别数),将 one-hot 转整数标签必须用dim=1,用dim=0会得到无意义的结果。

(注:文档部分内容可能由 AI 生成)

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

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

相关文章

基于超像素(super-pixel)边缘检测的呼吸监测和小波去噪、EVM PVM进行对比实验附Matlab复现

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#x1…

论文写作“隐藏技巧”:7款AI神器告别焦虑,导师不会告诉你的秘密

你知道吗?你隔壁实验室那个从不熬夜、却能轻松产出高质量论文的同学,可能正在用这些“隐藏工具”。而你的导师,大概率知道,却永远不会主动告诉你。 是不是经常感觉,论文写作像一场信息不对等的“军备竞赛”&#xff1f…

数据库常用的SQL查询语句(非常详细),看完这一篇就足够了

1. 无条件查询 --查询表中所有数据 select * from 表名;2. 查询在…到…之间(between and / && / and) --查询users表中年龄在18~25岁之间的记录 --方式1 between..and.. select * from users where age between 18 and 25;--方式2 && select * from users w…

Debug:mlx-omni-server服务器用qwen3模型出错

背景:AI回答出错,开始以为是代码问题使得之前的对话出现在上下文,没想到是mlx-omni-server的问题 debug过程: 最开始比较好运地在github论坛找到同样的问题,大概率确认服务器出错。 之后用copilot写了一个简单的go代码…

计算机毕业设计springboot基于的乡村有机产品交易平台 基于SpringBoot的“田间直达”有机农产品商城 SpringBoot驱动的“乡味鲜”绿色土特产交易平台

计算机毕业设计springboot基于的乡村有机产品交易平台6842sqf9(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。在“健康中国”与“乡村振兴”双重战略的催化下,城市餐…

从RAG落地失败到用户满意度提升90%:我们靠这一招Query Rewrite,收藏起来避免踩坑!

本文分享了RAG系统落地实践中的关键问题与解决方案。团队发现直接使用用户原始问题进行检索效果不佳,因为用户提问通常口语化、指代不清且含情绪。通过引入Query Rewrite能力,将用户问题转化为系统可理解的检索查询,包括问题拆解和上下文补全…

x64dbg动态分析实战案例:从零实现函数追踪(完整示例)

x64dbg实战:手把手教你实现函数追踪与参数解析你有没有遇到过这样的场景?面对一个闭源的加密程序,你想搞清楚它是如何调用核心加密函数的,但没有源码、没有符号信息,甚至连入口点都找不到。这时候静态分析就像在黑暗中…

GLM-4.6V-Flash-WEB省钱方案:低成本GPU部署实战案例

GLM-4.6V-Flash-WEB省钱方案:低成本GPU部署实战案例 智谱最新开源,视觉大模型。 1. 背景与需求分析 1.1 视觉大模型的落地挑战 随着多模态AI技术的快速发展,视觉大模型(Vision-Language Models, VLMs)在图像理解、图…

深度测评8个AI论文软件,研究生高效写作必备!

深度测评8个AI论文软件,研究生高效写作必备! AI 工具如何改变论文写作的效率与质量 在研究生阶段,论文写作不仅是学术能力的体现,更是时间与精力的双重挑战。随着 AI 技术的不断进步,越来越多的 AI 写作工具开始进入高…

开发者必备:GLM-4.6V-Flash-WEB一键部署实操手册

开发者必备:GLM-4.6V-Flash-WEB一键部署实操手册 智谱最新开源,视觉大模型。 1. 引言 1.1 视觉大模型的演进与应用场景 近年来,多模态大模型在图文理解、视觉问答(VQA)、图像描述生成等任务中展现出强大能力。智谱AI…

计算机毕业设计springboot作物叶片病害诊断系统 基于SpringBoot的农作物叶部病害智能识别与防治平台 SpringBoot+MySQL实现田间作物叶片病害在线诊断与知识共享系统

计算机毕业设计springboot作物叶片病害诊断系统mhjpa8en(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。当全球粮食需求持续攀升,叶片病害却总在关键时刻偷走产量。把…

关于全国GIS应用技术测评考试:你必须知道的事(附真题)

01报考条件有哪些?有没有专业限制?地理信息系统、测绘、土地管理与规划、遥感等相关专业的在校生。从事GIS行业相关教学、科研、管理与应用的在职人员。需要指导GIS项目实施的项目经理、部门经理、高层领导、政府及事业单位领导。本科在读及以下学历者只…

TDengine IDMP让制糖看得清、管得住、跑得稳

(本文由涛思客户成功部门出品) 2025 年 12 月,涛思数据与北京海莱德自动化工程有限公司(简称“海莱德”)正式建立合作伙伴关系。此次合作,海莱德将基于自身行业自动化系统集成能力,结合涛思数据…

[特殊字符] 藏在 Vue3 源码里的 “二进制艺术”:位运算如何让代码又快又省内存?

前言在前端框架竞争白热化的今天,Vue3能稳坐主流框架宝座,除了更简洁的 API 设计,其底层藏着的 “性能黑科技” 功不可没 ——位运算 就是其中最亮眼的一项。它像一位 “隐形的优化大师”,在响应式系统、 虚拟 DOM Diff、任务调度…

富文本编辑器技术选型,到底是 Prosemirror 还是 Tiptap 好 ❓❓❓

在前端开发中,撤销和重做功能是提升用户体验的重要特性。无论是文本编辑器、图形设计工具,还是可视化搭建平台,都需要提供历史操作的回退和前进能力。这个功能看似简单,但实现起来需要考虑性能、内存占用、用户体验等多个方面。在…

【技术收藏】预训练数据选择革命:MATES等6大方法让LLM性能提升,计算量减半

该文系统综述了大语言模型预训练与后训练的数据选择方法,包括模型影响力驱动的MATES、质量与多样性平衡的Quad/QuaDMix/ODiS、多策略集成的multi-actor机制、结构化知识驱动的MASS、任务相关性驱动的BETR,以及后训练中的在线离线数据选择技术。这些方法通…

导师严选2026 TOP9 AI论文写作软件:专科生毕业论文必备测评

导师严选2026 TOP9 AI论文写作软件:专科生毕业论文必备测评 2026年AI论文写作软件测评:为何值得专科生关注 随着人工智能技术的不断进步,AI论文写作工具逐渐成为学术研究中不可或缺的辅助工具。对于专科生而言,撰写毕业论文不仅是…

5V/4A单通道高频率低侧替代LM5114GaN增强型驱动

概述:PC1001 是一款单通道高速驱动器,具有 5V 输出和专用增强型氮化镓(GaN)场效应晶体管(FET)驱动功能。PC1001 可提供非对称峰值电流驱动能力,源电流为 1.4A,灌电流为 4A&#xff0…

多平台社交媒体管理工具优选方案:科握凭AI创作+合规激励,引爆声量销售双增长

一、行业趋势:多平台整合与一线赋能成社媒营销关键普华永道《中国内地及香港地区奢侈品市场洞察:“重塑客户价值,实现可持续增长”》显示,亚太地区已成为全球奢侈品市场的重要增长引擎,预计 2025 年年均复合增速 11%。…

2026 年CBAM 要不要现在就做?先说结论

如果你是出口欧盟的企业, 2026 年你最容易犯的错误不是“什么都没做”, 而是——在错误的阶段,做了错误的事情。 我先把结论放在最前面: 2026 年,大多数企业不需要“启动完整 CBAM 项目”, 但必须开始…