code: def run_head(self, proposals, stage):
          
          reg_weights = tf.constant(cfg.CASCADE.BBOX_REG_WEIGHTS[stage], dtype=tf.float32)
          pooled_feature = self.roi_func(proposals.boxes)  # N,C,S,S
          pooled_feature = self.scale_gradient(pooled_feature)
          head_feature = self.fastrcnn_head_func('head', pooled_feature)
          label_logits, box_logits = fastrcnn_outputs(
              'outputs', head_feature, self.num_classes, class_agnostic_regression=True)
          head = FastRCNNHead(proposals, box_logits, label_logits, self.gt_boxes, reg_weights)
  
          refined_boxes = head.decoded_output_boxes_class_agnostic()
          refined_boxes = clip_boxes(refined_boxes, self.image_shape2d)
          return head, tf.stop_gradient(refined_boxes, name='output_boxes')
docs: Args:
              proposals: BoxProposals
              stage: 0, 1, 2
  
          Returns:
              FastRCNNHead
              Nx4, updated boxes