class_docstr: Speaker embedding extraction model.
  Core model for diverse speaker-related tasks (e.g., verification, open-set
  identification, diarization)
  
  The model architecture comprises mainly 'encoder', 'pooling', and
  'projector'.
  In common speaker recognition field, the combination of three would be
  usually named as 'speaker_encoder' (or speaker embedding extractor).
  We splitted it into three for flexibility in future extensions:
    - 'encoder'   : extract frame-level speaker embeddings.
    - 'pooling'   : aggregate into single utterance-level embedding.
    - 'projector' : (optional) additional processing (e.g., one fully-
                    connected layer) to derive speaker embedding.
  
  Possibly, in the future, 'pooling' and/or 'projector' can be integrated as
  a 'decoder', depending on the extension for joint usage of different tasks
  (e.g., ASR, SE, target speaker extraction).
code: def project_spk_embd(
      self, utt_level_feat: torch.Tensor
  ) -> torch.Tensor:
      if self.projector is not None:
          spk_embd = self.projector(utt_level_feat)
      else:
          spk_embd = utt_level_feat
  
      return spk_embd
  
imports: from typing import Dict, Optional, Tuple, Union
  import torch
  from typeguard import check_argument_types
  from espnet2.asr.encoder.abs_encoder import AbsEncoder
  from espnet2.asr.frontend.abs_frontend import AbsFrontend
  from espnet2.asr.specaug.abs_specaug import AbsSpecAug
  from espnet2.layers.abs_normalize import AbsNormalize
  from espnet2.spk.loss.aamsoftmax import AAMSoftmax
  from espnet2.spk.loss.abs_loss import AbsLoss
  from espnet2.spk.pooling.abs_pooling import AbsPooling
  from espnet2.spk.projector.abs_projector import AbsProjector
  from espnet2.torch_utils.device_funcs import force_gatherable
  from espnet2.train.abs_espnet_model import AbsESPnetModel
label_desc: Use image node_id 6 for calling the ESPnetSpeakerModel obj's underlying member method code with example usage: obj.project_spk_embd(utt_level_feat) and returns: spk_embd