Google I/O returns May 18-20! Reserve space and build your schedule Register now


View source on GitHub

He normal initializer.

Initializers allow you to pre-specify an initialization strategy, encoded in the Initializer object, without knowing the shape and dtype of the variable being initialized.

It draws samples from a truncated normal distribution centered on 0 with stddev = sqrt(2 / fan_in) where fan_in is the number of input units in the weight tensor.


def make_variables(k, initializer):
  return (tf.Variable(initializer(shape=[k, k], dtype=tf.float32)),
          tf.Variable(initializer(shape=[k, k, k], dtype=tf.float32)))
v1, v2 = make_variables(3, tf.initializers.he_normal())
<tf.Variable ... shape=(3, 3) ...
<tf.Variable ... shape=(3, 3, 3) ...
make_variables(4, tf.initializers.RandomNormal())
(<tf.Variable ... shape=(4, 4) dtype=float32...
 <tf.Variable ... shape=(4, 4, 4) dtype=float32...

seed A Python integer. Used to seed the random generator.

A callable Initializer with shape and dtype arguments which generates a tensor.


He et al., 2015 (pdf)