Tensor和Autograd------Tensor
Tensor
创建:
- Tensor(*size),创建时不会立马分配空间,使用时才会分配,而其他均创建时立马就分配。
- ones(*sizes)
- zeros(*sizes)
- eye(*sizes)对角线为1其他为0
- arange(s,e,step)从s到e步长为step
- linspace(s,e,steps)从s到e,均匀切分成steps份
- rand/randn(*sizes)均匀/标准整体分布
- normal(mean,std)/uniform(from,to)
- randperm(m)随机排列
利用List创建tensor
a = torch.Tensor([[1, 2, 3], [4, 5, 6]])
print(a)
b = a.tolist()
print(b)
print(a.size())
print(a.numel())#输出the num of element
# 创建一个和a一样大小的Tensor
c = torch.Tensor(a.size())
print(c.size())
# 查看c的形状
print(c.shape)
常用tensor操作:
- Tensor.view()可以调整tensor的形状,但不会修改自身的数据,两者共享内存
a = torch.Tensor([[1, 2, 3], [4, 5, 6]]) print(a) b = a.view(3, 2) print(b)