class_docstr: Initialize module parameters with the values according to the method
  described in `Delving deep into rectifiers: Surpassing human-level
  performance on ImageNet classification - He, K. et al. (2015).
  <https://www.cv-foundation.org/openaccess/content_iccv_2015/
  papers/He_Delving_Deep_into_ICCV_2015_paper.pdf>`_
  
  Args:
      a (int | float): the negative slope of the rectifier used after this
          layer (only used with ``'leaky_relu'``). Defaults to 0.
      mode (str):  either ``'fan_in'`` or ``'fan_out'``. Choosing
          ``'fan_in'`` preserves the magnitude of the variance of the weights
          in the forward pass. Choosing ``'fan_out'`` preserves the
          magnitudes in the backwards pass. Defaults to ``'fan_out'``.
      nonlinearity (str): the non-linear function (`nn.functional` name),
          recommended to use only with ``'relu'`` or ``'leaky_relu'`` .
          Defaults to 'relu'.
      bias (int | float): the value to fill the bias. Defaults to 0.
      bias_prob (float, optional): the probability for bias initialization.
          Defaults to None.
      distribution (str): distribution either be ``'normal'`` or
          ``'uniform'``. Defaults to ``'normal'``.
      layer (str | list[str], optional): the layer will be initialized.
          Defaults to None.
class_docstr_tok: ["Initialize","module","parameters","with","the","values","according","to","the","method","described","in","`","Delving","deep","into","rectifiers",":","Surpassing","human-level","performance","on","ImageNet","classification","-","He",",","K.","et","al",".","(","2015",")",".","<","https",":","\/\/www.cv-foundation.org\/openaccess\/content_iccv_2015\/","papers\/He_Delving_Deep_into_ICCV_2015_paper.pdf",">","`","_","Args",":","a","(","int","|","float",")",":","the","negative","slope","of","the","rectifier","used","after","this","layer","(","only","used","with","``","'leaky_relu","'","``",")",".","Defaults","to","0.","mode","(","str",")",":","either","``","'fan_in","'","``","or","``","'fan_out","'","``",".","Choosing","``","'fan_in","'","``","preserves","the","magnitude","of","the","variance","of","the","weights","in","the","forward","pass",".","Choosing","``","'fan_out","'","``","preserves","the","magnitudes","in","the","backwards","pass",".","Defaults","to","``","'fan_out","'","``",".","nonlinearity","(","str",")",":","the","non-linear","function","(","`","nn.functional","`","name",")",",","recommended","to","use","only","with","``","'relu","'","``","or","``","'leaky_relu","'","``",".","Defaults","to","'relu","'",".","bias","(","int","|","float",")",":","the","value","to","fill","the","bias",".","Defaults","to","0.","bias_prob","(","float",",","optional",")",":","the","probability","for","bias","initialization",".","Defaults","to","None",".","distribution","(","str",")",":","distribution","either","be","``","'normal","'","``","or","``","'uniform","'","``",".","Defaults","to","``","'normal","'","``",".","layer","(","str","|","list","[","str","]",",","optional",")",":","the","layer","will","be","initialized",".","Defaults","to","None","."]
code: def __init__(
      self,
      a=0,
      mode="fan_out",
      nonlinearity="relu",
      distribution="normal",
      **kwargs,
  ):
      super().__init__(**kwargs)
      self.a = a
      self.mode = mode
      self.nonlinearity = nonlinearity
      self.distribution = distribution
  
imports: import copy
  import math
  import warnings
  import numpy
  import torch
  import torch.nn
  from torch import Tensor
  from annotator.uniformer.mmcv.utils import Registry, build_from_cfg, get_logger, print_log
label_desc: Use image node_id 1 to create a new KaimingInit object from inherited base classes: BaseInit with example: obj = KaimingInit(a, mode, nonlinearity, distribution)