class_docstr: RetinaFaceFPN
  
  Feature Pyramid Network for RetinaFace.
  
  Args:
      in_channels_list (`List[int]`):
          input channel numbers ofr each FPN layer.
      out_channels (`int`):
          output channel number.
code: def forward(self, x: torch.FloatTensor):
      # names = list(input.keys())
      x = list(x.values())
  
      output1 = self.output1(x[0])
      output2 = self.output2(x[1])
      output3 = self.output3(x[2])
  
      up3 = F.interpolate(
          output3,
          size=[output2.size(2), output2.size(3)],
          mode="nearest",
      )
      output2 = output2 + up3
      output2 = self.merge2(output2)
  
      up2 = F.interpolate(
          output2,
          size=[output1.size(2), output1.size(3)],
          mode="nearest",
      )
      output1 = output1 + up2
      output1 = self.merge1(output1)
  
      out = [output1, output2, output3]
      return out
  
file_path: towhee/towhee/models/retina_face/retinaface_fpn.py
imports: from typing import List
  import torch
  import torch.nn.functional
  from torch import nn
  from towhee.models.retina_face.utils import conv_bn1x1, conv_bn
label_desc: Use image node_id 2 for calling the RetinaFaceFPN obj's underlying member method code with example usage: obj.forward(x) and returns: out