I am using the following code to implement cross entropy softmax loss on soft targets, for multi-label classification.
logsoftmax = nn.LogSoftmax()
return torch.mean(torch.sum(- soft_targets * logsoftmax(pred), 1) / (torch.sum(soft_targets,1)+0.000001))

I was able to make this work correctly. But theoretically, I am trying to understand if can potentially run into any numerical stability issues during backprop.
Also, Pytorch natively implements CE as logsoftmax+nll_loss. Does that make these two implementations equivalent.
Thanks for any insights.