Python keras-关键字初始状态未理解

Python keras-关键字初始状态未理解,python,tensorflow,keras,Python,Tensorflow,Keras,我正在尝试在keras中实现一个Seq-2-Seq模型,但是我在解决来自SimpleRN的错误时遇到了问题: TypeError:(“关键字参数未理解:”,“初始状态”) 下面是一个小例子: from keras.models import Model from keras.layers import Input, SimpleRNN, Embedding encoder_input = Input(shape=(16,)) encoder_embedding = Embedding(inpu

我正在尝试在keras中实现一个Seq-2-Seq模型,但是我在解决来自
SimpleRN的错误时遇到了问题:

TypeError:(“关键字参数未理解:”,“初始状态”)

下面是一个小例子:

from keras.models import Model
from keras.layers import Input, SimpleRNN, Embedding

encoder_input = Input(shape=(16,))
encoder_embedding = Embedding(input_dim=40, output_dim=12)(encoder_input)
encoder_rnn_out, encoder_rnn_state = SimpleRNN(32, activation='relu', return_sequences=False, return_state=True)(encoder_embedding)

decoder_input = Input(shape=(11,)) 
decoder_embedding = Embedding(input_dim=12, output_dim=12)(decoder_input) 
decoder_rnn = SimpleRNN(32, activation='relu', initial_state=encoder_rnn_state, return_sequences=True)(decoder_embedding) 
decoder_predictions = Dense(12, activation='softmax')(decoder_rnn)

model = Model(encoder_input, decoder_predictions)
这些是我的tensorflow和keras版本(我已经用
pip
卸载并重新安装了它们)


SimpleRNN
构造函数不将
initial\u state
作为输入参数。您可能打算使用
kernel\u初始值设定项
recurrent\u初始值设定项
参数


看。

我也有同样的问题,并找到了答案

改变这个

decoder\u rnn=SimpleRNN(32,activation='relu',initial\u state=encoder\u rnn\u state,return\u sequences=True)(decoder\u嵌入)
对这个

decoder\u rnn=SimpleRNN(32,activation='relu',return\u sequences=True)(解码器嵌入,初始状态=编码器状态)

在您链接的文档中,它说“您可以通过使用关键字参数initial_state调用RNN层来象征性地指定RNN层的初始状态”,因此我假设这对于
SimpleRN
也是如此。我不想使用
内核初始化器
循环初始化器
,因为我想初始化状态,而不是权重矩阵。这对于
RNN
类是正确的,而不是对于
SimpleRNN
:)也许可以尝试使用它。
$ conda list -n py36 | grep tensorflow
tensorflow                1.13.1                    <pip>
tensorflow-estimator      1.13.0                    <pip>
$ conda list -n py36 | grep Keras
Keras                     2.2.4                     <pip>
Keras-Applications        1.0.7                     <pip>
Keras-Preprocessing       1.0.9                     <pip>
{
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "tensorflow"
}