因为没有百度到自己想要的,直接去看了英文文档。MSELoss — PyTorch 1.10.1 documentation
CLASS:
torch.nn.MSELoss(size_average=None, reduce=None, reduction='mean')
测量 和目标 中每个元素之间的均方误差。(注:英文文档是 和 ,为避免歧义我这用 和 )
太长不看的总结
- 如果想 (向量形式),那么reduction='none'或reduce = False
- 如果想 ,那么reduction='sum'或者reduce = True,size_average = False
- 如果想l ,那么reduction='mean'或者reduce = True,size_average = True(默认状态)
- reduction模式
如果reduction='none', (向量形式)
如果reduction='mean'或'sum'(默认为mean),
'
和是任意形状的张量,各有 个元素。
mean操作在所有的元素上进行,并除以 。
如果不想除以,就令reduction = 'sum'。
- size_average、reduce模式
如果 reduce = False,那么size_average 参数失效,返回每批元素的损失/直接返回向量形式的loss。
如果 reduce = True,返回的值取决于size_average:如果size_average = True,返回 loss.mean();如果 size_average = False,返回 loss.sum()。
默认状态:reduce = True size_average = True
注意:size_average和reduce被弃用,在此期间,指定这两个中的任何一个都会覆盖reduction。
如果有错误,欢迎指出:)