记录一下学习重点。
原书:深度学习框架PyTorch:入门与实践 — 陈云
快速入门
Tensor是一个高维数组,与numpy.ndarrays类似,但是Tensor可以使用GPU加速。
torch.size是tuple对象。
函数名带下划线的_函数会修改Tensor本身。例如x.add_(y)会改变x,但x.add(y)会返回一个新的Tensor,x不变。
autograd.Variable是Autograd中的核心类,Tensor被封装为Variable之后,可以调用它的.backward实现反向传播,自动计算所有梯度。
输出参数量:
params = list(net.parameters())
print(len(params))
for name, parameters in net.named_parameters():
print(name, ':', parameters.size())
nn实现了大量的损失函数:nn.MSELoss(), nn,CrossEntropyLoss()
criterion = nn.MSELoss()
torch.optim中实现了深度学习中绝大多数的优化方法,例如RMSProp,Adam,SGD等
optimizer = optim.SGD(net.parameters(), lr= 0.01)
实现:CIFAR-10分类