使用 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