我在试着掌握keras的窍门,我在试着让基本的时间序列预测工作。我的输入是0到10之间的随机整数列表,例如:
[1,3,2,4,7,5,9,0]
我的标签与输入相同,但延迟如下:
[X,X,1,3,2,4,7,5]
我试着让我的模型学习记忆过去数据点的关系。
我的代码是:
labels = keras.utils.to_categorical(output, num_keys)
model = keras.Sequential([
keras.layers.LSTM(10),
keras.layers.Dense(10, activation='relu'),
keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer=tf.train.AdamOptimizer(),
loss=tf.keras.losses.categorical_crossentropy,
metrics=['accuracy'])
model.fit(input, labels, epochs=30, verbose=2,shuffle=False)
ValueError: Please provide as model inputs either a single array or a list of arrays. You passed: x=[7, 6,...
我尝试用以下方法重新格式化输入:
input=numpy.array([[i,input[i]]for i in range(len(input))])
input=numpy.reshape(input,input.shape+(1,))
加上
input_shape=input.shape[1:]
这似乎是一件微不足道的事情,但我显然遗漏了一些东西。