class_docstr: Output only the context features.
  Parameters:
      in_features / out_features: the channels of the input / output feature maps.
      dropout: specify the dropout ratio
      fusion: We provide two different fusion method, "concat" or "add"
      size: we find that directly learn the attention weights on even 1/8 feature maps is hard.
  Return:
      features after "concat" or "add"
code: def __init__(
      self,
      in_channels,
      out_channels,
      key_channels,
      value_channels,
      dropout,
      sizes=([1]),
      abn_block=ABN,
  ):
      super(ObjectContextBlock, 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(
              in_channels,
              out_channels,
              kernel_size=1,
              padding=0,
              bias=False,
          ),
          abn_block(out_channels),
      )
  
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 ObjectContextBlock object from inherited base classes: nn with example: obj = ObjectContextBlock(in_channels, out_channels, key_channels, value_channels, dropout, sizes, abn_block)