web-dev-qa-db-fra.com

Qu'est-ce que l'initialiseur de variables par défaut dans Tensorflow?

Quelle est la méthode par défaut d'initialisation des variables utilisée lorsque tf.get_variable() est appelée sans aucune spécification pour l'initialiseur? Les Docs disent simplement "Aucun".

14
luongminh97

D'après la documentation :

Si l'initialiseur est None (par défaut), l'initialiseur par défaut passé dans la portée de la variable sera utilisé. Si celui-ci est également None, un glorot_uniform_initializer Sera utilisé.

La fonction glorot_uniform_initializer initialise les valeurs à partir d'une distribution uniforme.

Cette fonction est documentée comme:

L'initialiseur uniforme Glorot, également appelé initialiseur uniforme Xavier.

Il tire des échantillons d'une distribution uniforme dans [-limit, limit],
limit est sqrt(6 / (fan_in + fan_out))
fan_in est le nombre d'unités d'entrée dans le tenseur de poids
et fan_out est le nombre d'unités de sortie dans le tenseur de poids.

Référence: http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf

13
kennytm