我正在运行此示例代码(基于Keras的seq2seq)格式https://github.com/fchollet/keras/blob/master/examples/lstm_seq2seq.py。 此代码在我的Ubuntu上正确运行。但是当我在Windows上运行相同的代码时发生错误。 它说:
使用TensorFlow后端。
样品数量:10000
唯一输入令牌的数量:73
唯一输出令牌的数量:86
输入的最大序列长度:17
输出的最大序列长度:42
追溯(最近的呼叫最后):
文件“h:/eclipse_workspace/Keras_DL/src/seq2seq/lstm_seq2seq.py”,第125行,中
encoder = LSTM(latent_dim,return_state = True) 文件“D:\ software \ anaconda \ lib \ site-packages \ keras \ legacy \ interfaces.py”,第88行,在包装中 return func(* args,** kwargs)
文件“D:\ software \ anaconda \ lib \ site-packages \ keras \ layers \ recurrent.py”,第949行,在 init 中 super(LSTM,self)。 init (** kwargs)
文件“D:\ software \ anaconda \ lib \ site-packages \ keras \ layers \ recurrent.py”,第191行,在 init 中 super(Recurrent,self)。 init (** kwargs)
文件“D:\ software \ anaconda \ lib \ site-packages \ keras \ engine \ topology.py”,第281行,在 init 中 引发TypeError('关键字参数不理解:',kwarg)
TypeError :('关键字参数未被理解:','return_state')
我发现return_state确实存在于
keras.layers.recurrent.Recurrent(return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False, implementation=0)
有谁能告诉我如何才能在Windows上正确运行此演示?
我的系统信息:
- 操作系统:Windows 10 64位
- python 3.5.2 64位
- cudnn-8.0-windows10-x64-v5.1
- keras 2.04 tensorflow-gpu 1.1.0
答案 0 :(得分:2)
你的Keras版本太旧了。 Keras 2.0.5中添加了return_state
。我建议您从GitHub安装最新版本,因为您运行的示例代码已在24小时前添加到库中。