在对tensor求均值时报错,代码如下;
x = torch.tensor([[1,2,3],[4,5,6]])
print(x.mean())#求均值
解决方法:
修改数据类型为浮点数
x = torch.tensor([[1,2,3],[4,5,6]],dtype = torch.double)
原因:
在使用tensor()创建张量时,其数据类型是根据值来判定的。因此,要将数据类型转换为float再求均值。
x = torch.tensor([[1,2,3],[4,5,6]])#,dtype = torch.double
print(x, x.dtype)
#print(x.mean())#求均值
y = torch.tensor([[1.0,2.2,3.4],[4.0,5.0,6.0]])
print(y, y.dtype)
print(y.mean())#求均值
输出结果为:
tensor([[1, 2, 3],
[4, 5, 6]]) torch.int64
tensor([[1.0000, 2.2000, 3.4000],
[4.0000, 5.0000, 6.0000]]) torch.float32
tensor(3.6000)