class_docstr: Base class for detectors.
  
  Args:
     data_preprocessor (dict or ConfigDict, optional): The pre-process
         config of :class:`BaseDataPreprocessor`.  it usually includes,
          ``pad_size_divisor``, ``pad_value``, ``mean`` and ``std``.
     init_cfg (dict or ConfigDict, optional): the config to control the
         initialization. Defaults to None.
class_docstr_tok: ["Base","class","for","detectors",".","Args",":","data_preprocessor","(","dict","or","ConfigDict",",","optional",")",":","The","pre-process","config","of",":","class",":","`","BaseDataPreprocessor","`",".","it","usually","includes",",","``","pad_size_divisor","``",",","``","pad_value","``",",","``","mean","``","and","``","std","``",".","init_cfg","(","dict","or","ConfigDict",",","optional",")",":","the","config","to","control","the","initialization",".","Defaults","to","None","."]
docstr: Network forward process.
  
  Usually includes backbone, neck and head forward without any post-
  processing.
docstr_tok: ["Network","forward","process",".","Usually","includes","backbone",",","neck","and","head","forward","without","any","post-","processing","."]
code: def _forward(
      self,
      batch_inputs: Tensor,
      batch_data_samples: OptSampleList = None,
  ):
      """Network forward process.
  
      Usually includes backbone, neck and head forward without any post-
      processing.
      """
      pass
  
imports: from abc import ABCMeta, abstractmethod
  from typing import Dict, List, Tuple, Union
  import torch
  from mmengine.model import BaseModel
  from torch import Tensor
  from mmdet.structures import DetDataSample, OptSampleList, SampleList
  from mmdet.utils import InstanceList, OptConfigType, OptMultiConfig
  from ..utils import samplelist_boxtype2tensor
label_desc: Use image node_id 9 for calling the BaseDetector obj's underlying member method code with example usage: obj._forward(batch_inputs, batch_data_samples) without return types