本文已参与「新人创作礼」活动,一起开启掘金创作之路。
注:根据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的数据试试
显然,同理,搜索每一组数据的最大数
索引方面,由于是一个二维数组
均同理