Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 转换为估计器时,LSTM无效RGUMERROR Tensorflow 2.0/Keras_Python_Tensorflow_Lstm_Tensorflow Estimator - Fatal编程技术网

Python 转换为估计器时,LSTM无效RGUMERROR Tensorflow 2.0/Keras

Python 转换为估计器时,LSTM无效RGUMERROR Tensorflow 2.0/Keras,python,tensorflow,lstm,tensorflow-estimator,Python,Tensorflow,Lstm,Tensorflow Estimator,我正在尝试构建一个LSTM网络,它接收一系列单词并将其转换为嵌入向量。我已经将每个单词序列转换为词汇向量 我使用的批量大小是32,每个词汇表向量的大小是50。这是我到目前为止创建模型并将其转换为估计器的Keras函数API代码 input_layer = keras.layers.Input(shape=(50,), name='search') embedding_layer = keras.layers.Embedding(input_dim=32, output_dim=256, inpu

我正在尝试构建一个
LSTM
网络,它接收一系列单词并将其转换为嵌入向量。我已经将每个单词序列转换为词汇向量

我使用的批量大小是32,每个词汇表向量的大小是50。这是我到目前为止创建模型并将其转换为估计器的Keras函数API代码

input_layer = keras.layers.Input(shape=(50,), name='search')
embedding_layer = keras.layers.Embedding(input_dim=32, output_dim=256, input_length=50)(input_layer)
lstm_layer = keras.layers.LSTM(units=256)(embedding_layer)
model = keras.models.Model(inputs=input_layer, outputs=lstm_layer)
model.compile(loss='mean_squared_error', optimizer='adam')
estimator = keras.estimator.model_to_estimator(keras_model=model)
但是这个代码给出了错误

tensorflow.python.framework.errors_impl.InvalidArgumentError: Node 'Adam/gradients/lstm/StatefulPartitionedCall_grad/StatefulPartitionedCall': Connecting to invalid output 5 of source node lstm/StatefulPartitionedCall which has 5 outputs
当我运行
model.summary()
时,这就是输出

Layer (type)                 Output Shape              Param #   
=================================================================
search (InputLayer)          [(None, 50)]              0         
_________________________________________________________________
embedding (Embedding)        (None, 50, 256)           8192      
_________________________________________________________________
lstm (LSTM)                  (None, 256)               525312    
=================================================================
Total params: 533,504
Trainable params: 533,504
Non-trainable params: 0
_________________________________________________________________

我想这就是我所期望的。我试着用相同形状的致密扁平层替换
LSTM
层,代码运行良好

我将自己回答这个问题…从7/24开始,tf.keras.layers.LSTM似乎有问题。我将模型更改为以下内容

input_layer = keras.layers.Input(shape=(50,), name='search')
embedding_layer = keras.layers.Embedding(input_dim=32, output_dim=256, 
input_length=50)(input_layer)
lstm_layer = keras.layers.RNN(cell=keras.layers.LSTMCell(units=256))(embedding_layer)
model = keras.models.Model(inputs=input_layer, outputs=lstm_layer)
model.compile(loss='mean_squared_error', optimizer='adam')
estimator = keras.estimator.model_to_estimator(keras_model=model)