2016-06-09 14 views
1

我在TensorFlow設定的變量,說x1, x2,..., x9
我想要的變量數據移位以這樣的方式x(i+1)轉移到x(i)並最終x1是丟失和x9是一樣的。我試過的是創建一個使用tf.assign()轉移操作的字典,雖然它可行,但速度很慢。轉移在TensorFlow變量數據數組元素在一個整潔的方式

我想要做的一種方法是製作一個Variable的陣列,然後使用tf.gather()tf.scatter_update()來移入陣列本身,但由於需要大量操作,它將再次變得一團糟。

我想知道在TensorFlow中是否有一個很好的做法。 我在想的另一種方法是重命名我認爲不可能的變量。

初始代碼:

#some tf.Variables are defined from n1 to n9 and assigned some values. 
    k={} 
    for i in range(1,10):    
     k[i]=tf.assign(n[i],n[i+1]) 
    tf.initialize_all_variables().run() 
    for j in range(1,10): 
     sess.run(k[j]) 
+1

請發佈您需要幫助的代碼。它使得它更容易幫助你... – Dave

回答

1

你有沒有想過你重寫代碼作爲切片的一系列操作?一般而言,如果您可以表達您需要對不可變對象執行一系列操作而不是更改變量,則TensorFlow的工作效果最佳。你會做一些像tf.slice(n0, [1], [-1])這樣的操作來拉出重複的序列。

相關問題