class_docstr: Feature Adaption Module.
  
  Feature Adaption Module is implemented based on DCN v1.
  It uses anchor shape prediction rather than feature map to
  predict offsets of deform conv layer.
  
  Args:
      in_channels (int): Number of channels in the input feature map.
      out_channels (int): Number of channels in the output feature map.
      kernel_size (int): Deformable conv kernel size.
      deform_groups (int): Deformable conv group size.
code: def forward(self, x, shape):
      offset = self.conv_offset(shape.detach())
      x = self.relu(self.conv_adaption(x, offset))
      return x
  
imports: import torch
  import torch.nn
  from mmcv.cnn import bias_init_with_prob, normal_init
  from mmcv.ops import DeformConv2d, MaskedConv2d
  from mmcv.runner import force_fp32
  from mmdet.core import anchor_inside_flags, build_anchor_generator, build_assigner, build_bbox_coder, build_sampler, calc_region, images_to_levels, multi_apply, multiclass_nms, unmap
  from ..builder import HEADS, build_loss
  from .anchor_head import AnchorHead
label_desc: Use image node_id 3 for calling the FeatureAdaption obj's underlying member method code with example usage: obj.forward(x, shape) and returns: x