keras lstm seq2seq 示例 windows 上的关键字参数无法理解 return_state

keras lstm seq2seq example Keyword argument not understood return_state on windows

我运行将此示例代码(基于 Keras 构建的 seq2seq)形式 https://github.com/fchollet/keras/blob/master/examples/lstm_seq2seq.py。 此代码 运行 在我的 Ubuntu 上是正确的。但是当我 运行 在我的 Windows 上使用相同的代码时发生错误。 它说:

Using TensorFlow backend.
Number of samples: 10000
Number of unique input tokens: 73
Number of unique output tokens: 86
Max sequence length for inputs: 17
Max sequence length for outputs: 42
Traceback (most recent call last):
File "h:/eclipse_workspace/Keras_DL/src/seq2seq/lstm_seq2seq.py", line 125, in
encoder = LSTM(latent_dim, return_state = True) File "D:\software\anaconda\lib\site-packages\keras\legacy\interfaces.py", line 88, in wrapper
return func(*args, **kwargs)
File "D:\software\anaconda\lib\site-packages\keras\layers\recurrent.py", line 949, in init
super(LSTM, self).init(**kwargs)
File "D:\software\anaconda\lib\site-packages\keras\layers\recurrent.py", line 191, in init
super(Recurrent, self).init(**kwargs)
File "D:\software\anaconda\lib\site-packages\keras\engine\topology.py", line 281, in init
raise TypeError('Keyword argument not understood:', kwarg)
TypeError: ('Keyword argument not understood:', 'return_state')

我发现 return_state 确实存在于
keras.layers.recurrent.Recurrent(return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False, implementation=0)

谁能告诉我如何在 Windows 上正确 运行 这个演示?

我的系统信息:
- OS : Windows 10 64 位
- python 3.5.2 64 位
-cudnn-8.0-windows10-x64-v5.1
- keras 2.04 tensorflow-gpu 1.1.0

您的 Keras 版本太旧。 return_state 在 Keras 2.0.5 中添加。我建议您从 GitHub 安装最新版本,因为您 运行 的示例代码已在不到 24 小时前添加到库中。