class_docstr: GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond.
  
  This head is the implementation of `GCNet
  <https://arxiv.org/abs/1904.11492>`_.
  
  Args:
      ratio (float): Multiplier of channels ratio. Default: 1/4.
      pooling_type (str): The pooling type of context aggregation.
          Options are 'att', 'avg'. Default: 'avg'.
      fusion_types (tuple[str]): The fusion type for feature fusion.
          Options are 'channel_add', 'channel_mul'. Default: ('channel_add',)
code: def __init__(
      self,
      ratio=1 / 4.0,
      pooling_type="att",
      fusion_types=("channel_add",),
      **kwargs,
  ):
      super(GCHead, self).__init__(num_convs=2, **kwargs)
      self.ratio = ratio
      self.pooling_type = pooling_type
      self.fusion_types = fusion_types
      self.gc_block = ContextBlock(
          in_channels=self.channels,
          ratio=self.ratio,
          pooling_type=self.pooling_type,
          fusion_types=self.fusion_types,
      )
  
file_path: lavis/lavis/common/annotator/uniformer/mmseg/models/decode_heads/gc_head.py
imports: import torch
  from annotator.uniformer.mmcv.cnn import ContextBlock
  from ..builder import HEADS
  from .fcn_head import FCNHead
label_desc: Use image node_id 1 to create a new GCHead object from inherited base classes: FCNHead with example: obj = GCHead(ratio, pooling_type, fusion_types)