其他分享
首页 > 其他分享> > torch.nn.CrossEntropyLoss()用法

torch.nn.CrossEntropyLoss()用法

作者:互联网

CLASS torch.nn.CrossEntropyLoss(weight: Optional[torch.Tensor] = None, size_average=None, ignore_index: int = -100, reduce=None, reduction: str = 'mean')

这个评价损失将 nn.LogSoftmax() 和 nn.NLLLoss() 结合在一个类中。

在训练带有C类的分类问题时很有用。 如果提供,则可选参数weight应为一维张量,为每个类分配权重。 当您的训练集不平衡时,这特别有用。

input预期将包含每个类的原始未标准化分数。

input 必须为张量,其大小为(minibatch, C)(minibatch, C, d_1, d_2, ... , d_K),K≥1对于K维情况(后述)。

该评价损失期望类别索引范围为[0, C-1],作为大小为minibatch的一维张量target的每个值。 如果指定了ignore_index,则此评价损失也接受该类索引(此索引可能不一定在类范围内)。

损失可以描述为:

或在指定weight参数的情况下:

损失是对每个minibatch的观察结果的平均值。 如果指定了weight参数,则这是一个加权平均值:

还可用于更高维度的输入,例如2D图像,提供一个大小为(minibatch, C, d_1, d_2, ... , d_K),K≥1的input,其中K是维度数,target具有适当形状(请参见下文)。

Parameters

Shape:

 

 

 

 

标签:loss,nn,...,average,torch,reduction,CrossEntropyLoss,mean,size
来源: https://blog.csdn.net/qq_36201400/article/details/111335423