You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DQN植物浇水决策模型predict输入维度不匹配报错求解

错误原因

你的模型输入层要求3维输入,格式为(样本数, 窗口长度, 特征数),从你定义的网络结构里Flatten(input_shape=(1, 2))可以看出,窗口长度固定为1,特征数固定为2(对应土壤湿度、降水概率两个参数),你之前两次调用传入的数组维度都不符合要求。

解决代码

你只需要把输入数组调整为3维格式即可,同时可以直接基于输出的Q值得到最优动作和置信度:

# 构造输入,调整为(1, 1, 2)的3维格式
input_data = np.expand_dims(np.expand_dims(np.array([30, 30]), axis=0), axis=0)
# 推理得到每个动作对应的Q值
q_values = dqn.model.predict(input_data, verbose=0)[0]
# 最优动作:取Q值最大的索引
best_action = np.argmax(q_values)
# 置信度:最优动作Q值占所有动作Q值总和的比例
confidence = q_values[best_action] / np.sum(q_values)

print(f"最优执行动作: {best_action}")
print(f"置信度: {confidence:.2f}")

你也可以用reshape方法实现同样的维度调整效果:

input_data = np.array([30,30]).reshape(1,1,2)

动作含义对应

和你环境定义的逻辑一致:

  • 0:不浇水
  • 1:浇水3秒
  • 2:浇水4秒
  • 3:浇水5秒
  • 4:浇水6秒

内容的提问来源于stack exchange,提问作者nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:06:03