class_docstr: An implementation of TDNN.
  
  Arguments
  ----------
  in_channels : int
      Number of input channels.
  out_channels : int
      The number of output channels.
  kernel_size : int
      The kernel size of the TDNN blocks.
  dilation : int
      The dilation of the TDNN block.
  activation : torch class
      A class for constructing the activation layers.
  groups: int
      The groups size of the TDNN blocks.
  
  Example
  -------
  >>> inp_tensor = torch.rand([8, 120, 64]).transpose(1, 2)
  >>> layer = TDNNBlock(64, 64, kernel_size=3, dilation=1)
  >>> out_tensor = layer(inp_tensor).transpose(1, 2)
  >>> out_tensor.shape
  torch.Size([8, 120, 64])
class_docstr_tok: ["An","implementation","of","TDNN",".","Arguments","--","--","--","--","--","in_channels",":","int","Number","of","input","channels",".","out_channels",":","int","The","number","of","output","channels",".","kernel_size",":","int","The","kernel","size","of","the","TDNN","blocks",".","dilation",":","int","The","dilation","of","the","TDNN","block",".","activation",":","torch","class","A","class","for","constructing","the","activation","layers",".","groups",":","int","The","groups","size","of","the","TDNN","blocks",".","Example","--","--","--","-",">",">",">","inp_tensor","=","torch.rand","(","[","8",",","120",",","64","]",")",".transpose","(","1",",","2",")",">",">",">","layer","=","TDNNBlock","(","64",",","64",",","kernel_size=3",",","dilation=1",")",">",">",">","out_tensor","=","layer","(","inp_tensor",")",".transpose","(","1",",","2",")",">",">",">","out_tensor.shape","torch.Size","(","[","8",",","120",",","64","]",")"]
docstr: Processes the input tensor x and returns an output tensor.
docstr_tok: ["Processes","the","input","tensor","x","and","returns","an","output","tensor","."]
code: def forward(self, x):
      """Processes the input tensor x and returns an output tensor."""
      return self.norm(self.activation(self.conv(x)))
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from speechbrain.dataio.dataio import length_to_mask
  from speechbrain.nnet.CNN import Conv1d
  from speechbrain.nnet.normalization import BatchNorm1d
  from speechbrain.nnet.linear import Linear
label_desc: Use image node_id 2 for calling the TDNNBlock obj's underlying member method code with example usage: obj.forward(x) and returns: self