5分钟
反向传播
调用loss.backward()获得反向传播的误差。
但是在调用前需要清除已存在的梯度,否则梯度将被累加到已存在的梯度。
现在,我们将调用loss.backward(),并查看conv1层的偏差(bias)项在反向传播前后的梯度。
In [10]:
net.zero_grad() # 清除梯度
print('conv1.bias.grad before backward')
print(net.conv1.bias.grad)
loss.backward()
print('conv1.bias.grad after backward')
print(net.conv1.bias.grad)conv1.bias.grad before backward tensor([0., 0., 0., 0., 0., 0.]) conv1.bias.grad after backward tensor([ 0.0051, 0.0042, 0.0026, 0.0152, -0.0040, -0.0036])
如何使用损失函数
稍后阅读:
nn包,包含了各种用来构成深度神经网络构建块的模块和损失函数,完整的文档请查看here。
剩下的最后一件事:
- 新网络的权重
学员评价