简体   繁体   中英

Keras LSTM model

I cannot find a hands on tutorial on how to structure the data for use with keras LSTM.

Data

x_train = 7300 rows where each vector is length 64.

y_train = array of 7300 items either 0's or 1's (the class).

Model

model = Sequential()
model.add(LSTM(200, dropout=0.2, recurrent_dropout=0.2, input_shape = (1, 64)))
model.add(Dense(2, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

model.fit(x_train, y_train,
               epochs = 5,
               batch_size = 32,
               validation_split = 0.1,
               callbacks=[EarlyStopping(monitor='val_loss', patience=3, min_delta=0.0001)])

My question is simply, why doesn't this work? Why isn't is as simple as giving an 2d array of vectors and similar length y values to fit.

Keras LSTM expects input of shape [batch_size, timesteps, features] . Your data is of shape [batch_size, features] .

To add the timestep dimension (where number of timesteps is 1), do the following:

x_train = np.expand_dims(x_train, axis=1)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM