Keras与数组形状不匹配模型.预测()

2024-09-29 22:24:32 发布

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

我有一个简单的稠密NN,有两个用Keras编写的输入值,运行在Tensorflow和Python之上。我已经成功地安装了这个网络,我可以运行评估没有错误。但是,当我想要预测单个样本数据的结果时,由于输入数据的维数的形状不正确,我得到了一个错误。但是,当我打印numpy数组的形状时,它会返回正确的形状:

inputArr = np.array((x[sample][0], x[sample][1]))
print(inputArr)
print(inputArr.shape)
prediction = model.predict(inputArr)

这将产生以下输出:

^{pr2}$

后面是一个错误:

Traceback (most recent call last):
  File ".\train3d.py", line 60, in <module>
    prediction = model.predict(inputArr)
  File "C:\Users\svoja\AppData\Local\Programs\Python\Python35\lib\site-packages\keras\engine\training.py", line 1147, in predict
    x, _, _ = self._standardize_user_data(x)
  File "C:\Users\svoja\AppData\Local\Programs\Python\Python35\lib\site-packages\keras\engine\training.py", line 749, in _standardize_user_data
    exception_prefix='input')
  File "C:\Users\svoja\AppData\Local\Programs\Python\Python35\lib\site-packages\keras\engine\training_utils.py", line 137, in standardize_input_data
    str(data_shape))
ValueError: Error when checking input: expected dense_1_input to have shape (2,) but got array with shape (1,)

从错误消息中可以看到,网络需要一个维数为(2,)的数组,它与我的输入数组的输出完全相同。在

我的问题是,数组到底出了什么问题?在


Tags: inpyinputdata错误line数组users
1条回答
网友
1楼 · 发布于 2024-09-29 22:24:32

{/kery>期望批处理的大小为,其中批处理的大小为。在你的例子中D=2但是你没有矩阵。在

要传递单个数据点,您需要形状(1, 2),它读取1个数据点和2个特征。您可以通过以下方式实现:

inputArr = np.array((x[sample][0], x[sample][1]))
print(inputArr) # [-1, -1]
print(inputArr.shape) # (2,)
inputArr = np.expand_dims(inputArr, 0)
print(inputArr.shape) # (1, 2)

或者更简短的语法形式:

^{pr2}$

其中None添加了一个新维度。在

相关问题 更多 >

    热门问题