loss.backward() #反向传播
optimizer.step() #更新参数
optimizer.zero_grad() # 梯度归零
这三个函数的作用是
梯度归零(optimizer.zero_grad())
,然后反向传播计算得到每个参数的梯度值(loss.backward()),
最后通过梯度下降执行一步参数更新(optimizer.step())
关于这三个的顺序上
optimizer.zero_grad() # 梯度归零只能写在最开始或者最后面
loss.backward()要写在optimizer.step()之前。