class_docstr: 1D convolution over an input of shape (time x batch x channel)
  
  The implementation uses gemm to perform the convolution. This implementation
  is faster than cuDNN for small kernel sizes.
class_docstr_tok: ["1D","convolution","over","an","input","of","shape","(","time","x","batch","x","channel",")","The","implementation","uses","gemm","to","perform","the","convolution",".","This","implementation","is","faster","than","cuDNN","for","small","kernel","sizes","."]
code: def __init__(self, in_channels, out_channels, kernel_size, padding=0):
      super(ConvTBC, self).__init__()
      self.in_channels = in_channels
      self.out_channels = out_channels
      self.kernel_size = _single(kernel_size)
      self.padding = _single(padding)
  
      self.weight = torch.nn.Parameter(
          torch.Tensor(self.kernel_size[0], in_channels, out_channels)
      )
      self.bias = torch.nn.Parameter(torch.Tensor(out_channels))
  
      self.reset_parameters()
  
file_path: fairseq/fairseq/modules/conv_tbc.py
imports: import torch
  from torch import nn
  from torch.nn.modules.utils import _single
  from torch import Tensor
label_desc: Use image node_id 1 to create a new ConvTBC object from inherited base classes: torch.nn with example: obj = ConvTBC(in_channels, out_channels, kernel_size, padding)