class_docstr: Basic Unet
class_docstr_tok: ["Basic","Unet"]
code: def __init__(self, num_classes, **kwargs):
      super(UNet, self).__init__()
      self.enc1 = _EncoderBlock(3, 64)
      self.enc2 = _EncoderBlock(64, 128)
      self.enc3 = _EncoderBlock(128, 256)
      self.enc4 = _EncoderBlock(256, 512, dropout=True)
      self.center = _DecoderBlock(512, 1024, 512)
      self.dec4 = _DecoderBlock(1024, 512, 256)
      self.dec3 = _DecoderBlock(512, 256, 128)
      self.dec2 = _DecoderBlock(256, 128, 64)
      self.dec1 = nn.Sequential(
          nn.Conv2d(128, 64, kernel_size=3),
          nn.BatchNorm2d(64),
          nn.ReLU(inplace=True),
          nn.Conv2d(64, 64, kernel_size=3),
          nn.BatchNorm2d(64),
          nn.ReLU(inplace=True),
      )
      self.final = nn.Conv2d(64, num_classes, kernel_size=1)
      initialize_weights(self)
  
file_path: pywick/pywick/models/segmentation/u_net.py
imports: import torch
  import torch.nn.functional
  from torch import nn
  from .fcn_utils import initialize_weights
label_desc: Use image node_id 1 to create a new UNet object from inherited base classes: nn with example: obj = UNet(num_classes)