docstr: Arguments
      features - [TxBxD] Acoustic feature with shape
      padding_mask - [BxT]     Padding Mask
code: def forward_latent(self, last_layer_feats, padding_mask, **kwargs):
      """
      Arguments
          features - [TxBxD] Acoustic feature with shape
          padding_mask - [BxT]     Padding Mask
      """
      if padding_mask is not None:
          feat_mask = (~padding_mask).to(last_layer_feats.dtype)
      else:
          feat_mask = None
      feat = self.linear(last_layer_feats)
      feat = fn_mean(feat, feat_mask)
      return feat
  
imports: import contextlib
  import logging
  from argparse import Namespace
  from dataclasses import dataclass, field
  from typing import Any, Optional
  import torch
  import torch.nn
  import torch.nn.functional
  from omegaconf import II, MISSING, open_dict
  from fairseq import checkpoint_utils, tasks, utils
  from fairseq.dataclass import ChoiceEnum, FairseqDataclass
  from fairseq.dataclass.utils import convert_namespace_to_omegaconf
  from fairseq.models import BaseFairseqModel, FairseqEncoder, register_model
  from fairseq.models.wav2vec.wav2vec2 import MASKING_DISTRIBUTION_CHOICES, Wav2Vec2Config
  from fairseq.models.wav2vec.wav2vec2_asr import Embedding, Linear, Wav2VecEncoder, Wav2Vec2AsrConfig
  from fairseq.tasks import FairseqTask
label_desc: Use image node_id 3 for calling the MeanPoolingFast obj's underlying member method code with example usage: obj.forward_latent(last_layer_feats, padding_mask) and returns: feat