class_docstr: Wrapper around pytorch's convolutional layer.
  We only add the bias to the zeroth element of the zonotope
class_docstr_tok: ["Wrapper","around","pytorch","'s","convolutional","layer",".","We","only","add","the","bias","to","the","zeroth","element","of","the","zonotope"]
code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      kernel_size: Union[int, Tuple[int, int]],
      stride: Union[int, Tuple[int, int]],
      dilation: Union[int, Tuple[int, int]] = 1,
      padding: Union[int, Tuple[int, int]] = 0,
  ):
      super().__init__()
      self.conv = torch.nn.Conv2d(
          in_channels=in_channels,
          out_channels=out_channels,
          kernel_size=kernel_size,
          stride=stride,
          dilation=dilation,
          padding=padding,
          bias=False,
      )
      self.bias = torch.nn.Parameter(
          torch.zeros(
              out_channels,
          )
      )
  
imports: from typing import Tuple, Union
  import numpy
  import torch
label_desc: Use image node_id 1 to create a new ZonoConv object from inherited base classes: torch.nn with example: obj = ZonoConv(in_channels, out_channels, kernel_size, stride, dilation, padding)