class_docstr: Dilated Pre-trained ResNet Model, which preduces the stride of 8 featuremaps at conv5.
  
  Parameters
  ----------
  block : Block
      Class for the residual block. Options are BasicBlockV1, BottleneckV1.
  layers : list of int
      Numbers of layers in each block
  classes : int, default 1000
      Number of classification classes.
  dilated : bool, default False
      Applying dilation strategy to pretrained ResNet yielding a stride-8 model,
      typically used in Semantic Segmentation.
  norm_layer : object
      Normalization layer used in backbone network (default: :class:`mxnet.gluon.nn.BatchNorm`;
      for Synchronized Cross-GPU BachNormalization).
  
  Reference:
  
      - He, Kaiming, et al. "Deep residual learning for image recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
  
      - Yu, Fisher, and Vladlen Koltun. "Multi-scale context aggregation by dilated convolutions."
class_docstr_tok: ["Dilated","Pre-trained","ResNet","Model",",","which","preduces","the","stride","of","8","featuremaps","at","conv5",".","Parameters","--","--","--","--","--","block",":","Block","Class","for","the","residual","block",".","Options","are","BasicBlockV1",",","BottleneckV1",".","layers",":","list","of","int","Numbers","of","layers","in","each","block","classes",":","int",",","default","1000","Number","of","classification","classes",".","dilated",":","bool",",","default","False","Applying","dilation","strategy","to","pretrained","ResNet","yielding","a","stride-8","model",",","typically","used","in","Semantic","Segmentation",".","norm_layer",":","object","Normalization","layer","used","in","backbone","network","(","default",":",":","class",":","`","mxnet.gluon.nn.BatchNorm","`",";","for","Synchronized","Cross-GPU","BachNormalization",")",".","Reference",":","-","He",",","Kaiming",",","et","al",".","``","Deep","residual","learning","for","image","recognition",".","''","Proceedings","of","the","IEEE","conference","on","computer","vision","and","pattern","recognition",".","2016",".","-","Yu",",","Fisher",",","and","Vladlen","Koltun",".","``","Multi-scale","context","aggregation","by","dilated","convolutions",".","''"]
code: def __init__(
      self,
      block,
      layers,
      num_classes=1000,
      dilated=True,
      norm_layer=nn.BatchNorm2d,
      multi_grid=False,
      multi_dilation=None,
  ):
      self.inplanes = 64
      super(ResNet, self).__init__()
      self.conv1 = nn.Conv2d(
          3, 64, kernel_size=7, stride=2, padding=3, bias=False
      )
      self.bn1 = norm_layer(64)
      self.relu = nn.ReLU(inplace=True)
      self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
      self.layer1 = self._make_layer(
          block, 64, layers[0], norm_layer=norm_layer
      )
      self.layer2 = self._make_layer(
          block, 128, layers[1], stride=2, norm_layer=norm_layer
      )
      if dilated:
          self.layer3 = self._make_layer(
              block,
              256,
              layers[2],
              stride=1,
              dilation=2,
              norm_layer=norm_layer,
          )  # r1=2, r1=1
          self.layer4 = self._make_layer(
              block,
              512,
              layers[3],
              stride=1,
              dilation=4,
              norm_layer=norm_layer,
              r2_factor=3,
          )  # r1=4, r2=3
      else:
          self.layer3 = self._make_layer(
              block, 256, layers[2], stride=2, norm_layer=norm_layer
          )
          self.layer4 = self._make_layer(
              block, 512, layers[3], stride=2, norm_layer=norm_layer
          )
      self.avgpool = nn.AvgPool2d(7)
      self.fc = nn.Linear(512 * block.expansion, num_classes)
  
      for m in self.modules():
          if isinstance(m, nn.Conv2d):
              n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
              m.weight.data.normal_(0, math.sqrt(2.0 / n))
          elif isinstance(m, norm_layer):
              m.weight.data.fill_(1)
              m.bias.data.zero_()
  
imports: import math
  import torch
  import torch.utils.model_zoo
  import torch.nn
label_desc: Use image node_id 1 to create a new ResNet object from inherited base classes: nn with example: obj = ResNet(block, layers, num_classes, dilated, norm_layer, multi_grid, multi_dilation)