class_docstr: Initializer for the 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.
  
  Config params:
      weight: weight of sample, optional
      ignore_index: sample should be ignored for loss, optional
      reduction: specifies reduction to apply to the output, optional
      temperature: specify temperature for softmax. Default 1.0
      label_smoothing: specific a label smoothing factor between 0.0 and 1.0 (default is 0.0)
class_docstr_tok: ["Initializer","for","the","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",".","Config","params",":","weight",":","weight","of","sample",",","optional","ignore_index",":","sample","should","be","ignored","for","loss",",","optional","reduction",":","specifies","reduction","to","apply","to","the","output",",","optional","temperature",":","specify","temperature","for","softmax",".","Default","1.0","label_smoothing",":","specific","a","label","smoothing","factor","between","0.0","and","1.0","(","default","is","0.0",")"]
code: def __init__(self, loss_config: AttrDict):
      super(CrossEntropyMultipleOutputSingleTargetLoss, self).__init__()
      self._temperature = loss_config["temperature"]
      self._weight = loss_config.get("weight", None)
      self._ignore_index = loss_config.get("ignore_index", -1)
      self._normalize_output = loss_config.get(
          "normalize_output", False
      )
      self._label_smoothing = loss_config.get("label_smoothing", 0.0)
      self.criterion = CrossEntropyMultipleOutputSingleTargetCriterion(
          weight=self._weight,
          temperature=self._temperature,
          ignore_index=self._ignore_index,
          normalize_output=self._normalize_output,
          label_smoothing=self._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 CrossEntropyMultipleOutputSingleTargetLoss object from inherited base classes: ClassyLoss with example: obj = CrossEntropyMultipleOutputSingleTargetLoss(loss_config)