# He Normal¶

class HeNormal(RandomInitializer)

He normal initializer.

Reference: [HE-2015]

It draws samples from a truncated normal distribution centered on 0 with

• Real case: stddev = sqrt(2 / fan_in)
• Complex case: real part stddev = complex part stddev = 1 / sqrt(fan_in)

where fan_in is the number of input units in the weight tensor.

Standalone usage:

import cvnn
initializer = cvnn.initializers.HeNormal()
values = initializer(shape=(2, 2))                  # Returns a complex He Normal tensor of shape (2, 2)


Usage in a cvnn layer:

import cvnn
initializer = cvnn.initializers.HeNormal()
layer = cvnn.layers.Dense(input_size=23, output_size=45, weight_initializer=initializer)

__call__(self, shape, dtype=tf.dtypes.complex64)
Returns a real-valued tensor object initialized as specified by the initializer.
The complex dtype input will only be used to know the limits to be used. This result must be used for the real and imaginary part separately.
Parameters: shape – Shape of the tensor. dtype – Optinal dtype of the tensor. Either floating or complex. ex: tf.complex64 or tf.float32
 [HE-2015] He, Kaiming, et al. “Delving deep into rectifiers: Surpassing human-level performance on imagenet classification.” Proceedings of the IEEE international conference on computer vision. 2015.