使用 Keras 编译 LSTM 时出现断言错误

Posted

技术标签:

【中文标题】使用 Keras 编译 LSTM 时出现断言错误【英文标题】:Assertion Error when compiling LSTM with Keras 【发布时间】:2016-05-29 10:35:39 【问题描述】:

我有以下代码:

max_features = 5000
maxlen = 140
model = Sequential()

model.add(Embedding(max_features, 128)) 
model.add(LSTM(128, activation = 'sigmoid', inner_activation =  'hard_sigmoid', return_sequences = False))
model.add(Dense(input_dim = 128, output_dim = 2, activation = 'softmax'))

optimizer = Adam(lr = 0.001, beta_1 = 0.9, beta_2 = 0.999, epsilon = 1e-8)
model.compile(loss = 'categorical_crossentropy', optimizer = optimizer)

model.fit(x_train, y_train, batch_size = 64, nb_epoch = 10, verbose = 2)

y_test_pred = model.predict_classes(x_test)

但是每次我运行它时,我都会在该行得到一个错误

model.compile(loss = 'categorical_crossentropy', optimizer = optimizer)

其中规定:

 AssertionError: The number of inputs given to the inner function of scan does not match the number of inputs given to scan.

有人知道这是什么意思吗?

【问题讨论】:

我已经解决了这个问题,原来它与过时的 Theano 版本有关。因此,如果您遇到此问题,请更新您的 theano 模块! 【参考方案1】:

OP 的回答:

我已经解决了这个问题,结果发现它与过时的 Theano 版本有关。因此,如果您遇到此问题,请更新您的 theano 模块!

【讨论】:

以上是关于使用 Keras 编译 LSTM 时出现断言错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 theano 后端加载 keras 模型时出现断言错误

尝试在 Keras 中创建 BLSTM 网络时出现 TypeError

使用自定义损失函数编译 Keras 模型时出现 TypeError

Keras ConvLSTM2D:保存模型时出现ValueError

尝试从 Keras 运行顺序模型时出现 ValueError

在 Tensorflow 中运行 LSTM 时出现 ResourceExhausted 错误或 OOM