python 3.6 pytorch 0.4.1
正常的python 3.X, 除法的结果是直接把二者转化为浮点型, 再做除法, 因此有以下结果:
1/3
""" 0. 3333"""
但是tensor不遵循这个规则, 结果如下:
torch.tensor([1])/torch.tensor([3])
"""tensor([0])"""
解析:
其实因为pytorch自动创建的tensor类型是torch.LongTensor。 在pytorch中的int/long之间的运算得到的还是整形。用了item()
转化为了标量,也就是还原到了基本的python运算。