import torch
a = torch.randn(3,3)
print(a)#返回生成的随机tensor(3*3)
print(torch.max(a,0))#返回每一列中最大值的那个元素,且返回索引(返回最大元素在这一列的行索引)
print(torch.max(a,1))#返回每一行中最大值的那个元素,且返回其索引(返回最大元素在这一行的列索引)
print(torch.max(a))#返回tensor a 中的最大值
print(torch.max(a,0)[0] )# 只返回最大值的每个数
print(torch.max(a,0)[1])#只返回最大值的每个索引
控制台输出:
tensor([[ 1.6294, 0.2568, 0.2093],
[ 0.4974, -2.1175, 0.1659],
[ 0.0640, 1.4387, -0.5895]])
torch.return_types.max(
values=tensor([1.6294, 1.4387, 0.2093]),
indices=tensor([0, 2, 0]))
torch.return_types.max(
values=tensor([1.6294, 0.4974, 1.4387]),
indices=tensor([0, 0, 1]))
tensor(1.6294)
tensor([1.6294, 1.4387, 0.2093])
tensor([0, 2, 0])
Process finished with exit code 0
max函数用法总结:
torch.max(a) 返回输入tensor a中所有元素的最大值
torch.max(a,0) 返回每一列中最大值的那个元素,且返回索引(返回最大元素在这一列的行索引),注意这里不仅仅返回最大值,还返回最大值索引。
torch.max(a,1) 返回每一行中最大值的那个元素,且返回其索引(返回最大元素在这一行的列索引)
torch.max()[0], 只返回最大值的每个数
troch.max()[1], 只返回最大值的每个索引
torch.max()[1].data 只返回variable中的数据部分(去掉Variable containing:)
torch.max()[1].data.numpy() 把数据转化成numpy ndarry
torch.max()[1].data.numpy().squeeze() 把数据条目中维度为1 的删除掉
torch.max(tensor1,tensor2) element-wise 比较tensor1 和tensor2 中的元素,返回较大的那个值