python - Keras 输入数据格式

标签 python machine-learning deep-learning keras

我试图将自己的数据结构传递到 Keras 中的 LSTM 层,但模型的训练在早期就失败了。

我的目的是创建一个固定长度的序列并接收相同大小的输出序列。目前,顺序如下:

[0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3]

这是一个列表,然后我使用 np.array() 将其转换为 np 数组。标签序列的构建方式类似。我总共有 8000 个这样的序列,所有序列的长度都是 12。

在我的 Keras 模型中,LSTM 是第一层。这要求我将数据的输入形状传递给模型。我尝试过填充几种形状,但没有成功。为了完整起见,这些是我的模型的前两行:

model = Sequential()
model.add(LSTM(100, input_shape=(8000, 12)))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))

在训练期间我遇到了一些麻烦,我遇到了this邮政。这看起来与我想做的事情非常相似。我已经尝试过提供的解决方案,但不知何故配件仍然崩溃。我收到以下错误:

ValueError: Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (8000, 12)

有什么想法吗?

更新: 对于 Parthosarathi Mukherjee,我添加了网络的其余部分。

最佳答案

model.add(LSTM(100, input_shape(8000, 12)))

改为使用

model.add(LSTM(100, input_shape(12,1)))

拟合之前,确保输入数据的形状为8000 x 12 x 1,而不是8000 x 12

关于python - Keras 输入数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44720548/

相关文章:

twitter - 预测 Twitter 上 future 推文的情绪

tensorflow - TensorFlow TFX 中存储在 MLMD 中的数据

python - Keras LSTM - 验证损失从时期 #1 开始增加

python - 如何使用 Django 模型/数据库实现队列?

performance - Tensorflow AVX 支持

python - 新实例具有旧实例属性值

java - 从机器学习模型结果表中的预测列中检索类别名称

Tensorflow/Keras - 如何公开类别之间的关系?

python - ctags、vim 和 python 代码

python - 将 CSV 文件传输到 Python 列表