code: def calc_normal_std_he_backward(inmaps, outmaps, kernel=(1, 1)):
      r
      return np.sqrt(2. / (np.prod(kernel) * outmaps))
docs: r"""Calculates the standard deviation of He et al. (backward case).
  
      .. math::
          \sigma = \sqrt{\frac{2}{MK}}
  
      Args:
          inmaps (int): Map size of an input Variable, :math:`N`.
          outmaps (int): Map size of an output Variable, :math:`M`.
          kernel (:obj:`tuple` of :obj:`int`): Convolution kernel spatial shape.
              In above definition, :math:`K` is the product of shape dimensions.
              In Affine, the default value should be used.
  
      Example:
  
      .. code-block:: python
  
          import nnabla as nn
          import nnabla.parametric_functions as PF
          import nnabla.initializer as I
  
          x = nn.Variable([60,1,28,28])
          s = I.calc_normal_std_he_backward(x.shape[1],64)
          w = I.NormalInitializer(s)
          b = I.ConstantInitializer(0)
          h = PF.convolution(x, 64, [3, 3], w_init=w, b_init=b, pad=[1, 1], name='conv')
  
      References:
          * `He, et al. Delving Deep into Rectifiers: Surpassing Human-Level
            Performance on ImageNet Classification.
            <https://arxiv.org/abs/1502.01852>`_