I implemented categorical cross entropy loss function by myself. And it is working with nn.Softmax not log_softmax.
Does anyone check my loss function?
...
# last layer
y = F.softmax(y, -1)
y = y * filter
return y

def categorical_cross_entropy(preds, labels):
    loss = Variable(torch.zeros(1))
    for p, label in zip(preds, labels):
        loss -= torch.log(p[label] + 1.e-7).cpu()
    loss /= preds.size(0)
    return loss