我有一个x_test数据:
x_test.shape
Out[11]: (13096, 30)
x_test.size
Out[16]: 392880
当我启动预测时,它会返回错误:
ValueError:检查输入时出错:预期lstm_1_input具有3个维,但数组的形状为(13096,30)
我的代码非常简单,我正在尝试运行预测函数:
test_df= pd.read_csv("Path_data")
model = load_model.("path_model")
Xnew = np.array(test_df)
# make a prediction
predictions = model.predict_classes(Xnew)
模型摘要:
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
lstm_1 (LSTM) (None, 50, 100) 50400
_________________________________________________________________
dropout_1 (Dropout) (None, 50, 100) 0
_________________________________________________________________
lstm_2 (LSTM) (None, 50) 30200
_________________________________________________________________
dropout_2 (Dropout) (None, 50) 0
_________________________________________________________________
dense_1 (Dense) (None, 1) 51
=================================================================
Total params: 80,651
Trainable params: 80,651
Non-trainable params: 0
有人可以告诉我如何解决此问题? 谢谢
答案 0 :(得分:1)
您的变量x_test应该具有LSTM层所需的输入尺寸,该层是3D张量,形状为[批处理,时间步长,特征]
答案 1 :(得分:1)
这是尺寸不匹配,模型期望将自己的数据记录记录为数组数组,即,如果您有图像i,则期望np.array([i])
,请尝试:
x_train = np.array([ [i] for i in x_train])
这会将尺寸增加1