(編輯原始問題) 在Tensorflow中,我們經常需要定義包含變量的函數,以在中間的網絡層上實現。有沒有評估此例如輸出的方式:Tensorflow中的函數
import tensorflow as tf
def Mult(mult):
A = tf.get_variable([2,2], initializer = tf.zeros_initializer)
B = tf.get_variable([2,2], initializer = tf.zeros_initializer)
return mult*tf.matmul(A,B)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# Here we alter the variables A,B in some fashion e.g. in an optimisation algorithm
print(Mult(A,B))
產生一個錯誤
爲什麼它產生一個錯誤,如果行:結果= ......,和sess.run(TF .....切換? – sbb
'sess.run(tf.global_variables_initializer())'初始化圖形中的所有全局變量。如果在調用'Mult()'之前調用它,圖形中沒有變量,而您最終得到兩個單位變量('A'和'B')。 – GeertH