class_docstr: The FAM module implementation.
  
  Args:
     inplane (int): Input channles of FAM module.
     outplane (int): Output channels of FAN module.
     kernel_size (int, optional): Kernel size of semantic flow convolution layer. Default: 3.
class_docstr_tok: ["The","FAM","module","implementation",".","Args",":","inplane","(","int",")",":","Input","channles","of","FAM","module",".","outplane","(","int",")",":","Output","channels","of","FAN","module",".","kernel_size","(","int",",","optional",")",":","Kernel","size","of","semantic","flow","convolution","layer",".","Default",":","3","."]
code: def forward(self, x):
      low_feature, h_feature = x
      h_feature_orign = h_feature
      size = paddle.shape(low_feature)[2:]
      low_feature = self.down_l(low_feature)
      h_feature = self.down_h(h_feature)
      h_feature = F.interpolate(
          h_feature, size=size, mode="bilinear", align_corners=True
      )
      flow = self.flow_make(paddle.concat([h_feature, low_feature], 1))
      h_feature = self.flow_warp(h_feature_orign, flow, size=size)
      return h_feature
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.models import layers
  from paddleseg.cvlibs import manager
  from paddleseg.utils import utils
label_desc: Use image node_id 3 for calling the AlignedModule obj's underlying member method code with example usage: obj.forward(x) and returns: h_feature