class_docstr: Stage of CascadeRPNHead.
  
  Args:
      in_channels (int): Number of channels in the input feature map.
      anchor_generator (:obj:`ConfigDict` or dict): anchor generator config.
      adapt_cfg (:obj:`ConfigDict` or dict): adaptation config.
      bridged_feature (bool): whether update rpn feature. Defaults to False.
      with_cls (bool): whether use classification branch. Defaults to True.
      init_cfg :obj:`ConfigDict` or list[:obj:`ConfigDict`] or dict or
          list[dict], optional): Initialization config dict.
          Defaults to None.
class_docstr_tok: ["Stage","of","CascadeRPNHead",".","Args",":","in_channels","(","int",")",":","Number","of","channels","in","the","input","feature","map",".","anchor_generator","(",":","obj",":","`","ConfigDict","`","or","dict",")",":","anchor","generator","config",".","adapt_cfg","(",":","obj",":","`","ConfigDict","`","or","dict",")",":","adaptation","config",".","bridged_feature","(","bool",")",":","whether","update","rpn","feature",".","Defaults","to","False",".","with_cls","(","bool",")",":","whether","use","classification","branch",".","Defaults","to","True",".","init_cfg",":","obj",":","`","ConfigDict","`","or","list","[",":","obj",":","`","ConfigDict","`","]","or","dict","or","list","[","dict","]",",","optional",")",":","Initialization","config","dict",".","Defaults","to","None","."]
docstr: Compute regression and classification targets for anchors when using
  RegionAssigner.
  
  Args:
      anchor_list (list[list[Tensor]]): Multi level anchors of each
          image.
      valid_flag_list (list[list[Tensor]]): Multi level valid flags of
          each image.
      featmap_sizes (list[Tuple[int, int]]): Feature map size each level.
      batch_gt_instances (list[:obj:`InstanceData`]): Batch of
          gt_instance. It usually includes ``bboxes`` and ``labels``
          attributes.
      batch_img_metas (list[dict]): Meta information of each image, e.g.,
          image size, scaling factor, etc.
      batch_gt_instances_ignore (list[:obj:`InstanceData`], optional):
          Batch of gt_instances_ignore. It includes ``bboxes`` attribute
          data that is ignored during training and testing.
          Defaults to None.
  
  Returns:
      tuple:
  
          - labels_list (list[Tensor]): Labels of each level.
          - label_weights_list (list[Tensor]): Label weights of each
            level.
          - bbox_targets_list (list[Tensor]): BBox targets of each level.
          - bbox_weights_list (list[Tensor]): BBox weights of each level.
          - avg_factor (int): Average factor that is used to average
            the loss. When using sampling method, avg_factor is usually
            the sum of positive and negative priors. When using
            ``PseudoSampler``, ``avg_factor`` is usually equal to the
            number of positive priors.
docstr_tok: ["Compute","regression","and","classification","targets","for","anchors","when","using","RegionAssigner",".","Args",":","anchor_list","(","list","[","list","[","Tensor","]","]",")",":","Multi","level","anchors","of","each","image",".","valid_flag_list","(","list","[","list","[","Tensor","]","]",")",":","Multi","level","valid","flags","of","each","image",".","featmap_sizes","(","list","[","Tuple","[","int",",","int","]","]",")",":","Feature","map","size","each","level",".","batch_gt_instances","(","list","[",":","obj",":","`","InstanceData","`","]",")",":","Batch","of","gt_instance",".","It","usually","includes","``","bboxes","``","and","``","labels","``","attributes",".","batch_img_metas","(","list","[","dict","]",")",":","Meta","information","of","each","image",",","e.g.",",","image","size",",","scaling","factor",",","etc",".","batch_gt_instances_ignore","(","list","[",":","obj",":","`","InstanceData","`","]",",","optional",")",":","Batch","of","gt_instances_ignore",".","It","includes","``","bboxes","``","attribute","data","that","is","ignored","during","training","and","testing",".","Defaults","to","None",".","Returns",":","tuple",":","-","labels_list","(","list","[","Tensor","]",")",":","Labels","of","each","level",".","-","label_weights_list","(","list","[","Tensor","]",")",":","Label","weights","of","each","level",".","-","bbox_targets_list","(","list","[","Tensor","]",")",":","BBox","targets","of","each","level",".","-","bbox_weights_list","(","list","[","Tensor","]",")",":","BBox","weights","of","each","level",".","-","avg_factor","(","int",")",":","Average","factor","that","is","used","to","average","the","loss",".","When","using","sampling","method",",","avg_factor","is","usually","the","sum","of","positive","and","negative","priors",".","When","using","``","PseudoSampler","``",",","``","avg_factor","``","is","usually","equal","to","the","number","of","positive","priors","."]
code: def region_targets(
      self,
      anchor_list: List[List[Tensor]],
      valid_flag_list: List[List[Tensor]],
      featmap_sizes: List[Tuple[int, int]],
      batch_gt_instances: InstanceList,
      batch_img_metas: List[dict],
      batch_gt_instances_ignore: OptInstanceList = None,
      return_sampling_results: bool = False,
  ) -> tuple:
      """Compute regression and classification targets for anchors when using
      RegionAssigner.
  
      Args:
          anchor_list (list[list[Tensor]]): Multi level anchors of each
              image.
          valid_flag_list (list[list[Tensor]]): Multi level valid flags of
              each image.
          featmap_sizes (list[Tuple[int, int]]): Feature map size each level.
          batch_gt_instances (list[:obj:`InstanceData`]): Batch of
              gt_instance. It usually includes ``bboxes`` and ``labels``
              attributes.
          batch_img_metas (list[dict]): Meta information of each image, e.g.,
              image size, scaling factor, etc.
          batch_gt_instances_ignore (list[:obj:`InstanceData`], optional):
              Batch of gt_instances_ignore. It includes ``bboxes`` attribute
              data that is ignored during training and testing.
              Defaults to None.
  
      Returns:
          tuple:
  
              - labels_list (list[Tensor]): Labels of each level.
              - label_weights_list (list[Tensor]): Label weights of each
                level.
              - bbox_targets_list (list[Tensor]): BBox targets of each level.
              - bbox_weights_list (list[Tensor]): BBox weights of each level.
              - avg_factor (int): Average factor that is used to average
                the loss. When using sampling method, avg_factor is usually
                the sum of positive and negative priors. When using
                ``PseudoSampler``, ``avg_factor`` is usually equal to the
                number of positive priors.
      """
      num_imgs = len(batch_img_metas)
      assert len(anchor_list) == len(valid_flag_list) == num_imgs
  
      if batch_gt_instances_ignore is None:
          batch_gt_instances_ignore = [None] * num_imgs
  
      # anchor number of multi levels
      num_level_anchors = [
          anchors.size(0) for anchors in anchor_list[0]
      ]
      # concat all level anchors to a single tensor
      concat_anchor_list = []
      concat_valid_flag_list = []
      for i in range(num_imgs):
          assert len(anchor_list[i]) == len(valid_flag_list[i])
          concat_anchor_list.append(torch.cat(anchor_list[i]))
          concat_valid_flag_list.append(torch.cat(valid_flag_list[i]))
  
      # compute targets for each image
      (
          all_labels,
          all_label_weights,
          all_bbox_targets,
          all_bbox_weights,
          pos_inds_list,
          neg_inds_list,
          sampling_results_list,
      ) = multi_apply(
          self._region_targets_single,
          concat_anchor_list,
          concat_valid_flag_list,
          batch_gt_instances,
          batch_img_metas,
          batch_gt_instances_ignore,
          featmap_sizes=featmap_sizes,
          num_level_anchors=num_level_anchors,
      )
      # no valid anchors
      if any([labels is None for labels in all_labels]):
          return None
      # sampled anchors of all images
      avg_factor = sum(
          [results.avg_factor for results in sampling_results_list]
      )
      # split targets to a list w.r.t. multiple levels
      labels_list = images_to_levels(all_labels, num_level_anchors)
      label_weights_list = images_to_levels(
          all_label_weights, num_level_anchors
      )
      bbox_targets_list = images_to_levels(
          all_bbox_targets, num_level_anchors
      )
      bbox_weights_list = images_to_levels(
          all_bbox_weights, num_level_anchors
      )
      res = (
          labels_list,
          label_weights_list,
          bbox_targets_list,
          bbox_weights_list,
          avg_factor,
      )
      if return_sampling_results:
          res = res + (sampling_results_list,)
      return res
  
imports: from __future__ import division
  import copy
  from typing import Dict, List, Optional, Tuple, Union
  import torch
  import torch.nn
  from mmcv.ops import DeformConv2d
  from mmengine.config import ConfigDict
  from mmengine.model import BaseModule, ModuleList
  from mmengine.structures import InstanceData
  from torch import Tensor
  from mmdet.registry import MODELS, TASK_UTILS
  from mmdet.structures import SampleList
  from mmdet.utils import ConfigType, InstanceList, MultiConfig, OptInstanceList, OptMultiConfig
  from ..task_modules.assigners import RegionAssigner
  from ..task_modules.samplers import PseudoSampler
  from ..utils import images_to_levels, multi_apply, select_single_mlvl, unpack_gt_instances
  from .base_dense_head import BaseDenseHead
  from .rpn_head import RPNHead
label_desc: Use image node_id 6 for calling the StageCascadeRPNHead obj's underlying member method code with example usage: obj.region_targets(anchor_list, valid_flag_list, featmap_sizes, batch_gt_instances, batch_img_metas, batch_gt_instances_ignore, return_sampling_results) and returns: res, None