class_docstr: Implementation of EMANet (ICCV 2019 Oral).
code: def __init__(self, num_classes, n_layers, stride=8, **kwargs):
      super().__init__()
      backbone = get_resnet(n_layers, stride=stride)
      self.extractor = nn.Sequential(
          backbone.conv1,
          backbone.bn1,
          backbone.relu,
          backbone.maxpool,
          backbone.layer1,
          backbone.layer2,
          backbone.layer3,
          backbone.layer4,
      )
  
      self.fc0 = ConvBNReLU(2048, 512, 3, 1, 1, 1)
      self.emau = EMAU(512, 64, settings.STAGE_NUM)
      self.fc1 = nn.Sequential(
          ConvBNReLU(512, 256, 3, 1, 1, 1), nn.Dropout2d(p=0.1)
      )
      self.fc2 = nn.Conv2d(256, num_classes, 1)
  
      # Put the criterion inside the model to make GPU load balanced
      self.crit = CrossEntropyLoss2d(
          ignore_index=settings.IGNORE_LABEL, reduction="none"
      )
  
imports: import math
  import torch.utils.model_zoo
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.nn.modules.batchnorm import _BatchNorm
  from .None import settings
label_desc: Use image node_id 1 to create a new EMANet object from inherited base classes: nn with example: obj = EMANet(num_classes, n_layers, stride)