class_docstr: Block that aggregations the operations in a residual block.
  
  Attributes:
    out_dim: Integer, number of filter in the convolution.
    norm_type: Object type of the norm to use.
    skip: Boolean, apply convolution in the skip connection.
    kernel_size: Integer, convolution kernel size.
    stride: Integer, stride used in the convolution.
    padding: String, padding type used in the convolution.
    name: String, name of the block.
class_docstr_tok: ["Block","that","aggregations","the","operations","in","a","residual","block",".","Attributes",":","out_dim",":","Integer",",","number","of","filter","in","the","convolution",".","norm_type",":","Object","type","of","the","norm","to","use",".","skip",":","Boolean",",","apply","convolution","in","the","skip","connection",".","kernel_size",":","Integer",",","convolution","kernel","size",".","stride",":","Integer",",","stride","used","in","the","convolution",".","padding",":","String",",","padding","type","used","in","the","convolution",".","name",":","String",",","name","of","the","block","."]
code: def __init__(
      self,
      out_dim,
      norm_type,
      kernel_regularizer,
      skip=False,
      kernel_size=3,
      stride=1,
      padding="same",
      name="ResidualBlock",
  ):
      super(ResidualBlock, self).__init__(name=name)
      self.conv_block = ConvolutionalBlock(
          kernel_size, out_dim, norm_type, kernel_regularizer, stride
      )
  
      self.conv = tf.keras.layers.Conv2D(
          out_dim,
          kernel_size,
          kernel_regularizer=kernel_regularizer(),
          use_bias=False,
          strides=1,
          padding=padding,
          name="conv",
      )
      self.norm = norm_type()
  
      if skip:
          self.skip = SkipConvolution(
              out_dim, stride, norm_type, kernel_regularizer, "skip"
          )
      else:
          self.skip = IdentityLayer("identity")
  
      self.relu = tf.keras.layers.ReLU(name="relu")
  
file_path: graphics/tensorflow_graphics/projects/points_to_3Dobjects/networks/custom_blocks.py
imports: import tensorflow
label_desc: Use image node_id 1 to create a new ResidualBlock object from inherited base classes: tf.keras.layers with example: obj = ResidualBlock(out_dim, norm_type, kernel_regularizer, skip, kernel_size, stride, padding, name)