torch.eq(input, other, *, out=None)
对两个张量Tensor进行逐元素的比较,若相同位置的两个元素相同,则返回True;若不同,返回False。
Parameters(参数):
input :必须是一个Tensor,该张量用于比较
other :可以是一个张量Tensor,也可以是一个值value
return(返回值):返回一个Boolean类型的张量,对两个张量Tensor进行逐元素的比较,若相同位置的两个元素相同,则返回True;若不同,返回False。
import torch
x = torch.tensor([[1, 2], [3, 4]])
y = torch.tensor([[1, 1], [3, 3]])
print(x)
print(y)
out = torch.eq(x, y)
print(out)
out1 = torch.eq(x, y).sum()
print(out1)
out2 = torch.eq(x, y).sum().float()
print(out2)
out3 = torch.eq(x, y).sum().item()
print(out3)
输出为:
tensor([[1, 2],
[3, 4]])
tensor([[1, 1],
[3, 3]])
tensor([[ True, False],
[ True, False]])
tensor(2)
tensor(2.)
2
item() 返回一个数
该方法的功能是以标准的Python数字的形式来返回这个张量的值.这个方法
只能用于只包含一个元素的张量.对于其他的张量,请查看方法tolist().
返回输入张量中所有元素的最大值的索引。
官方文档:https://pytorch.org/docs/stable/generated/torch.argmax.html
import torch
a = torch.randn(3, 4)
torch.argmax(a)
torch.argmax(a,dim=1)
torch.argmax(a,dim=0)
tensor([[-0.0815, 0.8759, -0.1932, 0.6896],
[-1.1432, -0.4114, -0.6331, 0.2309],
[-0.2122, 0.2187, 0.3195, -0.7594]])
tensor(1)
tensor([1, 3, 2])
tensor([0, 0, 2, 0])