class_docstr: Main class for Generalized R-CNN.
  
  Arguments:
      backbone (nn.Module):
      rpn (nn.Module):
      roi_heads (nn.Module): takes the features + the proposals from the RPN and computes
          detections / masks from it.
      transform (nn.Module): performs the data transformation from the inputs to feed into
          the model
class_docstr_tok: ["Main","class","for","Generalized","R-CNN",".","Arguments",":","backbone","(","nn.Module",")",":","rpn","(","nn.Module",")",":","roi_heads","(","nn.Module",")",":","takes","the","features","+","the","proposals","from","the","RPN","and","computes","detections","\/","masks","from","it",".","transform","(","nn.Module",")",":","performs","the","data","transformation","from","the","inputs","to","feed","into","the","model"]
code: def __init__(self, backbone, rpn, roi_heads, transform):
      super(FasterRCNNBase, self).__init__()
      self.transform = transform
      self.backbone = backbone
      self.rpn = rpn
      self.roi_heads = roi_heads
      # used only on torchscript mode
      self._has_warned = False
  
imports: import warnings
  from collections import OrderedDict
  from typing import Tuple, List, Dict, Optional, Union
  import torch
  from torch import nn, Tensor
  import torch.nn.functional
  from torchvision.ops import MultiScaleRoIAlign
  from .roi_head import RoIHeads
  from .transform import GeneralizedRCNNTransform
  from .rpn_function import AnchorsGenerator, RPNHead, RegionProposalNetwork
label_desc: Use image node_id 1 to create a new FasterRCNNBase object from inherited base classes: nn with example: obj = FasterRCNNBase(backbone, rpn, roi_heads, transform)