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: mmocr/projects/ABCNet/abcnet/model/base_roi_extractor.py
imports: from abc import ABCMeta, abstractmethod
  from typing import List, Tuple
  import torch.nn
  from mmcv import ops
  from mmengine.model import BaseModule
  from torch import Tensor
  from mmocr.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)