2016-12-01 16 views
5

Próbuję uzyskać wszystkie zmienne w zakresie zmiennym, jak wyjaśniono here. Jednak linia tf.get_collection(tf.GraphKeys.VARIABLES, scope='my_scope') zwraca pustą listę, mimo że istnieją zmienne w tym zakresie.Tensorflow: tf.get_collection Nie zwracające zmienne w zakresie

Oto niektóre przykładowy kod:

import tensorflow as tf 

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

która drukuje [].

Jak uzyskać zmienne zadeklarowane w 'my_scope'?

+0

jako ostrzeżenie dla przyszłych czytelników, należy pamiętać, że 'name_scope' i' zmienna_skość' nie są takie same. –

Odpowiedz

9

Nazwa kolekcji tf.GraphKeys.VARIABLES została uznana za przestarzałą od wersji TensorFlow 0.12. Korzystanie z tf.GraphKeys.GLOBAL_VARIABLES da oczekiwany wynik:

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

Niektóre wiadomości o wycofaniu podczas pracy byłyby przyjemne:) – Bily

+0

dla mnie, który nadal nie działa. Czy muszę gdzieś przekazać wykres lub coś w tym stylu? –

+0

Próbowałem bezpośrednio użyć obiektu wykresu i nie działało: 'graph.get_collection (name = 'nazwa_zagonu')'. Każdy pomysł, co jest nie tak? –

Powiązane problemy