class_docstr: Normalized Conv2d Layer.
  
  Args:
      tempeature (float, optional): Tempeature term. Defaults to 20.
      power (int, optional): Power term. Defaults to 1.0.
      eps (float, optional): The minimal value of divisor to
           keep numerical stability. Defaults to 1e-6.
      norm_over_kernel (bool, optional): Normalize over kernel.
           Defaults to False.
class_docstr_tok: ["Normalized","Conv2d","Layer",".","Args",":","tempeature","(","float",",","optional",")",":","Tempeature","term",".","Defaults","to","20.","power","(","int",",","optional",")",":","Power","term",".","Defaults","to","1.0.","eps","(","float",",","optional",")",":","The","minimal","value","of","divisor","to","keep","numerical","stability",".","Defaults","to","1e-6",".","norm_over_kernel","(","bool",",","optional",")",":","Normalize","over","kernel",".","Defaults","to","False","."]
docstr: Forward function for `NormedConv2d`.
docstr_tok: ["Forward","function","for","`","NormedConv2d","`","."]
code: def forward(self, x: Tensor) -> Tensor:
      """Forward function for `NormedConv2d`."""
      if not self.norm_over_kernel:
          weight_ = self.weight / (
              self.weight.norm(dim=1, keepdim=True).pow(self.power)
              + self.eps
          )
      else:
          weight_ = self.weight / (
              self.weight.view(self.weight.size(0), -1)
              .norm(dim=1, keepdim=True)
              .pow(self.power)[..., None, None]
              + self.eps
          )
      x_ = x / (x.norm(dim=1, keepdim=True).pow(self.power) + self.eps)
      x_ = x_ * self.tempearture
  
      if hasattr(self, "conv2d_forward"):
          x_ = self.conv2d_forward(x_, weight_)
      else:
          if digit_version(torch.__version__) >= digit_version("1.8"):
              x_ = self._conv_forward(x_, weight_, self.bias)
          else:
              x_ = self._conv_forward(x_, weight_)
      return x_
  
file_path: mmdetection/mmdet/models/layers/normed_predictor.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from mmengine.utils import digit_version
  from torch import Tensor
  from mmdet.registry import MODELS
label_desc: Use image node_id 2 for calling the NormedConv2d obj's underlying member method code with example usage: obj.forward(x) and returns: x_