class_docstr: Speech enhancement or separation Frontend model
code: def collect_feats(
      self,
      speech_mix: torch.Tensor,
      speech_mix_lengths: torch.Tensor,
      **kwargs,
  ) -> Dict[str, torch.Tensor]:
      # for data-parallel
      speech_mix = speech_mix[:, : speech_mix_lengths.max()]
  
      feats, feats_lengths = speech_mix, speech_mix_lengths
      return {"feats": feats, "feats_lengths": feats_lengths}
  
imports: import contextlib
  from typing import Dict, List, Optional, OrderedDict, Tuple
  import numpy
  import torch
  from packaging.version import parse
  from typeguard import check_argument_types
  from espnet2.diar.layers.abs_mask import AbsMask
  from espnet2.enh.decoder.abs_decoder import AbsDecoder
  from espnet2.enh.encoder.abs_encoder import AbsEncoder
  from espnet2.enh.loss.criterions.tf_domain import FrequencyDomainLoss
  from espnet2.enh.loss.criterions.time_domain import TimeDomainLoss
  from espnet2.enh.loss.wrappers.abs_wrapper import AbsLossWrapper
  from espnet2.enh.separator.abs_separator import AbsSeparator
  from espnet2.enh.separator.dan_separator import DANSeparator
  from espnet2.enh.separator.uses_separator import USESSeparator
  from espnet2.torch_utils.device_funcs import force_gatherable
  from espnet2.train.abs_espnet_model import AbsESPnetModel
label_desc: Use image node_id 10 for calling the ESPnetEnhancementModel obj's underlying member method code with example usage: obj.collect_feats(speech_mix, speech_mix_lengths) and returns: dict