如下
a = torch.tensor([[0, 0], [0, 0]])
print(a>=0.5)
输出
tensor([[1, 1],
[1, 1]], dtype=torch.uint8)
结果明显不对, 分析原因是因为, a
是long类型, 而0.5
是float. 0.5
会被转化为 long, 变为0. 因此结果会出错, 做出如下修改就可以得到正确答案
正确用法:
a = torch.tensor([[0, 0], [0, 0]]).float()
print(a>=0.5)