code: def __init__(
      self,
      in_channels,
      hid_channels,
      out_channels,
      num_layers,
      kernel_size,
      bias=True,
  ):
      super().__init__()
      assert (kernel_size - 1) % 2 == 0
      assert num_layers > 1
  
      self.layers = nn.ModuleList()
      layer = TimeDepthSeparableConv(
          in_channels,
          hid_channels,
          out_channels if num_layers == 1 else hid_channels,
          kernel_size,
          bias,
      )
      self.layers.append(layer)
      for idx in range(num_layers - 1):
          layer = TimeDepthSeparableConv(
              hid_channels,
              hid_channels,
              out_channels
              if (idx + 1) == (num_layers - 1)
              else hid_channels,
              kernel_size,
              bias,
          )
          self.layers.append(layer)
  
file_path: TTS/TTS/tts/layers/generic/time_depth_sep_conv.py
imports: import torch
  from torch import nn
label_desc: Use image node_id 1 to create a new TimeDepthSeparableConvBlock object from inherited base classes: nn with example: obj = TimeDepthSeparableConvBlock(in_channels, hid_channels, out_channels, num_layers, kernel_size, bias)