Проблема с добавлением выпадающего слоя, Layer пространственная_доставка1d_5 была вызвана с входом, который не является символическим тензором? - PullRequest
0 голосов
/ 30 января 2019

Поэтому я использую вложения слов GloVe

emb = Glove(emb_filename)
word_embedding_layer = emb.get_keras_embedding(#dropout = 0.5,
                                            trainable = True,
                                            input_length = sent_maxlen, 
                                           name='word_embedding_layer')

Я прокомментировал выпадение, так как получил предупреждение о том, что оно больше не поддерживается в Keras, и вместо этого я должен использовать atialDropout1d , и это то, что яdid

word_embedding_layer = keras.layers.SpatialDropout1D(0.5)(word_embedding_layer)

Однако я получаю эту ошибку, и я не знаю, как исправить свой ввод, чтобы сделать его тензорным

 ValueError: Layer spatial_dropout1d_5 was called with an input that isn't a symbolic tensor. Received type: <class 'keras.layers.embeddings.Embedding'>. Full input: [<keras.layers.embeddings.Embedding object at 0x7f4a42989358>]. All inputs to the layer should be tensors.

1 Ответ

0 голосов
/ 30 января 2019

word_embedding_layer - это слой.

Вы должны задать "тензор" для слоев.

input_tensor = Input(some_shape)
embedding_tensor = word_embedding_layer(input_tensor)
dropout_output = keras.layers.SpatialDropout1D(0.5)(embedding_tensor)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...