code: def down_sampling(
      self, in_channels: int, out_channels: int
  ) -> nn.Layer:
      modules = []
      modules.append(nn.MaxPool2D(kernel_size=2, stride=2))
      modules.append(layers.ConvBNReLU(in_channels, out_channels, 3))
      modules.append(layers.ConvBNReLU(out_channels, out_channels, 3))
      return nn.Sequential(*modules)
  
imports: import os
  from typing import Union, List, Tuple
  import paddle
  from paddle import nn
  import paddle.nn.functional
  import numpy
  from paddlehub.module.module import moduleinfo
  import paddlehub.vision.segmentation_transforms
  from paddlehub.module.cv_module import ImageSegmentationModule
  import unet_cityscapes.layers
label_desc: Use image node_id 2 for calling the Encoder obj's underlying member method code with example usage: obj.down_sampling(in_channels, out_channels) and returns: nn