总结一下使用pytorch搭建神经网路的一般步骤:
(1)第一步:处理输入数据
(2)第二步:搭建网络结构,得到一个model。网络的结构可以是这种最简单的序贯模型,当然还可以是多输入-单输出模型、单输入-多输出模型、多输入-多输出模型、跨层连接的模型等。
(2)第三步:定义损失函数。
loss = torch.nn.MSELoss(reduction='sum')
(4)第四步:定义优化方式。构造一个optimizer对象
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)
上面是模型以及模型相关的配置,下面是训练。
(1)第一步:计算预测值,前向传播;
(2)第二步:根据损失函数计算loss
(3)第三步:梯度归零
optimizer.zero_grad()
(4)第四步:反向传播误差
loss.backward()
(5)更新参数,使用step()
optimizer.step()