tf.global_variables_initializer
もう少し詳しく何が起こっているのか理解したい。ここでは簡潔な説明が与えられている:
グローバル変数を初期化する Op を返します。
しかし、それはあまり役に立ちません。グラフを初期化するには op が必要であることはわかっていますが、それは実際には何を意味するのでしょうか? これはグラフがコンパイルされるステップですか?
ベストアンサー1
より詳細な説明はここ。
セッションで実行された後にのみ、tf.global_variables_initializer()
変数は宣言時に保持するように指定した値 ( tf.Variable(tf.zeros(...))
、、tf.Variable(tf.random_normal(...))
...) を保持します。
TF ドキュメントより:
tf.Variable() を呼び出すと、グラフにいくつかの操作が追加されます。
- 変数値を保持する変数 op。
- 変数を初期値に設定する初期化オペレーション。これは実際には tf.assign オペレーションです。
- 例のバイアス変数のゼロ演算など、初期値に対する演算もグラフに追加されます。
さらに:
モデル内の他のオペレーションを実行する前に、変数初期化子を明示的に実行する必要があります。これを行う最も簡単な方法は、すべての変数初期化子を実行するオペレーションを追加し、モデルを使用する前にそのオペレーションを実行することです。