class_docstr: Dual attention module.
  
  Args:
      in_channels (int): The number of input channels.
      out_channels (int): The number of output channels.
class_docstr_tok: ["Dual","attention","module",".","Args",":","in_channels","(","int",")",":","The","number","of","input","channels",".","out_channels","(","int",")",":","The","number","of","output","channels","."]
code: def __init__(self, in_channels, out_channels):
      super().__init__()
      inter_channels = in_channels // 4
  
      self.channel_conv = layers.ConvBNReLU(
          in_channels, inter_channels, 1
      )
      self.position_conv = layers.ConvBNReLU(
          in_channels, inter_channels, 1
      )
      self.pam = PAM(inter_channels)
      self.cam = CAM(inter_channels)
      self.conv1 = layers.ConvBNReLU(inter_channels, inter_channels, 3)
      self.conv2 = layers.ConvBNReLU(inter_channels, inter_channels, 3)
      self.conv3 = layers.ConvBNReLU(inter_channels, out_channels, 3)
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.models import layers
label_desc: Use image node_id 1 to create a new DualAttentionModule object from inherited base classes: nn with example: obj = DualAttentionModule(in_channels, out_channels)