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 _make_layer(
      self,
      block,
      planes,
      blocks,
      stride=1,
      dilation=1,
      norm_layer=None,
      r2_factor=None,
  ):
      downsample = None
      if stride != 1 or self.inplanes != planes * block.expansion:
          downsample = nn.Sequential(
              nn.Conv2d(
                  self.inplanes,
                  planes * block.expansion,
                  kernel_size=1,
                  stride=stride,
                  bias=False,
              ),
              norm_layer(planes * block.expansion),
          )
  
      layers = []
      if dilation in (1, 2):
          layers.append(
              block(
                  self.inplanes,
                  planes,
                  stride,
                  dilation=1,
                  downsample=downsample,
                  previous_dilation=dilation,
                  norm_layer=norm_layer,
              )
          )
      elif dilation == 4:
          layers.append(
              block(
                  self.inplanes,
                  planes,
                  stride,
                  dilation=4,
                  downsample=downsample,
                  previous_dilation=dilation,
                  norm_layer=norm_layer,
                  r2_factor=r2_factor,
              )
          )
      else:
          raise RuntimeError(
              "=> unknown dilation size: {}".format(dilation)
          )
  
      self.inplanes = planes * block.expansion
  
      for i in range(1, blocks):
          if r2_factor:
              layers.append(
                  block(
                      self.inplanes,
                      planes,
                      dilation=dilation,
                      previous_dilation=dilation,
                      norm_layer=norm_layer,
                      r2_factor=3,
                  )
              )
          else:
              layers.append(
                  block(
                      self.inplanes,
                      planes,
                      dilation=dilation,
                      previous_dilation=dilation,
                      norm_layer=norm_layer,
                  )
              )
  
      return nn.Sequential(*layers)
  
imports: import math
  import torch
  import torch.utils.model_zoo
  import torch.nn
label_desc: Use image node_id 2 for calling the ResNet obj's underlying member method code with example usage: obj._make_layer(block, planes, blocks, stride, dilation, norm_layer, r2_factor) and returns: nn