code: def network_initialization(self, in_channels, out_channels, D):
      self.inplanes = self.INIT_DIM
      self.conv1 = ME.MinkowskiConvolution(
          in_channels,
          self.inplanes,
          kernel_size=5,
          stride=2,
          dimension=D,
      )
  
      self.bn1 = ME.MinkowskiBatchNorm(self.inplanes)
      self.relu = ME.MinkowskiReLU(inplace=True)
  
      self.pool = ME.MinkowskiAvgPooling(
          kernel_size=2, stride=2, dimension=D
      )
  
      self.layer1 = self._make_layer(
          self.BLOCK, self.PLANES[0], self.LAYERS[0], stride=2
      )
      self.layer2 = self._make_layer(
          self.BLOCK, self.PLANES[1], self.LAYERS[1], stride=2
      )
      self.layer3 = self._make_layer(
          self.BLOCK, self.PLANES[2], self.LAYERS[2], stride=2
      )
      self.layer4 = self._make_layer(
          self.BLOCK, self.PLANES[3], self.LAYERS[3], stride=2
      )
  
      self.conv5 = ME.MinkowskiConvolution(
          self.inplanes,
          self.inplanes,
          kernel_size=3,
          stride=3,
          dimension=D,
      )
      self.bn5 = ME.MinkowskiBatchNorm(self.inplanes)
  
      self.glob_avg = ME.MinkowskiGlobalMaxPooling(dimension=D)
  
      self.final = ME.MinkowskiLinear(
          self.inplanes, out_channels, bias=True
      )
  
imports: import torch.nn
  import MinkowskiEngine
  from .modules import BasicBlock, Bottleneck
label_desc: Use image node_id 2 for calling the ResNetBase obj's underlying member method code with example usage: obj.network_initialization(in_channels, out_channels, D) without return types