Keras LSTM 模型
Keras LSTM model
我找不到关于如何构建数据以用于 keras LSTM 的实践教程。
数据
x_train = 7300 行,其中每个向量的长度为 64。
y_train = 7300 项的数组 0 或 1(class)。
型号
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)])
我的问题很简单,为什么这行不通?为什么不像给出一个二维向量数组和相似长度的 y 值一样简单。
Keras LSTM 期望输入形状 [batch_size, timesteps, features]
。您的数据的形状为 [batch_size, features]
.
要添加 timestep
维度(其中时间步数为 1),请执行以下操作:
x_train = np.expand_dims(x_train, axis=1)
我找不到关于如何构建数据以用于 keras LSTM 的实践教程。
数据
x_train = 7300 行,其中每个向量的长度为 64。
y_train = 7300 项的数组 0 或 1(class)。
型号
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)])
我的问题很简单,为什么这行不通?为什么不像给出一个二维向量数组和相似长度的 y 值一样简单。
Keras LSTM 期望输入形状 [batch_size, timesteps, features]
。您的数据的形状为 [batch_size, features]
.
要添加 timestep
维度(其中时间步数为 1),请执行以下操作:
x_train = np.expand_dims(x_train, axis=1)