class_docstr: DyHead neck consisting of multiple DyHead Blocks.
  
  See `Dynamic Head: Unifying Object Detection Heads with Attentions
  <https://arxiv.org/abs/2106.08322>`_ for details.
  
  Args:
      in_channels (int): Number of input channels.
      out_channels (int): Number of output channels.
      num_blocks (int, optional): Number of DyHead Blocks. Default: 6.
      zero_init_offset (bool, optional): Whether to use zero init for
          `spatial_conv_offset`. Default: True.
      init_cfg (dict or list[dict], optional): Initialization config dict.
          Default: None.
class_docstr_tok: ["DyHead","neck","consisting","of","multiple","DyHead","Blocks",".","See","`","Dynamic","Head",":","Unifying","Object","Detection","Heads","with","Attentions","<","https",":","\/\/arxiv.org\/abs\/2106.08322",">","`","_","for","details",".","Args",":","in_channels","(","int",")",":","Number","of","input","channels",".","out_channels","(","int",")",":","Number","of","output","channels",".","num_blocks","(","int",",","optional",")",":","Number","of","DyHead","Blocks",".","Default",":","6.","zero_init_offset","(","bool",",","optional",")",":","Whether","to","use","zero","init","for","`","spatial_conv_offset","`",".","Default",":","True",".","init_cfg","(","dict","or","list","[","dict","]",",","optional",")",":","Initialization","config","dict",".","Default",":","None","."]
docstr: Forward function.
docstr_tok: ["Forward","function","."]
code: def forward(self, inputs):
      """Forward function."""
      assert isinstance(inputs, (tuple, list))
      outs = self.dyhead_blocks(inputs)
      return tuple(outs)
  
file_path: mmdetection/mmdet/models/necks/dyhead.py
imports: import torch.nn
  import torch.nn.functional
  from mmcv.cnn import build_activation_layer, build_norm_layer
  from mmcv.ops.modulated_deform_conv import ModulatedDeformConv2d
  from mmengine.model import BaseModule, constant_init, normal_init
  from mmdet.registry import MODELS
  from ..layers import DyReLU
label_desc: Use image node_id 2 for calling the DyHead obj's underlying member method code with example usage: obj.forward(inputs) and returns: tuple