Pytorch-张量相加的四种方法 / .item()用法

2022-09-02 22:30:24 浏览数 (2)

这里举例说明:

代码语言:javascript复制
x = torch.rand(5, 3)
y = torch.rand(5, 3)
#第一种
print(x   y)
#第二种
print(torch.add(x, y))
#第三种
result = torch.empty(5, 3)
torch.add(x, y, out=result)
print(result)
#第四种
y.add_(x)
print(y)

Any operation that mutates a tensor in-place is post-fixed with an . For example: x.copy(y), x.t_(), will change x.

关于x.item()用法: 文档中给了例子,说是一个元素张量可以用item得到元素值,请注意这里的print(x)和print(x.item())值是不一样的,一个是打印张量,一个是打印元素:

代码语言:javascript复制
x = torch.randn(1)
print(x)
print(x.item())

#结果是
tensor([-0.4464])
-0.44643348455429077

那么如果x不是只含一个元素张量可以吗?本菜试了一下,不行的!但是可以用这种方法访问特定位置的元素:

代码语言:javascript复制
x = torch.randn(2, 2)
print(x[1, 1])
print(x[1, 1].item())

#结果
tensor(0.4279)
0.4278833866119385
···    

0 人点赞