0
点赞
收藏
分享

微信扫一扫

pytorch中的损失函数

Pytorch中的损失函数

损失函数的作用:衡量模型模型预测的好坏。再简单一点说就是:损失函数就是用来表现预测与实际数据的差距程度。

BCELoss

中文名为二分类交叉熵损失。在二分类中,label是{0,1}。对于进入交叉熵函数的input为概率分布的形式。一般来说,input为sigmoid激活层的输出,或者softmax的输出。
对于包含N个样本的batch数据 D(x, y),loss计算如下:
在这里插入图片描述

torch.nn.BCELoss(weight=None, size_average=None, reduce=None, reduction='mean')

weight:每个类别的loss设置权值

size_average:数据为bool,为True时,返回的loss为平均值;为False时,返回的各样本的loss之和。

reduce:数据类型为bool,为True时,loss的返回是标量。

CrossEntropyLoss

中文名为交叉熵损失函数

torch.nn.CrossEntropyLoss(weight=None, size_average=None, ignore_index=-100, reduce=None, reduction='mean')

weight:每个类别的loss设置权值。

size_average:数据为bool,为True时,返回的loss为平均值;为False时,返回的各样本的loss之和。

ignore_index:忽略某个类的损失函数。

reduce:数据类型为bool,为True时,loss的返回是标量。

L1Loss

中文名为均绝对误差(L1 Loss)
均绝对误差(Mean Absolute Error,MAE) 是指模型预测值f(x)和真实值y之间距离的“均值”

torch.nn.L1Loss(size_average=None, reduce=None, reduction='mean')

reduction参数决定了计算模式。有三种计算模式可选:none:逐个元素计算。 sum:所有元素求和,返回标量。 mean:加权平均,返回标量。 如果选择none,那么返回的结果是和输入元素相同尺寸的。默认计算方式是求平均。

MSE

中文名为均方误差(Mean Square Error,MSE)是模型预测值f(x) 与真实样本值y 之间差值平方的均值

torch.nn.MSELoss(size_average=None, reduce=None, reduction='mean')

reduction参数决定了计算模式。有三种计算模式可选:none:逐个元素计算。 sum:所有元素求和,返回标量。默认计算方式是求平均。

举报

相关推荐

0 条评论