class_docstr: ASV Spoofing model
  A simple ASV Spoofing model
class_docstr_tok: ["ASV","Spoofing","model","A","simple","ASV","Spoofing","model"]
code: def collect_feats(
      self,
      speech: torch.Tensor,
      speech_lengths: torch.Tensor,
      **kwargs,
  ) -> Dict[str, torch.Tensor]:
      feats, feats_lengths = self._extract_feats(speech, speech_lengths)
      return {"feats": feats, "feats_lengths": feats_lengths}
  
imports: import logging
  from contextlib import contextmanager
  from itertools import permutations
  from typing import Dict, Optional, Tuple
  import numpy
  import torch
  import torch.nn.functional
  from packaging.version import parse
  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.preencoder.abs_preencoder import AbsPreEncoder
  from espnet2.asr.specaug.abs_specaug import AbsSpecAug
  from espnet2.asvspoof.decoder.abs_decoder import AbsDecoder
  from espnet2.asvspoof.loss.abs_loss import AbsASVSpoofLoss
  from espnet2.layers.abs_normalize import AbsNormalize
  from espnet2.torch_utils.device_funcs import force_gatherable
  from espnet2.train.abs_espnet_model import AbsESPnetModel
  from espnet.nets.pytorch_backend.nets_utils import to_device
label_desc: Use image node_id 3 for calling the ESPnetASVSpoofModel obj's underlying member method code with example usage: obj.collect_feats(speech, speech_lengths) and returns: dict