gpt4 book ai didi

python - 如何在 keras 神经网络中进行简单的数据记忆

转载 作者:行者123 更新时间:2023-12-01 09:06:51 28 4
gpt4 key购买 nike

我正在尝试掌握 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:请提供单个数组或数组列表作为模型输入。您通过了: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:] 添加到我的 LSTM 层,这不会引发任何错误,但准确性并不比盲目猜测更好

这似乎是一件微不足道的事情,但我显然错过了一些东西。

最佳答案

使用keras.layers.LSTM(10),您需要包含输入数据形状:keras.layers.LSTM(10, input_shape = (input.shape[1],输入.shape[2]))

Keras 期望输入数据形状为 [实例、时间、预测变量],并且由于您没有任何其他预测变量,因此您可能需要将输入数据 reshape 为 input.reshape(input.shape[0 ], input.shape[1], 1).

Keras 将推断下一层的数据形状,但第一层需要定义输入形状。

关于python - 如何在 keras 神经网络中进行简单的数据记忆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51972364/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com