Was ist der standardmäßige Variableninitialisierer in Tensorflow?

8

Was ist die Standardmethode der Variableninitialisierung, die verwendet wird, wenn tf.get_variable() ohne Angabe des Initialisierers aufgerufen wird? Die Docs sagt nur "None".

    
luongminh97 20.05.2016, 15:04
quelle

1 Antwort

9

In der Dokumentation :

  

Wenn der Initialisierer None (der Standardwert) ist, wird der Standardinitialisierer verwendet, der im Variablenbereich übergeben wurde. Wenn das auch None ist, wird ein glorot_uniform_initializer verwendet.

Die Funktion glorot_uniform_initializer initialisiert Werte von a gleichmäßige Verteilung.

Diese Funktion ist dokumentiert als:

  

Der Glorot-Uniform-Initialisierer, auch Xavier-Uniform-Initialisierer genannt.

     

Er zeichnet Proben aus einer gleichmäßigen Verteilung innerhalb von [-limit, limit],
  wo limit ist sqrt(6 / (fan_in + fan_out))
  wobei fan_in die Anzahl der Eingabeeinheiten im Gewichtstensor ist   und fan_out ist die Anzahl der Ausgabeeinheiten im Gewichtstensor.

     

Referenz: Ссылка

    
kennytm 20.05.2016, 15:23
quelle