class_docstr: Feature Fusion Module Implementation.
  This module fuses high-resolution feature and low-resolution feature.
  Args:
      high_in_channels (int): The channels of high-resolution feature (output of LearningToDownsample).
      low_in_channels (int): The channels of low-resolution feature (output of GlobalFeatureExtractor).
      out_channels (int): The output channels of this module.
      align_corners (bool): An argument of F.interpolate. It should be set to False when the output size of feature
          is even, e.g. 1024x512, otherwise it is True, e.g. 769x769.
class_docstr_tok: ["Feature","Fusion","Module","Implementation",".","This","module","fuses","high-resolution","feature","and","low-resolution","feature",".","Args",":","high_in_channels","(","int",")",":","The","channels","of","high-resolution","feature","(","output","of","LearningToDownsample",")",".","low_in_channels","(","int",")",":","The","channels","of","low-resolution","feature","(","output","of","GlobalFeatureExtractor",")",".","out_channels","(","int",")",":","The","output","channels","of","this","module",".","align_corners","(","bool",")",":","An","argument","of","F.interpolate",".","It","should","be","set","to","False","when","the","output","size","of","feature","is","even",",","e.g",".","1024x512",",","otherwise","it","is","True",",","e.g",".","769x769","."]
code: def __init__(
      self,
      high_in_channels: int,
      low_in_channels: int,
      out_channels: int,
      align_corners: bool,
  ):
      super().__init__()
  
      # Only depth-wise conv
      self.dwconv = layers.ConvBNReLU(
          in_channels=low_in_channels,
          out_channels=out_channels,
          kernel_size=3,
          padding=1,
          groups=128,
          bias_attr=False,
      )
  
      self.conv_low_res = layers.ConvBN(out_channels, out_channels, 1)
      self.conv_high_res = layers.ConvBN(
          high_in_channels, out_channels, 1
      )
      self.align_corners = align_corners
  
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 1 to create a new FeatureFusionModule object from inherited base classes: nn with example: obj = FeatureFusionModule(high_in_channels, low_in_channels, out_channels, align_corners)