【发布时间】:2017-11-26 23:33:23
【问题描述】:
我正在尝试将自己的数据结构传递到 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,我添加了网络的其余部分。
【问题讨论】:
标签: python machine-learning deep-learning keras