class_docstr: Base class for RoI extractor.
  
  Args:
      roi_layer (:obj:`ConfigDict` or dict): Specify RoI layer type and
          arguments.
      out_channels (int): Output channels of RoI layers.
      featmap_strides (list[int]): Strides of input feature maps.
      init_cfg (:obj:`ConfigDict` or dict or list[:obj:`ConfigDict` or             dict], optional): Initialization config dict. Defaults to None.
class_docstr_tok: ["Base","class","for","RoI","extractor",".","Args",":","roi_layer","(",":","obj",":","`","ConfigDict","`","or","dict",")",":","Specify","RoI","layer","type","and","arguments",".","out_channels","(","int",")",":","Output","channels","of","RoI","layers",".","featmap_strides","(","list","[","int","]",")",":","Strides","of","input","feature","maps",".","init_cfg","(",":","obj",":","`","ConfigDict","`","or","dict","or","list","[",":","obj",":","`","ConfigDict","`","or","dict","]",",","optional",")",":","Initialization","config","dict",".","Defaults","to","None","."]
code: def __init__(
      self,
      roi_layer: ConfigType,
      out_channels: int,
      featmap_strides: List[int],
      init_cfg: OptMultiConfig = None,
  ) -> None:
      super().__init__(init_cfg=init_cfg)
      self.roi_layers = self.build_roi_layers(
          roi_layer, featmap_strides
      )
      self.out_channels = out_channels
      self.featmap_strides = featmap_strides
  
file_path: mmdetection/mmdet/models/roi_heads/roi_extractors/base_roi_extractor.py
imports: from abc import ABCMeta, abstractmethod
  from typing import List, Optional, Tuple
  import torch
  import torch.nn
  from mmcv import ops
  from mmengine.model import BaseModule
  from torch import Tensor
  from mmdet.utils import ConfigType, OptMultiConfig
label_desc: Use image node_id 1 to create a new BaseRoIExtractor object from inherited base classes: BaseModule with example: obj = BaseRoIExtractor(roi_layer, out_channels, featmap_strides, init_cfg)