class_docstr: Squeeze-and-Excitation Module.
  
  Args:
      channels (int): The input (and output) channels of the SE layer.
      ratio (int): Squeeze ratio in SELayer, the intermediate channel will be
          ``int(channels/ratio)``. Defaults to 16.
      conv_cfg (None or dict): Config dict for convolution layer.
          Defaults to None, which means using conv2d.
      act_cfg (dict or Sequence[dict]): Config dict for activation layer.
          If act_cfg is a dict, two activation layers will be configurated
          by this dict. If act_cfg is a sequence of dicts, the first
          activation layer will be configurated by the first dict and the
          second activation layer will be configurated by the second dict.
          Defaults to (dict(type='ReLU'), dict(type='Sigmoid'))
      init_cfg (dict or list[dict], optional): Initialization config dict.
          Defaults to None
class_docstr_tok: ["Squeeze-and-Excitation","Module",".","Args",":","channels","(","int",")",":","The","input","(","and","output",")","channels","of","the","SE","layer",".","ratio","(","int",")",":","Squeeze","ratio","in","SELayer",",","the","intermediate","channel","will","be","``","int","(","channels\/ratio",")","``",".","Defaults","to","16.","conv_cfg","(","None","or","dict",")",":","Config","dict","for","convolution","layer",".","Defaults","to","None",",","which","means","using","conv2d",".","act_cfg","(","dict","or","Sequence","[","dict","]",")",":","Config","dict","for","activation","layer",".","If","act_cfg","is","a","dict",",","two","activation","layers","will","be","configurated","by","this","dict",".","If","act_cfg","is","a","sequence","of","dicts",",","the","first","activation","layer","will","be","configurated","by","the","first","dict","and","the","second","activation","layer","will","be","configurated","by","the","second","dict",".","Defaults","to","(","dict","(","type='ReLU","'",")",",","dict","(","type='Sigmoid","'",")",")","init_cfg","(","dict","or","list","[","dict","]",",","optional",")",":","Initialization","config","dict",".","Defaults","to","None"]
docstr: Forward function for SELayer.
docstr_tok: ["Forward","function","for","SELayer","."]
code: def forward(self, x: Tensor) -> Tensor:
      """Forward function for SELayer."""
      out = self.global_avgpool(x)
      out = self.conv1(out)
      out = self.conv2(out)
      return x * out
  
file_path: mmdetection/mmdet/models/layers/se_layer.py
imports: import torch
  import torch.nn
  from mmcv.cnn import ConvModule
  from mmengine.model import BaseModule
  from mmengine.utils import digit_version, is_tuple_of
  from torch import Tensor
  from mmdet.utils import MultiConfig, OptConfigType, OptMultiConfig
label_desc: Use image node_id 2 for calling the SELayer obj's underlying member method code with example usage: obj.forward(x) and returns: unknown