(编辑原始问题) 在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