本文主要是介绍理解torch.argmax() ,我是错误的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
torch.max()
import torch# 定义张量 b
b = torch.tensor([[1, 3, 5, 7],[2, 4, 6, 8],[11, 12, 13, 17]])# 使用 torch.max() 找到最大值
max_indices = torch.max(b, dim=0)print(max_indices)
输出:>>> print(max_indices)
torch.return_types.max(
values=tensor([11, 12, 13, 17]),
indices=tensor([2, 2, 2, 2]))
分析:张量b是3*4 二维张量,dim=0 得到3个张量分别是【1,2,5,7】,【2,4,6,8】,【11,12,13,17】,最大是谁呢?因此tourch.argmax() 得到indices=2对应第三个。注意啊,是4个2!
import torch# 定义张量 b
b = torch.tensor([[1, 3, 5, 7],[2, 4, 6, 8],[11, 12, 13, 17]])# 使用 torch.max() 找到最大
max_indices = torch.max(b, dim=1)print(max_indices)
输出:>>> print(max_indices)
torch.return_types.max(
values=tensor([ 7, 8, 17]),
indices=tensor([3, 3, 3]))
分析:张量b是3*4 二维张量,dim=1 得到4个张量分别是【1,2,11】,【3,4,12】,【15,6,13】,【7,8,17】最大是谁呢?因此indices=3对应第4个,因此tourch.argmax() 得到indices=3对应第4个。注意啊,是3个3!
结论:torch.argmax() ,我开始的理解是错误的,通过torch.max() 分析,重新理解argmax() 返回所有元素中的最大值索引!问题来了,索引可能多个,例如indices=tensor([3, 3, 3])),我的疑惑就是索引都是3,能否得到索引indices=tensor([2, 3, 3]))这样的例子呢?如果构造张量b 确保3个索引值是不同的呢?
这篇关于理解torch.argmax() ,我是错误的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!