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.
class_docstr_tok: ["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 forward(self, x: paddle.Tensor) -> paddle.Tensor:
      x = self.conv_bn_relu(x)
      x = self.dsconv_bn_relu1(x)
      x = self.dsconv_bn_relu2(x)
      return x
  
imports: import os
  from typing import Callable, Union, Tuple
  import paddle.nn
  import paddle.nn.functional
  import paddle
  import numpy
  from paddlehub.module.module import moduleinfo
  import paddlehub.vision.segmentation_transforms
  from paddlehub.module.cv_module import ImageSegmentationModule
  import fastscnn_cityscapes.layers
label_desc: Use image node_id 2 for calling the LearningToDownsample obj's underlying member method code with example usage: obj.forward(x) and returns: x