在使用Pytorch时候使用.item()方法导致错误:only one element tensors can be converted to Python scalars的解决办法

在使用Pytorch时候使用.item()方法导致错误:only one element tensors can be converted to Python scalars的解决办法_第1张图片

可以看到,直接对tensor进行调用.item()属性方法是会报错的,是因为item()是将张量转换为python当中的变量时必须要求是标量, 所以我们这么改动:

以下是运行代码和运行结果:

"""
对上面 item()方法的探究
"""

a = torch.randn(2,2)
print(a)
print(a[1,1])  
print(a[1,1].item())   # 这个就转换为python的数据类型 而不是tensor张量

在使用Pytorch时候使用.item()方法导致错误:only one element tensors can be converted to Python scalars的解决办法_第2张图片

解释:

由torch.randn随机生成一个2*2的张量

打印出来可以看到tensor

再取a[1,1]可以正常取到,使用.item()的时候是在取之后得到的标量转换为pyhton当中的变量。 

你可能感兴趣的:(大数据)