如何在Keras中正确指定LSTM模型的输入形状

时间:2017-08-15 19:43:26

标签: python numpy machine-learning neural-network keras

我们假设我们有一个包含整数的 Numpy 数组。

arr = [1, 2, 3]

我们有一个Keras模型。

model.add(LSTM(128, input_shape=(arr)))

如何正确指定输入形状?

1 个答案:

答案 0 :(得分:0)

LSTM图层的输入数据需要是三维的,形状为(num_samples, timesteps, num_features)

您为LSTM图层指定的input_shape形式为(timesteps, num_features)input_shape并不关心样本数量,只关注每个样本的形状。

如果我们假设timesteps=1,您就会想要做这样的事情。

arr = np.array([1, 2, 3])
arr.shape  # (3,)
arr = arr.reshape(arr.shape[0], 1, 1)
arr.shape  # (3, 1, 1)

model.add(LSTM(128, input_shape=(arr.shape[1], arr.shape[2])))

将LSTM与timesteps=1一起使用并没有多大意义,但希望你明白这一点。