keras lstm seq2seq示例关键字参数不在windows

时间:2017-09-30 13:53:02

标签: python-3.x keras tensorflow-gpu

我正在运行此示例代码(基于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

1 个答案:

答案 0 :(得分:2)

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