Keras预测形状不正确?

2024-10-01 11:21:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的Keras,正在尝试测试我刚训练的一个模型。在

我使用Tensorflow后端和Python3。在

然而,我输入的形状和Keras所说的错误形状是完全不同的。我的代码是:

testnote = np.zeros((3,))
testnote[0] = 70
testnote[1] = 70
print(testnote.shape)
pred = model.predict(testnote)
print(pred)

对于testnote的形状,我的一致输出是“(3,)”,然后是预测行的一个错误:“ValueError:检查输入时出错:预期密集的\u 1_输入具有形状(3,),但得到的数组具有形状(1,)”

当我刚刚确认了形状是(3,)时,Keras怎么会把testnote读成having shape(1,)呢?它对“形状”的含义是否使用了某种不同的标准?我试过重塑和添加括号和其他一些东西,但我真的不知道问题是什么。在

对于其他上下文,模型接受一个具有3个标量输入的数组(表示螺距、速度和仪器类),并输出一个具有1025个标量输出的数组。我小心地不使用“维度”这个词,因为我认为这是我感到困惑的地方,而且从技术上讲,两者都只是1维。我确信我的模型有很多问题,我必须在这之后解决。但是,我只想让这个预测函数正常工作,这样我就可以理解我的输出是什么样子的。在

提前谢谢你的帮助。在


Tags: 代码模型tensorflow错误npzeros数组python3
1条回答
网友
1楼 · 发布于 2024-10-01 11:21:29

Keras Model隐式地期望您的数据(作为np array传递)具有批处理大小的维度。目前,您的模型将testnote解释为形状1的3个示例。尝试将批处理维度添加到“testnote”中,如下所示:

testnote = testnote.reshape(1,-1)

这将把testnote重塑为形状(1,3),以便显式地将批大小定义为1。在

相关问题 更多 >