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 forward(self, x):
      out = self.block(x)
      if self.downsample:
          out += self.downsample(x)
      else:
          out += x
      return out
  
file_path: torch-points3d/torch_points3d/modules/SparseConv3d/modules.py
imports: import torch
  import sys
  from torch_points3d.core.common_modules import Seq, Identity
  import torch_points3d.modules.SparseConv3d.nn
label_desc: Use image node_id 2 for calling the ResBlock obj's underlying member method code with example usage: obj.forward(x) and returns: out