class_docstr: A causal version of nn.Conv2d where each location in the 2D matrix would have no access to locations on its right or down
  All arguments are the same as nn.Conv2d except padding which should be set as None
class_docstr_tok: ["A","causal","version","of","nn.Conv2d","where","each","location","in","the","2D","matrix","would","have","no","access","to","locations","on","its","right","or","down","All","arguments","are","the","same","as","nn.Conv2d","except","padding","which","should","be","set","as","None"]
code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      kernel_size: int,
      stride: int = 1,
      padding: Union[str, int] = 0,
      dilation: int = 1,
      groups: int = 1,
      bias: bool = True,
      padding_mode: str = "zeros",
      device=None,
      dtype=None,
  ) -> None:
      if padding is not None:
          raise ValueError(
              "Argument padding should be set to None for CausalConv2D."
          )
      self._left_padding = kernel_size - 1
      self._right_padding = stride - 1
  
      padding = 0
      super(CausalConv2D, self).__init__(
          in_channels,
          out_channels,
          kernel_size,
          stride,
          padding,
          dilation,
          groups,
          bias,
          padding_mode,
          device,
          dtype,
      )
  
file_path: NeMo/nemo/collections/asr/parts/submodules/causal_convs.py
imports: from typing import Union
  import torch
  import torch.nn.functional
  from torch import nn
label_desc: Use image node_id 1 to create a new CausalConv2D object from inherited base classes: nn with example: obj = CausalConv2D(in_channels, out_channels, kernel_size, stride, padding, dilation, groups, bias, padding_mode, device, dtype)