class_docstr: Channel attention Module.
  
  Args:
      channels (int): The input (and output) channels of the attention layer.
      init_cfg (dict or list[dict], optional): Initialization config dict.
          Defaults to None
class_docstr_tok: ["Channel","attention","Module",".","Args",":","channels","(","int",")",":","The","input","(","and","output",")","channels","of","the","attention","layer",".","init_cfg","(","dict","or","list","[","dict","]",",","optional",")",":","Initialization","config","dict",".","Defaults","to","None"]
docstr: Forward function for ChannelAttention.
docstr_tok: ["Forward","function","for","ChannelAttention","."]
code: def forward(self, x: Tensor) -> Tensor:
      """Forward function for ChannelAttention."""
      with torch.cuda.amp.autocast(enabled=False):
          out = self.global_avgpool(x)
      out = self.fc(out)
      out = self.act(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 ChannelAttention obj's underlying member method code with example usage: obj.forward(x) and returns: unknown