欢迎讨论
1. 如果将小批量的总损失替换为小批量损失的平均值,需要如何更改学习率?
找到相关的函数介绍nn.MSELoss
默认api nn.MSELoss中是小批量损失的平均值,所以学习率为0.03
拿到对应的batch loss细节如下:
当学习率为0.03,损失函数的值为小批量的总损失时候,发现不能够收敛了。
拿到对应的batch loss细节如下:
可以看到sum的loss大于mean的loss,所以对应的sum的学习率应该调整为0.003。
2. 查看深度学习框架文档,它们提供了哪些损失函数和初始化方法?用Huber损失代替原损失,即
百度即可:
pytorch框架损失函数
pytorch初始化方法
MeanLoss替换为SmoothL1Loss即可
3. 如何访问线性回归的梯度?
print(net[0].weight.grad)
可以放在for循环里面计算每一步的梯度