如何使用2D形状使Keras工作?

时间:2018-01-11 16:06:26

标签: python keras

我正在使用顺序神经网络,也许这就是问题所在。请查看以下代码 -

type(train)
pandas.core.frame.DataFrame

train.shape
(933, 38)

features = df1.columns[:37]
x = np.array(train[features])
y = np.array(train[37])

x.shape
(933L, 37L)

y.shape
(933L,)

model = Sequential()
model.add(Dense(32, input_shape=(933, 38)))
model.add(Dense(10, activation='softmax'))
model.compile(optimizer='rmsprop',
              loss='categorical_crossentropy',
              metrics=['accuracy'],
             sample_weight_mode="temporal")

model.fit(x=x, y=y, batch_size=50, verbose=1)

然后我收到以下错误 -

ValueError: Error when checking model input: expected dense_21_input to have 3 dimensions, but got array with shape (933L, 37L)

1 个答案:

答案 0 :(得分:3)

样本维度(第一个)不属于input_shape,因此您可以通过将此行更改为:

来使其工作
model.add(Dense(32, input_shape=(38, )))

这告诉Keras在训练时确定38个维度的输入,样本数量可变。

(请查看评论以获得进一步的帮助)