code: def __init__(self, block, layers, pretrained=False):
      super(Atrous_ResNet_features, self).__init__()
      self.inplanes = 64
  
      self.conv1 = nn.Conv2d(
          3, 64, kernel_size=7, stride=2, padding=3, bias=False
      )
      self.bn1 = nn.BatchNorm2d(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], stride=1, rate=1
      )
      self.layer2 = self._make_layer(
          block, 128, layers[1], stride=2, rate=1
      )
      self.layer3 = self._make_layer(
          block, 256, layers[2], stride=1, rate=2
      )
      self.layer4 = self._make_layer(
          block, 512, layers[3], stride=1, rate=4
      )
  
      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, nn.BatchNorm2d):
              m.weight.data.fill_(1)
              m.bias.data.zero_()
  
      if pretrained:
          print("load the pre-trained model.")
          resnet = models.resnet101(pretrained)
          self.conv1 = resnet.conv1
          self.bn1 = resnet.bn1
          self.layer1 = resnet.layer1
          self.layer2 = resnet.layer2
  
imports: import math
  import torch.nn
  import torch.nn.functional
  import torchvision.models
label_desc: Use image node_id 1 to create a new Atrous_ResNet_features object from inherited base classes: nn with example: obj = Atrous_ResNet_features(block, layers, pretrained)