class_docstr: A Keras Layer implementing BiFPN Node.
code: def build(self, feats_shape):
      for i, input_offset in enumerate(self.inputs_offsets):
          name = "resample_{}_{}_{}".format(
              i, input_offset, len(feats_shape)
          )
          self.resample_layers.append(
              ResampleFeatureMap(
                  self.feat_level,
                  self.fpn_num_filters,
                  self.apply_bn_for_resampling,
                  self.conv_after_downsample,
                  data_format=self.data_format,
                  name=name,
              )
          )
      if self.weight_method == "attn":
          self._add_wsm("ones")
      elif self.weight_method == "fastattn":
          self._add_wsm("ones")
      elif self.weight_method == "channel_attn":
          num_filters = int(self.fpn_num_filters)
          self._add_wsm(lambda: tf.ones([num_filters]))
      elif self.weight_method == "channel_fastattn":
          num_filters = int(self.fpn_num_filters)
          self._add_wsm(lambda: tf.ones([num_filters]))
      self.op_after_combine = OpAfterCombine(
          self.conv_bn_act_pattern,
          self.separable_conv,
          self.fpn_num_filters,
          self.act_type,
          self.data_format,
          name="op_after_combine{}".format(len(feats_shape)),
      )
      self.built = True
      super().build(feats_shape)
  
imports: import functools
  from absl import logging
  import numpy
  import tensorflow
  import utils
  from .None import fpn_configs
label_desc: Use image node_id 4 for calling the FNode obj's underlying member method code with example usage: obj.build(feats_shape) without return types