tf.get_variable
を使用して変数を作成したいので、numpyの配列で初期化する必要があります。効率的に初期値をget_variableに渡す方法
私が知る限り、変数を作成するには、tf.Variable
とtf.get_variable
という2つの方法があります。 tf.Variable
で作成された変数に簡単に初期値を渡すことができます。しかし、tf.get_variable
によって作成されたものに対して同じことをする直接的な方法はないようです。私が今やっている何を
は、まずtf.convert_to_tensor
を使用してnumpyの配列を持つテンソルを作成し、tf.get_variable
にinitializer
として、このテンソルを渡すことです。しかし、これは決して効率的とは思えません。なぜなら、私は初期値として本当に大きな配列を持っているから、この大きな配列をグラフに2回格納しなければならないからです。
したがって、もっと効率的なやり方があるのだろうか?上記の効率問題を回避する唯一の方法はVariable
ですか?
'tf.constant_initializer()を使ってみましたか? ([doc](https://www.tensorflow.org/versions/r0.8/api_docs/python/state_ops.html#constant_initializer)) これで、numpy配列を引数として渡して、それをTensorにコピーすることができます。 –
それを知らなかった、ありがとう。しかしそれは変です。 'tf.constant_initializer'の文書では、引数" value:Pythonスカラー。初期化された変数のすべての要素はこの値に設定されます "と書かれています。しかし、実際にスカラーの代わりに配列の数を渡すと機能します。理由を知っていますか? –
いいえドキュメントの誤植だと思います。 –