2016-05-20 68 views
2

我搜索了tensorflow的API文檔中的所有資源,但找不到任何提示。 它使用get_variable()的時候,似乎,我可以把一個特定的名稱爲收藏項,如:在張量流中,你能定義你自己的收藏名嗎?

x=tf.get_variable('x',[2,2],collections='my_scope') 

,但只得到空單做時:

tf.get_collection('my_scope') 

回答

6

收集小號需要的list集合名稱。

>>x = tf.get_variable('x',[2,2], collections=['my_scope']) 
>>tf.get_collection('my_scope') 

[<tensorflow.python.ops.variables.Variable at 0x10d8e1590>] 

小心,如果你使用它,一些其他操作可能會有副作用。 像tf.all_variables()將無法​​正常工作,因此tf.initialize_all_variables()也不會看到您的變量。解決這個問題的一種方法是指定默認集合。

>>x = tf.get_variable('x',[2,2], collections=['my_scope', tf.GraphKeys.VARIABLES]) 

但事情開始變得單調乏味。

1

其實,你可以使用tf.get_collection創建一個新的集合:

tf.get_collection('my_collection') 
var = tf.get_variable('var', [2, 2], initializer=tf.constant_initializer()) 
tf.add_to_collection('my_collection', var) 
相關問題