class_docstr: ATSS head with visual-language fusion module.
  
  Args:
      early_fuse (bool): Whether to fuse visual and language features
          Defaults to False.
      use_checkpoint (bool): Whether to use checkpoint. Defaults to False.
      num_dyhead_blocks (int): Number of dynamic head blocks. Defaults to 6.
      lang_model_name (str): Name of the language model.
          Defaults to 'bert-base-uncased'.
class_docstr_tok: ["ATSS","head","with","visual-language","fusion","module",".","Args",":","early_fuse","(","bool",")",":","Whether","to","fuse","visual","and","language","features","Defaults","to","False",".","use_checkpoint","(","bool",")",":","Whether","to","use","checkpoint",".","Defaults","to","False",".","num_dyhead_blocks","(","int",")",":","Number","of","dynamic","head","blocks",".","Defaults","to","6.","lang_model_name","(","str",")",":","Name","of","the","language","model",".","Defaults","to","'bert-base-uncased","'","."]
docstr: Perform forward propagation of the detection head and predict
  detection results on the features of the upstream network.
  
  Args:
      visual_feats (tuple[Tensor]): Multi-level visual features from the
          upstream network, each is a 4D-tensor.
      language_feats (dict): Language features from the upstream network.
      batch_data_samples (List[:obj:`DetDataSample`]): The Data
          Samples. It usually includes information such as
          `gt_instance`, `gt_panoptic_seg` and `gt_sem_seg`.
      rescale (bool, optional): Whether to rescale the results.
          Defaults to False.
  
  Returns:
      list[obj:`InstanceData`]: Detection results of each image
      after the post process.
docstr_tok: ["Perform","forward","propagation","of","the","detection","head","and","predict","detection","results","on","the","features","of","the","upstream","network",".","Args",":","visual_feats","(","tuple","[","Tensor","]",")",":","Multi-level","visual","features","from","the","upstream","network",",","each","is","a","4D-tensor",".","language_feats","(","dict",")",":","Language","features","from","the","upstream","network",".","batch_data_samples","(","List","[",":","obj",":","`","DetDataSample","`","]",")",":","The","Data","Samples",".","It","usually","includes","information","such","as","`","gt_instance","`",",","`","gt_panoptic_seg","`","and","`","gt_sem_seg","`",".","rescale","(","bool",",","optional",")",":","Whether","to","rescale","the","results",".","Defaults","to","False",".","Returns",":","list","[","obj",":","`","InstanceData","`","]",":","Detection","results","of","each","image","after","the","post","process","."]
code: def predict(
      self,
      visual_feats: Tuple[Tensor],
      language_feats: dict,
      batch_data_samples,
      rescale: bool = True,
  ):
      """Perform forward propagation of the detection head and predict
      detection results on the features of the upstream network.
  
      Args:
          visual_feats (tuple[Tensor]): Multi-level visual features from the
              upstream network, each is a 4D-tensor.
          language_feats (dict): Language features from the upstream network.
          batch_data_samples (List[:obj:`DetDataSample`]): The Data
              Samples. It usually includes information such as
              `gt_instance`, `gt_panoptic_seg` and `gt_sem_seg`.
          rescale (bool, optional): Whether to rescale the results.
              Defaults to False.
  
      Returns:
          list[obj:`InstanceData`]: Detection results of each image
          after the post process.
      """
      batch_img_metas = [
          data_samples.metainfo for data_samples in batch_data_samples
      ]
      batch_token_positive_maps = [
          data_samples.token_positive_map
          for data_samples in batch_data_samples
      ]
      outs = self(visual_feats, language_feats)
  
      predictions = self.predict_by_feat(
          *outs,
          batch_img_metas=batch_img_metas,
          batch_token_positive_maps=batch_token_positive_maps,
          rescale=rescale,
      )
      return predictions
  
imports: import copy
  import math
  from typing import Callable, List, Optional, Sequence, Tuple, Union
  import torch
  import torch.nn
  import torch.nn.functional
  from mmcv.cnn import Scale
  from mmcv.ops.modulated_deform_conv import ModulatedDeformConv2d
  from mmengine.config import ConfigDict
  from mmengine.model import BaseModel
  from mmengine.structures import InstanceData
  from torch import Tensor
  from mmdet.registry import MODELS
  from mmdet.structures.bbox import cat_boxes
  from mmdet.utils import InstanceList, OptInstanceList, reduce_mean
  from ..utils import BertEncoderLayer, VLFuse, filter_scores_and_topk, permute_and_flatten, select_single_mlvl, unpack_gt_instances
  from ..utils.vlfuse_helper import MAX_CLAMP_VALUE
  from .atss_head import ATSSHead
label_desc: Use image node_id 9 for calling the ATSSVLFusionHead obj's underlying member method code with example usage: obj.predict(visual_feats, language_feats, batch_data_samples, rescale) and returns: predictions