target is the log space. Default: False
Shape:
      * Input: (*), where * means any number of dimensions.
  * Target: (*), same shape as the input.

  * Output: scalar by default. If "reduction" is *'none'*, then
    (*), same shape as the input.

Examples:
  >>> import torch.nn.functional as F
  >>> kl_loss = nn.KLDivLoss(reduction="batchmean")
  >>> # input should be a distribution in the log space
  >>> input = F.log_softmax(torch.randn(3, 5, requires_grad=True), dim=1)
  >>> # Sample a batch of distributions. Usually this would come from the dataset
  >>> target = F.softmax(torch.rand(3, 5), dim=1)
  >>> output = kl_loss(input, target)

  >>> kl_loss = nn.KLDivLoss(reduction="batchmean", log_target=True)
  >>> log_target = F.log_softmax(torch.rand(3, 5), dim=1)
  >>> output = kl_loss(input, log_target)
