【发布时间】:2018-10-24 10:56:09
【问题描述】:
我正在尝试使用学习到的 .h5 文件进行预测。 学习模型如下。
model =Sequential()
model.add(Dense(12, input_dim=3, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(4, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
我把输入的形式写成如下。
x = np.array([[band1_input[input_cols_loop][input_rows_loop]],[band2_input[input_cols_loop][input_rows_loop]],[band3_input[input_cols_loop][input_rows_loop]]])
prediction_prob = model.predict(x)
我以为形状是正确的,但出现了以下错误。
ValueError: 检查时出错:预期dense_1_input 的形状为(3,),但得到的数组的形状为(1,)
x的形状明显是(3,1),但是上面的错误并没有消失(数据来自(value 1, value 2, value 3, class)形式的csv文件)。
我该如何解决这个问题?
【问题讨论】:
-
第一层应该是
model.add(Dense(12, input_shape=(3,1), activation='relu')) -
但是为什么要把输入读成 (1,) 呢?
标签: python numpy machine-learning neural-network keras