关于pytorch中损失函数的参数说明
参考自HawardScut
很多的 loss 函数都有 size_average 和 reduce 两个布尔类型的参数。因为一般损失函数都是直接计算 batch 的数据,因此返回的 loss 结果都是维度为 (batch_size, ) 的向量。
- (1)如果 reduce = False,那么 size_average 参数失效,直接返回向量形式的 losssum
- (2)如果 reduce = True,那么 loss 返回的是标量
- a)如果 size_average = True,返回 loss.mean();现在已经废除,可以使用reduction='mean'代替
- b)如果 size_average = False,返回 loss.sum();可以使用reduction='sum'代替
- 上面选择mean或者sum都可,但是要注意若为mean那么需要除以一个N,那么其求导的值相对于sum就会变小,因此在后续优化器中需要适当调整学习率
注意:默认情况下, reduce = True,size_average = True
本文来自博客园,作者:xingye_z,转载请注明原文链接:https://www.cnblogs.com/xyzhrrr/p/15574228.html