class_docstr: The FPN Neck implementation in paddle.
  
  Args:
      fpn_inplanes (list, optional): Input channels list(the feature channels from backbone) for lateral_conv constraction. Default: [256, 512, 1024, 2048].
      fpn_outplanes (int, optional): The output channels. Default: 256.
class_docstr_tok: ["The","FPN","Neck","implementation","in","paddle",".","Args",":","fpn_inplanes","(","list",",","optional",")",":","Input","channels","list","(","the","feature","channels","from","backbone",")","for","lateral_conv","constraction",".","Default",":","[","256",",","512",",","1024",",","2048","]",".","fpn_outplanes","(","int",",","optional",")",":","The","output","channels",".","Default",":","256","."]
code: def forward(self, conv_out):
      last_out = self.lateral_convs[-1](conv_out[-1])
      f = last_out
      fpn_feature_list = [last_out]
      for i in reversed(range(len(conv_out) - 1)):
          conv_x = conv_out[i]
          conv_x = self.lateral_convs[i](conv_x)
          prev_shape = paddle.shape(conv_x)[2:]
          f = conv_x + F.interpolate(
              f, prev_shape, mode="bilinear", align_corners=True
          )
          fpn_feature_list.append(self.fpn_out[i](f))
      return fpn_feature_list
  
imports: import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager
  from paddleseg.models import layers
  from paddleseg.utils import utils
label_desc: Use image node_id 2 for calling the FPNNeck obj's underlying member method code with example usage: obj.forward(conv_out) and returns: fpn_feature_list