code: def create_embed_loss(cls, cfg: CfgNode):
      # registry not used here, since embedding losses are currently local
      # and are not used anywhere else
      return cls._EMBED_LOSS_REGISTRY[
          cfg.MODEL.ROI_DENSEPOSE_HEAD.CSE.EMBED_LOSS_NAME
      ](cfg)
  
file_path: detectron2/projects/DensePose/densepose/modeling/losses/cse.py
imports: from typing import Any, List
  from torch import nn
  from detectron2.config import CfgNode
  from detectron2.structures import Instances
  from .cycle_pix2shape import PixToShapeCycleLoss
  from .cycle_shape2shape import ShapeToShapeCycleLoss
  from .embed import EmbeddingLoss
  from .embed_utils import CseAnnotationsAccumulator
  from .mask_or_segm import MaskOrSegmentationLoss
  from .registry import DENSEPOSE_LOSS_REGISTRY
  from .soft_embed import SoftEmbeddingLoss
  from .utils import BilinearInterpolationHelper, LossDict, extract_packed_annotations_from_matches
label_desc: Use image node_id 2 for calling the DensePoseCseLoss obj's underlying member method code with example usage: obj.create_embed_loss(cls, cfg) and returns: cls