class_docstr: Resnet block that looks like
  
  in --- strided conv ---- Block ---- sum --[... N times]
                       |              |
                       |-- 1x1 - BN --|
class_docstr_tok: ["Resnet","block","that","looks","like","in","--","-","strided","conv","--","--","Block","--","--","sum","--","[","...","N","times","]","|","|","|","--","1x1","-","BN","--","|"]
code: def __init__(
      self,
      down_conv_nn=[],
      kernel_size=2,
      dilation=1,
      dimension=3,
      stride=2,
      N=1,
      block="ResBlock",
      **kwargs,
  ):
      block = getattr(_res_blocks, block)
      ME.MinkowskiNetwork.__init__(self, dimension)
      if stride > 1:
          conv1_output = down_conv_nn[0]
      else:
          conv1_output = down_conv_nn[1]
  
      self.conv_in = (
          Seq()
          .append(
              self.CONVOLUTION(
                  in_channels=down_conv_nn[0],
                  out_channels=conv1_output,
                  kernel_size=kernel_size,
                  stride=stride,
                  dilation=dilation,
                  bias=False,
                  dimension=dimension,
              )
          )
          .append(ME.MinkowskiBatchNorm(conv1_output))
          .append(ME.MinkowskiReLU())
      )
  
      if N > 0:
          self.blocks = Seq()
          for _ in range(N):
              self.blocks.append(
                  block(
                      conv1_output,
                      down_conv_nn[1],
                      self.CONVOLUTION,
                      dimension=dimension,
                  )
              )
              conv1_output = down_conv_nn[1]
      else:
          self.blocks = 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 ResNetDown object from inherited base classes: ME with example: obj = ResNetDown(down_conv_nn, kernel_size, dilation, dimension, stride, N, block)