class_docstr: Sum cross entropy loss:
  - For a single tensor, this is equivalent to the cross-entropy loss.
  - For a list of tensors, this computes the sum of the cross-entropy
  losses for each tensor in the list against the target.
  
  Can accommodate target vectors, e.g. smoothed labels.
class_docstr_tok: ["Sum","cross","entropy","loss",":","-","For","a","single","tensor",",","this","is","equivalent","to","the","cross-entropy","loss",".","-","For","a","list","of","tensors",",","this","computes","the","sum","of","the","cross-entropy","losses","for","each","tensor","in","the","list","against","the","target",".","Can","accommodate","target","vectors",",","e.g",".","smoothed","labels","."]
code: def __init__(
      self,
      temperature: float = 1.0,
      weight: Optional[torch.Tensor] = None,
      ignore_index: int = -100,
      normalize_output: bool = False,
      label_smoothing: float = 0.0,
  ):
      super().__init__()
      assert 0.0 <= label_smoothing <= 1.0
  
      self._weight = weight
      self._ignore_index = ignore_index
      self._losses = torch.nn.modules.ModuleList([])
      self._normalize_output = normalize_output
      self._temperature = temperature
      self._label_smoothing = label_smoothing
  
imports: from dataclasses import dataclass
  from typing import List, Optional, Union
  import torch
  import torch.nn.functional
  from classy_vision.generic.util import is_on_gpu
  from classy_vision.losses import ClassyLoss, register_loss
  from torch import nn, Tensor
  from vissl.config import AttrDict
label_desc: Use image node_id 1 to create a new CrossEntropyMultipleOutputSingleTargetCriterion object from inherited base classes: nn with example: obj = CrossEntropyMultipleOutputSingleTargetCriterion(temperature, weight, ignore_index, normalize_output, label_smoothing)