2016-12-01 2 views
5

hereのように、変数スコープ内のすべての変数を取得しようとしています。ただし、そのスコープに変数があるにもかかわらず、tf.get_collection(tf.GraphKeys.VARIABLES, scope='my_scope')行は空のリストを返しています。Tensorflow:スコープの変数を返さないtf.get_collection

ここではいくつかのサンプルコードです:

import tensorflow as tf 

with tf.variable_scope('my_scope'): 
    a = tf.Variable(0) 
print tf.get_collection(tf.GraphKeys.VARIABLES, scope='my_scope') 

[]を印刷します。

'my_scope'で宣言されている変数を取得するにはどうすればよいですか?

+0

tf.GraphKeys.GLOBAL_VARIABLESを使用すると、期待どおりの結果が得られます。 –

答えて

9

tf.GraphKeys.VARIABLESコレクション名はTensorFlow 0.12以降廃止予定です。 `name_scope`と` variable_scope`が同じではないことに注意して、将来の読者への警告として

with tf.variable_scope('my_scope'): 
    a = tf.Variable(0) 
print tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, scope='my_scope') 
# ==> '[<tensorflow.python.ops.variables.Variable object at 0x7f33f67ebbd0>]' 
+0

実行中に廃止予定のメッセージが表示されます:) – Bily

+0

まだ動作していません。グラフをどこかに渡す必要がありますか? –

+0

グラフオブジェクト自体を直接使用しようとしましたが、動作しませんでした。 'graph.get_collection(name = 'scope_name')'。どんなアイデアが間違っていますか? –

関連する問題