【发布时间】:2019-02-04 15:32:42
【问题描述】:
您好,我一直在尝试为二十一点制作 RL 程序。 我用 Q-network 制作了所有代码,它可以工作。 但是我使用 DQN 的新代码有一个关于形状的错误。
X=tf.placeholder(shape=[1,state_number],dtype=tf.float32)
W1=tf.Variable(tf.random_uniform([state_number,128],0,0.01))#network for update
layer1=tf.nn.tanh(tf.matmul(X,W1))
这是一个图表,运行代码如下
Qs=sess.run(Qpred,feed_dict={X:one_hot(s)}
我通过这段代码检查了 one_hot(s) 的形状,结果如下
print(np.shape(one_hot(s)))
(1, 600)
错误码是这样的。
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed
a value for placeholder tensor 'Placeholder' with dtype float and shape [1,600]
[[Node: Placeholder = Placeholder[dtype=DT_FLOAT, shape=[1,600], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
在 Q-network 代码中,它可以工作。不知道为什么这次它突然不起作用了。 请帮帮我。谢谢
【问题讨论】:
-
1.
Qpred是什么? 2.您在哪里提供state_number? -
你确定
one_hot的输出是一个浮点数吗?可能是类型问题。 -
这还有问题吗?
标签: python tensorflow deep-learning reinforcement-learning