2017-04-26 9 views
0

ネットワークでLSTMCellユニットを使用しており、このユニットの重量がどのように初期化されているかわかりません。TensorFlowでLSTMCellユニットの重量を初期化する方法

メソッドからメソッドへダイブしようとしましたが、このコードがどのように機能するかは100%わかりません。

LSTMCellソースコードでは、次の行が重みを初期化するようです。 contrib/rnn/python/ops/core_rnn_cell_impl.pyから:

[...] 
    scope = vs.get_variable_scope() 
    with vs.variable_scope(scope, initializer=self._initializer) as unit_scope: 
     [...] 

方法variable_scopeとどのようにスコープが定義されても、私を混乱させる、と私はこのロジックがどのように動作するかわかりませんよ。 python/ops/variable_scope.pyから

、今度はついにget_variableを呼び出すように見えるVariableScopeのインスタンスを返すように見える方法_pure_variable_scopeを呼び出すように見えるvariable_scope方法。次のようにget_variableためdocstring読み取り:

イニシャライザはNone(デフォルト)の場合、変数のスコープに を通過したデフォルトの初期化が使用されます。それがNoneでもある場合は、 glorot_uniform_initializerが使用されます。初期化子は テンソルにもなります。この場合、変数はこの値に初期化され、 の形になります。

初期化子を指定しない限り、LSTMCellはglorot_uniform_initializerで初期化されますか?

答えて

関連する問題