class_docstr: Unet utilizing dilation
class_docstr_tok: ["Unet","utilizing","dilation"]
code: def __init__(self, num_classes, **_):
      super(UNetDilated, self).__init__()
      self.Conv0 = self._transition(3, 8)  # 1918
      self.down1 = self._down_block(8, 16, 16)  # 959
      self.down2 = self._down_block(16, 16, 32)  # 480
      self.down3 = self._down_block(32, 32, 64)  # 240
      self.down4 = self._down_block(64, 64, 96)  # 120
      self.down5 = self._down_block(96, 96, 128)  # 60
      self.tran0 = self._transition(128, 256)
      self.db0 = self._dense_block(256, 32)
  
      self.up1 = self._up_block(256, 96, 96)  # 120
      self.db1 = self._dense_block(96, 32)
      self.conv1 = nn.Conv2d(96 * 2, 96, 3, stride=1, padding=1)
      self.bn1 = nn.BatchNorm2d(96)
  
      self.up2 = self._up_block(96, 64, 64)  # 240
      self.db2 = self._dense_block(64, 24)
      self.conv2 = nn.Conv2d(64 * 2, 64, 3, stride=1, padding=1)
      self.bn2 = nn.BatchNorm2d(64)
  
      self.up3 = self._up_block(64, 32, 32)  # 480
      self.db3 = self._dense_block(32, 10)
      self.conv3 = nn.Conv2d(32 * 2, 32, 3, stride=1, padding=1)
      self.bn3 = nn.BatchNorm2d(32)
  
      self.up4 = self._up_block(
          32, 16, 16
      )  # ,output_padding=(1, 0))  # 959
      self.db4 = self._dense_block(16, 8)
      self.conv4 = nn.Conv2d(16 * 2, 16, 3, stride=1, padding=1)
      self.bn4 = nn.BatchNorm2d(16)
  
      self.up5 = self._up_block(16, 16, 16)  # 1918
      self.db5 = self._dense_block(16, 4)
      self.conv5 = nn.Conv2d(16, num_classes, 3, stride=1, padding=1)
  
      self.clss = nn.LogSoftmax()
      self.act = nn.PReLU()
  
imports: import torch
  import torch.nn
label_desc: Use image node_id 1 to create a new UNetDilated object from inherited base classes: nn with example: obj = UNetDilated(num_classes)