基本操作
创建矩阵
import torch
x=torch.empty(5,3)
print(x)
x=torch.rand(5,3)
print(x)
x=torch.zeros(5,3,dtype=torch.long)
print(x)
x=torch.tensor([5.5,3])
print(x)
x=x.new_ones(5,3,dtype=torch.double)
print(x)
x=torch.randn_like(x,dtype=torch.float)
print(x)
print(x.size())
基本计算方法
加法
import torch
x=torch.ones(5,3)
y=torch.rand(5,3)
print(x)
print(y)
print(x+y)
print(torch.add(x,y))
索引
import torch
x=torch.ones(5,3)
print(x[:,1])
view改变矩阵维度
x=torch.randn(4,4)
print(x)
y=x.view(16)
print(y)
z=x.view(-1,8)
print(z)
print(x.size(),y.size(),z.size())
tensor和numpy的相互转换
import torch
a=torch.ones(5)
print(a)
b=a.numpy()
print(b,type(b))
import numpy as np
a=np.ones(5)
b=torch.from_numpy(a)
print(b)
反向传播
import torch
x=torch.randn(3,4,requires_grad=True)
print(x)
x=torch.randn(3,4)
x.requires_grad=True
print(x)
b=torch.randn(3,4,requires_grad=True)
t=x+b
print(t)
y=t.sum()
z=y+b
print(y)
y.backward()
z.backward(retain_graph=True)
print(b.grad)
print(t)
print(x.is_leaf,y.is_leaf,b.is_leaf,z.is_leaf)