注:根据1.7.1文档, torch.Tensor.max与torch.max用法相同
torch.max(input) → Tensor
返回input中最大的元素
实例:

torch.max(input, dim, keepdim=False, *, out=None) -> (Tensor, LongTensor)
Parameters
input (Tensor) – 输入张量
dim (int) – 选择reduce的维
keepdim (bool) – 上述的维度是否保留。 Default: False.
Keyword Arguments
out (tuple, optional) – 返回最大值和索引
需要注意的是,如果有多个最大值,返回第一个索引
实例:

从这个例子中,我们可以看出torch.Tensor.max与torch.max的结果是完全一致的。
再详细分析一下这个例子。
dim参数就是选择指定的维度,在该维度上的所有数据进行max查找,x.max(1)同理。
关于其返回的索引,我们可以这样理解。

torch.return_types.max(
values=tensor([6, 8, 5]),
indices=tensor([1, 2, 2]))
自然有:
indices[0]=1
indices[1]=2
indices[2]=3
由于我们选择的dim为0,在二维中,也就是“行”
所以,我们可以这样使用索引
将第dim维,换成indices[*],另一维使用indices自己的索引。
(我们选择的是第0维,也就是说我们找出的是每一列的最大值。)

同时,我们扩充到3x3x3的数据试试
显然,同理,搜索每一组数据的最大数
索引方面,由于是一个二维数组

均同理
本文深入探讨了PyTorch中的torch.max函数,介绍了如何在不同维度上寻找最大值及其索引。通过实例展示了torch.max(input, dim, keepdim=False, out=None)的用法,强调了当存在多个最大值时,返回第一个索引的特点。同时,通过3x3x3数据的示例,解释了如何理解和使用返回的索引,强调了在多维数据中寻找最大值的方法。
4061

被折叠的 条评论
为什么被折叠?



