code: def get_all_anchors_fpn(*, strides, sizes, ratios, max_size):
      """
      Returns:
          [anchors]: each anchors is a SxSx NUM_ANCHOR_RATIOS x4 array.
      """
      assert len(strides) == len(sizes)
      foas = []
      for stride, size in zip(strides, sizes):
          foa = get_all_anchors(
              stride=stride,
              sizes=(size,),
              ratios=ratios,
              max_size=max_size,
          )
          foas.append(foa)
      return foas
  
imports: import itertools
  import numpy
  import tensorflow
  from tensorpack import tfv1
  from tensorpack.models import Conv2D, FixedUnPooling, MaxPooling, layer_register
  from tensorpack.tfutils.argscope import argscope
  from tensorpack.tfutils.scope_utils import under_name_scope
  from tensorpack.tfutils.summary import add_moving_summary
  from tensorpack.tfutils.tower import get_current_tower_context
  from tensorpack.utils.argtools import memoized
  from config import config
  from utils.box_ops import area
  from .backbone import GroupNorm
  from .model_box import roi_align
  from .model_rpn import generate_rpn_proposals, rpn_losses, get_all_anchors
label_desc: Use image node_id 6 for calling a global function with example usage: get_all_anchors_fpn() and returns: foas