文章目录
- 一、.item() 方法介绍
- 1. 方法介绍
- 2. 那么有什么用呢?
- 二、实例
- 参考链接
一、.item() 方法介绍
1. 方法介绍
我们先看官网中是怎么介绍的:
返回这个张量的值作为一个标准的Python数字。
详情页中说:
# TORCH.TENSOR.ITEM
Tensor.item() → number
Returns the value of this tensor as a standard Python number. This only works for tensors with one element. For other cases, see tolist().
This operation is not differentiable.
- 返回这个张量的值作为一个标准的 Python 数字。这只适用于单元素张量。对于其他情况,请参见tolist()。
- 这个运算是不可微的。
也就是说:Tensor.item() 的作用是取出单元素张量的元素值并返回该值,保持原元素类型不变。即:原张量元素为整形,则返回整形,原张量元素为浮点型则返回浮点型,etc.
2. 那么有什么用呢?
在 pytorch 训练时,一般用到 .item()
方法。比如 loss.item()
。
在浮点数结果上使用 .item() 函数可以提高显示精度,所以我们在求 loss 或者 accuracy 时,一般使用 x[1,1].item() 而不是单纯使用 x[1,1]。
二、实例
x[1,1] V.S. X.item():
import torch
x = torch.randn(2, 2)
print(x)
print(x[1,1])
print(x[1,1].item())
输出结果:
tensor([[ 1.4471, -0.4962],
[-0.0843, -0.3465]])
tensor(-0.3465)
-0.3464970886707306
参考链接
- python中.item()的讲解