从this post开始,我知道Tensor.eval()
与tf.get_default_session().run(t)
相等,但当我评估张量时,我遇到了错误。如果省略标记为1的行,则下面的代码会发出错误,为什么?然后我尝试调用W.initializer
的{{1}}方法来替换eval()
,但run()
没有W.initializer
方法和eval()
(作为操作)有一个,为什么?
tf.constant
答案 0 :(得分:2)
1。如果行
,下面的代码会发出错误 sess.run(W.initializer)
省略
答案:正如错误所说
FailedPreconditionError: Attempting to use uninitialized value
您正在尝试评估未初始化的变量。因此,您需要初始化。有比打电话更好的方法
sess.run(W.initializer)
无论如何。
2. 然后我尝试调用W.initializer's eval()
方法来替换run()
,但W.initializer
没有eval()
方法而{{1} (作为一个操作)有一个,为什么?
答案:tf.constant
是操作,张量但不是初始化器的函数。 eval()
没有initializer
函数。
你应该做什么?
您应该使用eval()
初始化变量。
tf.global_variables_initializer()