class_docstr: Cross entropy loss for 2.5D parallelism
  
  Args:
      reduction (bool, optional): whether to average the loss, defaults to True.
  
  The ``args`` and ``kwargs`` should include parameters below:
  ::
  
      weight (Tensor, optional)
      size_average (bool, optional)
      ignore_index (int, optional)
      reduce (bool, optional)
      label_smoothing (float, optional)
  
  More details about ``args``, ``kwargs`` and ``torch.nn.functional.cross_entropy`` could be found in
  `Cross_entropy <https://pytorch.org/docs/stable/generated/torch.nn.functional.cross_entropy.html#torch.nn.functional.cross_entropy>`_.
code: def __init__(self, reduction=True, *args, **kwargs):
      super().__init__()
      assert_tesseract_initialization()
      self.reduction_mean = reduction
      self.loss_args = args
      self.loss_kwargs = kwargs
  
imports: import torch
  import torch.distributed
  from torch.cuda.amp import custom_bwd, custom_fwd
  from torch.nn.functional import cross_entropy
  from torch.nn.modules.loss import _Loss
  from colossalai.legacy.context import ParallelMode
  from colossalai.legacy.core import global_context
  from colossalai.legacy.nn.layer.parallel_2p5d import reduce_by_batch_2p5d, split_batch_2p5d
  from colossalai.legacy.nn.layer.parallel_2p5d._utils import assert_tesseract_initialization
  from colossalai.legacy.registry import LOSSES
  from colossalai.utils import get_current_device
label_desc: Use image node_id 1 to create a new CrossEntropyLoss2p5D object from inherited base classes: _Loss with example: obj = CrossEntropyLoss2p5D(reduction)