Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the default variable initializer in Tensorflow?

What is the default method of variable initialization used when tf.get_variable() is called without any specification for the initializer? The Docs just says 'None'.

like image 722
luongminh97 Avatar asked May 20 '16 15:05

luongminh97


1 Answers

From the documentation:

If initializer is None (the default), the default initializer passed in the variable scope will be used. If that one is None too, a glorot_uniform_initializer will be used.

The glorot_uniform_initializer function initializes values from a uniform distribution.

This function is documented as:

The Glorot uniform initializer, also called Xavier uniform initializer.

It draws samples from a uniform distribution within [-limit, limit],
where limit is sqrt(6 / (fan_in + fan_out))
where fan_in is the number of input units in the weight tensor
and fan_out is the number of output units in the weight tensor.

Reference: http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf

like image 52
kennytm Avatar answered Sep 21 '22 02:09

kennytm