code: def _feature_fusion_cell(
      self,
      conv_layer,
      lateral_feat,
      sampling_feat,
      route_feat=None,
      weights=None,
  ):
      if self.use_weighted_fusion:
          weights = F.relu(weights)
          weights = weights / (weights.sum() + self.eps)
          if route_feat is not None:
              out_feat = (
                  weights[0] * lateral_feat
                  + weights[1] * sampling_feat
                  + weights[2] * route_feat
              )
          else:
              out_feat = (
                  weights[0] * lateral_feat + weights[1] * sampling_feat
              )
      else:
          if route_feat is not None:
              out_feat = lateral_feat + sampling_feat + route_feat
          else:
              out_feat = lateral_feat + sampling_feat
  
      out_feat = conv_layer(out_feat)
      return out_feat
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle import ParamAttr
  from paddle.nn.initializer import Constant
  from ppdet.core.workspace import register, serializable
  from ppdet.modeling.layers import ConvNormLayer
  from ..shape_spec import ShapeSpec
label_desc: Use image node_id 2 for calling the BiFPNCell obj's underlying member method code with example usage: obj._feature_fusion_cell(conv_layer, lateral_feat, sampling_feat, route_feat, weights) and returns: out_feat