class_docstr: A single FPN cell.
code: def __init__(self, config, name="fpn_cell"):
      super().__init__(name=name)
      self.config = config
      if config.fpn_config:
          self.fpn_config = config.fpn_config
      else:
          self.fpn_config = fpn_configs.get_fpn_config(
              config.fpn_name,
              config.min_level,
              config.max_level,
              config.fpn_weight_method,
          )
      self.fnodes = []
      for i, fnode_cfg in enumerate(self.fpn_config.nodes):
          logging.info("fnode %d : %s", i, fnode_cfg)
          fnode = FNode(
              fnode_cfg["feat_level"] - self.config.min_level,
              fnode_cfg["inputs_offsets"],
              config.fpn_num_filters,
              config.apply_bn_for_resampling,
              config.conv_after_downsample,
              config.conv_bn_act_pattern,
              config.separable_conv,
              config.act_type,
              weight_method=self.fpn_config.weight_method,
              data_format=config.data_format,
              name="fnode%d" % i,
          )
          self.fnodes.append(fnode)
  
imports: import functools
  from absl import logging
  import numpy
  import tensorflow
  import utils
  from .None import fpn_configs
label_desc: Use image node_id 1 to create a new FPNCell object from inherited base classes: tf.keras.layers with example: obj = FPNCell(config, name)