检查输入时出错:预期density_1_input具有形状(70,),但数组形状为(1,)

时间:2019-06-06 16:55:29

标签: python numpy keras deep-learning

我尝试使用已经训练有素的神经元网络,但总是偶然发现此错误。我的输入层的大小为70个数字元素,因此“ last.cvs”中的输入数据xData具有相同的大小:

[0.36 0.44 0.7  0.82 0.72 0.06 0.08 0.32 0.84 0.62 0.08 0.42 0.12 0.08
 0.6  0.48 0.52 0.08 0.28 0.2  0.18 0.4  0.68 0.98 0.32 0.06 0.2  0.04
 0.76 0.62 0.48 0.8  0.38 0.2  0.14 0.5  0.06 0.64 0.2  0.86 0.06 0.02
 0.98 0.7  0.12 0.78 0.24 0.18 0.08 0.04 0.18 0.72 0.94 0.46 0.18 0.04
 0.48 0.7  0.56 0.96 0.5  0.16 0.08 0.12 0.9  0.94 0.76 0.58 0.04 0.06]

我的程序本身如下所示:

import keras
from keras.models import load_model
from numpy import loadtxt, savetxt, reshape
import datetime as dt
import numpy as np
import os

xData= loadtxt('../input/last.csv')
print(xData)

model = load_model("model.dat")
prediction=model.predict(np.array(xData))
print(prediction);

那么...知道为什么输入大小是1而不是70的任何主意吗?

1 个答案:

答案 0 :(得分:1)

在喀拉拉邦,输入到模型中的张量的第一维必须是批量大小:(batch_size, dim),因此在这里,您的模型知道您正在喂入70个大小为1的元素。

尝试获取输入矢量并扩大其暗淡,像这样:

xData = np.expand_dims(xData, 0)

然后将其输入到您的网络中