code: def shift(shape, stride, anchors):
      """Produce shifted anchors based on shape of the map and stride size.
  
      Args
          shape  : Shape to shift the anchors over.
          stride : Stride to shift the anchors with over the shape.
          anchors: The anchors to apply at each location.
      """
  
      # create a grid starting from half stride from the top left corner
      shift_x = (np.arange(0, shape[1]) + 0.5) * stride
      shift_y = (np.arange(0, shape[0]) + 0.5) * stride
  
      shift_x, shift_y = np.meshgrid(shift_x, shift_y)
  
      shifts = np.vstack(
          (
              shift_x.ravel(),
              shift_y.ravel(),
              shift_x.ravel(),
              shift_y.ravel(),
          )
      ).transpose()
  
      # add A anchors (1, A, 4) to
      # cell K shifts (K, 1, 4) to get
      # shift anchors (K, A, 4)
      # reshape to (K*A, 4) shifted anchors
      A = anchors.shape[0]
      K = shifts.shape[0]
      all_anchors = anchors.reshape((1, A, 4)) + shifts.reshape(
          (1, K, 4)
      ).transpose((1, 0, 2))
      all_anchors = all_anchors.reshape((K * A, 4))
  
      return all_anchors
  
file_path: ImageAI/imageai_tf_deprecated/Detection/keras_retinanet/utils/anchors.py
imports: import numpy
  from tensorflow import keras
label_desc: Use image node_id 6 for calling a global function with example usage: shift(shape, stride, anchors) and returns: all_anchors