code: def __init__(self, in_channels, out_channels, dropout=False):
      super(_EncoderBlock, self).__init__()
      layers = [
          nn.Conv2d(in_channels, out_channels, kernel_size=3),
          nn.BatchNorm2d(out_channels),
          nn.ReLU(inplace=True),
          nn.Conv2d(out_channels, out_channels, kernel_size=3),
          nn.BatchNorm2d(out_channels),
          nn.ReLU(inplace=True),
      ]
      if dropout:
          layers.append(nn.Dropout())
      layers.append(nn.MaxPool2d(kernel_size=2, stride=2))
      self.encode = nn.Sequential(*layers)
  
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 _EncoderBlock object from inherited base classes: nn with example: obj = _EncoderBlock(in_channels, out_channels, dropout)