class_docstr: PicoHead
  Args:
      conv_feat (object): Instance of 'PicoFeat'
      num_classes (int): Number of classes
      fpn_stride (list): The stride of each FPN Layer
      prior_prob (float): Used to set the bias init for the class prediction layer
      loss_class (object): Instance of VariFocalLoss.
      loss_dfl (object): Instance of DistributionFocalLoss.
      loss_bbox (object): Instance of bbox loss.
      assigner (object): Instance of label assigner.
      reg_max: Max value of integral set :math: `{0, ..., reg_max}`
              n QFL setting. Default: 7.
class_docstr_tok: ["PicoHead","Args",":","conv_feat","(","object",")",":","Instance","of","'PicoFeat'","num_classes","(","int",")",":","Number","of","classes","fpn_stride","(","list",")",":","The","stride","of","each","FPN","Layer","prior_prob","(","float",")",":","Used","to","set","the","bias","init","for","the","class","prediction","layer","loss_class","(","object",")",":","Instance","of","VariFocalLoss",".","loss_dfl","(","object",")",":","Instance","of","DistributionFocalLoss",".","loss_bbox","(","object",")",":","Instance","of","bbox","loss",".","assigner","(","object",")",":","Instance","of","label","assigner",".","reg_max",":","Max","value","of","integral","set",":","math",":","`","{","0",",","...",",","reg_max","}","`","n","QFL","setting",".","Default",":","7","."]
code: def _generate_anchors(self, feats=None):
      # just use in eval time
      anchor_points = []
      stride_tensor = []
      for i, stride in enumerate(self.fpn_stride):
          if feats is not None:
              _, _, h, w = feats[i].shape
          else:
              h = math.ceil(self.eval_size[0] / stride)
              w = math.ceil(self.eval_size[1] / stride)
          shift_x = paddle.arange(end=w) + self.cell_offset
          shift_y = paddle.arange(end=h) + self.cell_offset
          shift_y, shift_x = paddle.meshgrid(shift_y, shift_x)
          anchor_point = paddle.cast(
              paddle.stack([shift_x, shift_y], axis=-1), dtype="float32"
          )
          anchor_points.append(anchor_point.reshape([-1, 2]))
          stride_tensor.append(
              paddle.full([h * w, 1], stride, dtype="float32")
          )
      anchor_points = paddle.concat(anchor_points)
      stride_tensor = paddle.concat(stride_tensor)
      return anchor_points, stride_tensor
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle import ParamAttr
  from paddle.nn.initializer import Normal, Constant
  from ppdet.modeling.ops import get_static_shape
  from ..initializer import normal_
  from ..assigners.utils import generate_anchors_for_grid_cell
  from ..bbox_utils import bbox_center, batch_distance2bbox, bbox2distance
  from ppdet.core.workspace import register
  from ppdet.modeling.layers import ConvNormLayer
  from .simota_head import OTAVFLHead
  from .gfl_head import Integral, GFLHead
  from ppdet.modeling.necks.csp_pan import DPModule
label_desc: Use image node_id 5 for calling the PicoHead obj's underlying member method code with example usage: obj._generate_anchors(feats) and returns: anchor_points,  stride_tensor