【问题标题】:Tensorflow gives "ValueError: Error when checking input" [closed]Tensorflow 给出“ValueError:检查输入时出错”[关闭]
【发布时间】:2021-08-21 23:53:28
【问题描述】:

我正在尝试使用深度 Q 网络代理解决 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,)

当我在调用predict(state) 之前仅1 行打印传入state 数组的形状时,它确认state 的形状是(33600,)
在显示此错误之前,模型能够在训练循环中 predict_on_batch() 使用完全相同的数据(但经过批处理)

有人知道如何解决这个问题吗?如果我遗漏任何内容,我很乐意提供更多详细信息和信息

版本:
Python 3.8.7
TensorFlow 2.4.1
健身房 0.18.0

【问题讨论】:

  • 您缺少样本维度,一个样本应该是 (1, 33600)。这里已经回答了数百次。
  • 你说得对,我很抱歉。

标签: python tensorflow deep-learning reinforcement-learning


【解决方案1】:

正如史努比博士所说,这是一个简单的解决方案

只需要np.reshape(state, (1, 33600))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 2020-07-03
    • 2018-12-11
    相关资源
    最近更新 更多