docstr: Basic Module of TasNet with adaptation layers.
  
  Args:
      N: Number of filters in autoencoder
      B: Number of channels in bottleneck 1 * 1-conv block
      H: Number of channels in convolutional blocks
      P: Kernel size in convolutional blocks
      X: Number of convolutional blocks in each repeat
      R: Number of repeats
      Sc: Number of channels in skip-connection paths' 1x1-conv blocks
      out_channel: Number of output channels
          if it is None, `N` will be used instead.
      norm_type: BN, gLN, cLN
      causal: causal or non-causal
      pre_mask_nonlinear: the non-linear function before masknet
      mask_nonlinear: use which non-linear function to generate mask
      i_adapt_layer: int, index of the adaptation layer
      adapt_layer_type: str, type of adaptation layer
          see espnet2.enh.layers.adapt_layers for options
      adapt_enroll_dim: int, dimensionality of the speaker embedding
docstr_tok: ["Basic","Module","of","TasNet","with","adaptation","layers",".","Args",":","N",":","Number","of","filters","in","autoencoder","B",":","Number","of","channels","in","bottleneck","1","*","1-conv","block","H",":","Number","of","channels","in","convolutional","blocks","P",":","Kernel","size","in","convolutional","blocks","X",":","Number","of","convolutional","blocks","in","each","repeat","R",":","Number","of","repeats","Sc",":","Number","of","channels","in","skip-connection","paths","'","1x1-conv","blocks","out_channel",":","Number","of","output","channels","if","it","is","None",",","`","N","`","will","be","used","instead",".","norm_type",":","BN",",","gLN",",","cLN","causal",":","causal","or","non-causal","pre_mask_nonlinear",":","the","non-linear","function","before","masknet","mask_nonlinear",":","use","which","non-linear","function","to","generate","mask","i_adapt_layer",":","int",",","index","of","the","adaptation","layer","adapt_layer_type",":","str",",","type","of","adaptation","layer","see","espnet2.enh.layers.adapt_layers","for","options","adapt_enroll_dim",":","int",",","dimensionality","of","the","speaker","embedding"]
code: def __init__(
      self,
      N,
      B,
      H,
      P,
      X,
      R,
      Sc=None,
      out_channel=None,
      norm_type="gLN",
      causal=False,
      pre_mask_nonlinear="prelu",
      mask_nonlinear="relu",
      i_adapt_layer: int = 7,
      adapt_layer_type: str = "mul",
      adapt_enroll_dim: int = 128,
      **adapt_layer_kwargs,
  ):
      """Basic Module of TasNet with adaptation layers.
  
      Args:
          N: Number of filters in autoencoder
          B: Number of channels in bottleneck 1 * 1-conv block
          H: Number of channels in convolutional blocks
          P: Kernel size in convolutional blocks
          X: Number of convolutional blocks in each repeat
          R: Number of repeats
          Sc: Number of channels in skip-connection paths' 1x1-conv blocks
          out_channel: Number of output channels
              if it is None, `N` will be used instead.
          norm_type: BN, gLN, cLN
          causal: causal or non-causal
          pre_mask_nonlinear: the non-linear function before masknet
          mask_nonlinear: use which non-linear function to generate mask
          i_adapt_layer: int, index of the adaptation layer
          adapt_layer_type: str, type of adaptation layer
              see espnet2.enh.layers.adapt_layers for options
          adapt_enroll_dim: int, dimensionality of the speaker embedding
      """
      super().__init__(
          N,
          B,
          H,
          P,
          X,
          R,
          1,
          Sc=Sc,
          out_channel=out_channel,
          norm_type=norm_type,
          causal=causal,
          pre_mask_nonlinear=pre_mask_nonlinear,
          mask_nonlinear=mask_nonlinear,
      )
      self.i_adapt_layer = i_adapt_layer
      self.adapt_enroll_dim = adapt_enroll_dim
      self.adapt_layer_type = adapt_layer_type
      self.adapt_layer = make_adapt_layer(
          adapt_layer_type,
          indim=B,
          enrolldim=adapt_enroll_dim,
          ninputs=2 if self.skip_connection else 1,
          **adapt_layer_kwargs,
      )
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from espnet2.enh.layers.adapt_layers import make_adapt_layer
label_desc: Use image node_id 1 to create a new TemporalConvNetInformed object from inherited base classes: TemporalConvNet with example: obj = TemporalConvNetInformed(N, B, H, P, X, R, Sc, out_channel, norm_type, causal, pre_mask_nonlinear, mask_nonlinear, i_adapt_layer, adapt_layer_type, adapt_enroll_dim)