tensor类似于NumPy的ndarray,另外还有Tensors也可用于GPU以加速计算。
from __future__ import print_function
import torch
#构造一个未初始化的5*3矩阵
x = torch.empty(5, 3)
print(x)
#构造一个随机初始化的5*3矩阵
x = torch.rand(5, 3)
print(x)
#构造一个矩阵填充的0和的dtype long
x = torch.zeros(5, 3, dtype=torch.long)
print(x)
#直接从数据构造tensor
x = torch.tensor([5.5, 3])
print(x)
#根据现有的tensor创建tensor。除非用户提供新值,否则这些方法将重用输入tensor的属性,例如dtype
x = x.new_ones(5, 3, dtype=torch.double)
print(x)
x = torch.randn_like(x, dtype=torch.float)
print(x)
print(x.size())
y = torch.rand(5,3)
print(y)
运行结果:
#add方法一
print(x + y)
#add方法二
print(torch.add(x, y))
#add方法三
result = torch.empty(5, 3)
torch.add(x, y, out=result)
print(result)
#add方法四
y.add_(x)
print(y)
运行结果:
#访问第一列,与numpy用法相似
print(y[:, 1])
#调整大小
x = torch.randn(4, 4)
y = x.view(16)
z = x.view(-1, 8)
print(x.size(), y.size(), z.size())
#如果你的tensor只有一个元素,可以用.item()获取值作为python数字
x = torch.randn(1)
print(x)
print(x.item())
运行结果:
任何改变原tensor的操作都是用‘’后实现的。(如:add())