code: def frontend_for(args, idim):
      return Frontend(
          idim=idim,
          # WPE options
          use_wpe=args.use_wpe,
          wtype=args.wtype,
          wlayers=args.wlayers,
          wunits=args.wunits,
          wprojs=args.wprojs,
          wdropout_rate=args.wdropout_rate,
          taps=args.wpe_taps,
          delay=args.wpe_delay,
          use_dnn_mask_for_wpe=args.use_dnn_mask_for_wpe,
          # Beamformer options
          use_beamformer=args.use_beamformer,
          btype=args.btype,
          blayers=args.blayers,
          bunits=args.bunits,
          bprojs=args.bprojs,
          bnmask=args.bnmask,
          badim=args.badim,
          ref_channel=args.ref_channel,
          bdropout_rate=args.bdropout_rate,
      )
  
file_path: espnet/espnet/nets/pytorch_backend/frontends/frontend.py
imports: from typing import List, Optional, Tuple, Union
  import numpy
  import torch
  import torch.nn
  from torch_complex.tensor import ComplexTensor
  from espnet2.enh.layers.dnn_beamformer import DNN_Beamformer
  from espnet2.enh.layers.dnn_wpe import DNN_WPE
label_desc: Use image node_id 1 for calling a global function with example usage: frontend_for(args, idim) and returns: Frontend