8
如何在tensorflow中執行以下操作?處理張量流中的矩陣元素
mat = [4,2,6,2,3] #
mat[2] = 0 # simple zero the 3rd element
我不能用括號[],因爲它僅適用於常量,而不是 變量。我不能使用切片函數,因爲它會返回一個張量,而您不能指定張量。
import tensorflow as tf
sess = tf.Session()
var1 = tf.Variable(initial_value=[2, 5, -4, 0])
assignZerosOP = (var1[2] = 0) # < ------ This is what I want to do
sess.run(tf.initialize_all_variables())
print sess.run(var1)
sess.run(assignZerosOP)
print sess.run(var1)
將打印
[2, 5, -4, 0]
[2, 5, 0, 0])
非常感謝,這是肯定的幫助,我可以工作,但它會有點梳理。如果我真的需要改變張量?有沒有辦法做到這一點? 我想要實現網絡可視化,我需要傳播一個圖像到一個激活層,除了一個隨機的一個激活,然後將其傳播回來。 – Shagas
張量是不可變的。一般來說,如果你想保存和改變狀態,你可以將它存儲在一個你可以*變異的變量中。但除此之外,您只需創建一個從原始派生的張量並使用它。在你描述的情況下,這可能是方法。 – dga
感謝您的回答。正如你所建議的那樣,我用原始的張量來解決問題。 – Shagas