class_docstr: Learning to downsample module.
  This module consists of three downsampling blocks (one conv and two separable conv)
  Args:
      dw_channels1 (int, optional): The input channels of the first sep conv. Default: 32.
      dw_channels2 (int, optional): The input channels of the second sep conv. Default: 48.
      out_channels (int, optional): The output channels of LearningToDownsample module. Default: 64.
code: def __init__(
      self,
      in_channels=3,
      dw_channels1=32,
      dw_channels2=48,
      out_channels=64,
  ):
      super(LearningToDownsample, self).__init__()
  
      self.conv_bn_relu = layers.ConvBNReLU(
          in_channels=in_channels,
          out_channels=dw_channels1,
          kernel_size=3,
          stride=2,
      )
      self.dsconv_bn_relu1 = layers.SeparableConvBNReLU(
          in_channels=dw_channels1,
          out_channels=dw_channels2,
          kernel_size=3,
          stride=2,
          padding=1,
      )
      self.dsconv_bn_relu2 = layers.SeparableConvBNReLU(
          in_channels=dw_channels2,
          out_channels=out_channels,
          kernel_size=3,
          stride=2,
          padding=1,
      )
  
imports: import paddle.nn
  import paddle.nn.functional
  import paddle
  from paddleseg.cvlibs import manager
  from paddleseg.models import layers
  from paddleseg.utils import utils
label_desc: Use image node_id 1 to create a new LearningToDownsample object from inherited base classes: nn with example: obj = LearningToDownsample(in_channels, dw_channels1, dw_channels2, out_channels)