class_docstr: 2D convolution that pads to keep spatial dimensions equal.
  Cannot deal with stride. Only quadratic kernels (=scalar kernel_size).
class_docstr_tok: ["2D","convolution","that","pads","to","keep","spatial","dimensions","equal",".","Can","not","deal","with","stride",".","Only","quadratic","kernels","(","=scalar","kernel_size",")","."]
docstr: :param in_channels: Number of input channels
  :param out_channels: Number of output channels
  :param kernel_size: Scalar. Spatial dimensions of kernel (only quadratic kernels supported).
  :param bias: Whether or not to use bias.
  :param padding_layer: Which padding to use. Default is reflection padding.
docstr_tok: [":","param","in_channels",":","Number","of","input","channels",":","param","out_channels",":","Number","of","output","channels",":","param","kernel_size",":","Scalar",".","Spatial","dimensions","of","kernel","(","only","quadratic","kernels","supported",")",".",":","param","bias",":","Whether","or","not","to","use","bias",".",":","param","padding_layer",":","Which","padding","to","use",".","Default","is","reflection","padding","."]
code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size,
      bias=True,
      padding_layer=nn.ReflectionPad2d,
  ):
      """
      :param in_channels: Number of input channels
      :param out_channels: Number of output channels
      :param kernel_size: Scalar. Spatial dimensions of kernel (only quadratic kernels supported).
      :param bias: Whether or not to use bias.
      :param padding_layer: Which padding to use. Default is reflection padding.
      """
      super().__init__()
      ka = kernel_size // 2
      kb = ka - 1 if kernel_size % 2 == 0 else ka
      self.net = nn.Sequential(
          padding_layer((ka, kb, ka, kb)),
          nn.Conv2d(
              in_channels,
              out_channels,
              kernel_size,
              bias=bias,
              stride=1,
          ),
      )
  
      self.weight = self.net[1].weight
      self.bias = self.net[1].bias
  
imports: import torch
  import torch.nn
  import torchvision.utils
  from torch.nn import functional
label_desc: Use image node_id 1 to create a new Conv2dSame object from inherited base classes: torch.nn with example: obj = Conv2dSame(in_channels, out_channels, kernel_size, bias, padding_layer)