17 lines
400 B
Python
17 lines
400 B
Python
import paddle
|
|
import paddle.nn as nn
|
|
import paddle.nn.functional as F
|
|
|
|
|
|
class SoftTargetCrossEntropy(nn.Layer):
|
|
def __init__(self):
|
|
super().__init__()
|
|
|
|
def forward(self, x, target):
|
|
loss = paddle.sum(-target * F.log_softmax(x, axis=-1), axis=-1)
|
|
loss = loss.mean()
|
|
return {"SoftTargetCELoss": loss}
|
|
|
|
def __str__(self, ):
|
|
return type(self).__name__
|