class_docstr: Basic ResNet type block
  
  Parameters
  ----------
  input_nc:
      Number of input channels
  output_nc:
      number of output channels
  convolution
      Either MinkowskConvolution or MinkowskiConvolutionTranspose
  dimension:
      Dimension of the spatial grid
class_docstr_tok: ["Basic","ResNet","type","block","Parameters","--","--","--","--","--","input_nc",":","Number","of","input","channels","output_nc",":","number","of","output","channels","convolution","Either","MinkowskConvolution","or","MinkowskiConvolutionTranspose","dimension",":","Dimension","of","the","spatial","grid"]
code: def __init__(self, input_nc, output_nc, convolution, dimension=3):
      ME.MinkowskiNetwork.__init__(self, dimension)
      self.block = (
          Seq()
          .append(
              convolution(
                  in_channels=input_nc,
                  out_channels=output_nc,
                  kernel_size=3,
                  stride=1,
                  dilation=1,
                  bias=False,
                  dimension=dimension,
              )
          )
          .append(ME.MinkowskiBatchNorm(output_nc))
          .append(ME.MinkowskiReLU())
          .append(
              convolution(
                  in_channels=output_nc,
                  out_channels=output_nc,
                  kernel_size=3,
                  stride=1,
                  dilation=1,
                  bias=False,
                  dimension=dimension,
              )
          )
          .append(ME.MinkowskiBatchNorm(output_nc))
          .append(ME.MinkowskiReLU())
      )
  
      if input_nc != output_nc:
          self.downsample = (
              Seq()
              .append(
                  convolution(
                      in_channels=input_nc,
                      out_channels=output_nc,
                      kernel_size=1,
                      stride=1,
                      dilation=1,
                      bias=False,
                      dimension=dimension,
                  )
              )
              .append(ME.MinkowskiBatchNorm(output_nc))
          )
      else:
          self.downsample = None
  
imports: import torch
  import MinkowskiEngine
  import sys
  from .common import NormType, get_norm
  from torch_points3d.core.common_modules import Seq, Identity
label_desc: Use image node_id 1 to create a new ResBlock object from inherited base classes: ME with example: obj = ResBlock(input_nc, output_nc, convolution, dimension)