python - Tensorflow 给出“ValueError:检查输入时出错”
问题描述
我正在尝试使用 Deep Q-Network 代理解决 OpenAI 健身房 Breakout-V0。
每次当我的代理到达以下地步时:
- replay_memory 已填满,可以开始训练
- 首次达到 copy_target_network 间隔
- target_network 第一次预测
Tensorflow 抛出以下错误:
Error when checking input: expected dense_3_input to have shape (33600,) but got array with shape (1,)
state
当我在调用之前仅 1 行打印传入数组的形状时predict(state)
,它确认的形状state
是(33600,)
在显示此错误之前,模型能够predict_on_batch()
在训练循环中使用完全相同的数据(但已批处理)
有谁知道如何解决这个问题?如果我遗漏任何信息,我很乐意提供更多详细信息和信息
版本:
Python 3.8.7
TensorFlow 2.4.1
Gym 0.18.0
解决方案
正如史努比博士所说,这是一个简单的解决方案
只好做np.reshape(state, (1, 33600))
推荐阅读
- reactjs - 为什么我的动态标题在下一个 js 中不起作用
- javascript - 我试图在没有 .max()/.min() 的情况下获得最大和最小数字
- python - 选中所有复选框值,使用 AJAX 逐行显示:DJANGO
- javascript - for of 循环如何处理在 javascript 中不可迭代的流
- java - 确定从切线到椭圆的反射向量
- php - Hash:make 每次都返回不同的结果?
- python - 为什么在这种情况下尝试除了不起作用?
- rust - 如何通过另一个特征扩展 IntoIterator?
- android - 在前台服务中创建是/否弹出窗口 - Android
- python - 登录系统不工作!无法确认登录信息