我试图根据执行情况将training
中的tf.layers.dropout
参数设置为true / false。下面是相同的鳕鱼
Train=tf.placeholder(tf.bool,shape=())
sess.run(accuracy,feed_dict={X:X_inp,Y:Y_inp,Train: False })
但是当我运行代码时会出现以下错误。
InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder' with dtype bool
[[Node: Placeholder = Placeholder[dtype=DT_BOOL, shape=[], _device="/job:localhost/replica:0/task:0/gpu:0"]()]]
试图谷歌问题,但无法得到任何帮助。
答案 0 :(得分:1)
我在Tensorflow中已知有一段时间的已知错误,请参阅this issue。我怀疑你正在运行一个过时的版本。尝试更新。
或者,您可以尝试在此版本中修复它。问题是布尔张量未正确初始化。因此,在运行常规初始化程序时,需要使用值初始化它。在您的代码中的某处,我想运行tf.global_variables_initializer()
。一般来说,它是以这样的方式完成的:
init = tf.global_variables_initializer()
sess.run( init )
在该行中,插入像{ Train : True }
这样的sess.run(init, { Train: True } )
来强制初始化布尔张量,它也应该修复它。 (引用该问题的想法,尚未对其进行测试。)
这应该只在图表设置之后但在开始运行训练或推理之前完成一次。