class_docstr: Implementation of the BaseOC module
  Parameters:
      in_features / out_features: the channels of the input / output feature maps.
      dropout: we choose 0.05 as the default value.
      size: you can apply multiple sizes. Here we only use one size.
  Return:
      features fused with Object context information.
code: def __init__(
      self,
      in_channels,
      out_channels,
      key_channels,
      value_channels,
      dropout,
      sizes=([1]),
      abn_block=ABN,
  ):
      super(BaseOC_Module, self).__init__()
      self.stages = []
      self.stages = nn.ModuleList(
          [
              self._make_stage(
                  in_channels,
                  out_channels,
                  key_channels,
                  value_channels,
                  size,
              )
              for size in sizes
          ]
      )
      self.conv_bn_dropout = nn.Sequential(
          nn.Conv2d(
              2 * in_channels, out_channels, kernel_size=1, padding=0
          ),
          abn_block(out_channels),
          nn.Dropout2d(dropout),
      )
  
imports: import torch
  import torch.nn.functional
  from torch import nn
  from ..modules.activations import ABN
label_desc: Use image node_id 1 to create a new BaseOC_Module object from inherited base classes: nn with example: obj = BaseOC_Module(in_channels, out_channels, key_channels, value_channels, dropout, sizes, abn_block)