二维张量(矩阵):
假设你有一个形状为 [m, n]
的二维张量(可以想象成一个矩阵,有 m 行和 n 列):
dim=0
指的是行的方向(从上到下)。如果你在一个函数中指定dim=0
,那么操作将沿着每一列进行,对每一列中的行元素进行处理。dim=1
指的是列的方向(从左到右)。如果你在一个函数中指定dim=1
,那么操作将沿着每一行进行,对每一行中的列元素进行处理。
例如,在一个 [m, n]
的矩阵中使用 torch.max(tensor, dim=0)
,会返回每列的最大值以及这些最大值的索引,结果是两个 [n]
形状的一维张量。使用 torch.max(tensor, dim=1)
,会返回每行的最大值以及索引,结果同样是两个 [m]
形状的一维张量。
三维张量:
对于一个形状为 [p, q, r]
的三维张量:
dim=0
指的是第一个维度,这在某些上下文中可以代表不同的样本或批次。【减小成一个样本】dim=1
指的是第二个维度,这可以代表时间步长(在序列数据中)或是特定样本中的特征或子序列。【每个样本中,只保留横轴】dim=2
则是第三个维度,通常代表每个时间步长的特征向量。【每个样本中,只保留列轴】
在三维张量中使用 torch.max(tensor, dim=0)
会沿着第一个维度找到最大值,例如在一个形状为 [p, q, r]
的张量中,它会返回一个形状为 [q, r]
的二维张量,代表沿第一个维度(每个 [q, r]
面)的最大值。使用 torch.max(tensor, dim=1)
则会返回一个形状为 [p, r]
的二维张量,代表沿第二个维度(每个 [p, r]
面)的最大值。
1 | <br><br> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!