less than 1 minute read

torch.nn.NLLLoss

  • torch.nn.NLLLoss
  • LogSoftmax layer 이후에 사용
  • logsoftmax + nll_loss
  • (y_one_hot * - F.log_softmax(z, dim=1)).sum(dim=1).mean()
    • 실제 one_hot vector에서 1인 부분만 계산됨.

CrossEntropyLoss

  • torch.nn.CrossEntropyLoss

  • Note that this case is equivalent to the combination of LogSoftmax and NLLLOSS.

  • 원래는 log_softmax를 취하지 않는 raw값이 들어가야하지만,

    log_softmax(log_softmax(x)) = log_softmax(x) 이기 때문에 어떤 값이 들어와도 상관없다.

Leave a comment