J'essaie de passer la sortie d'un calque en deux calques différents, puis de les réunir. Cependant, cette erreur me stoppe et me dit que mon entrée n'est pas un tenseur symbolique.
Received type: <class 'keras.layers.recurrent.LSTM'>. All inputs to the layers should be tensors.
Cependant, je crois que je suis la documentation de près: https://keras.io/getting-started/functional-api-guide/#multi-input-and-multi-output-models
et je ne suis pas tout à fait sûr pourquoi cela est faux?
net_input = Input(shape=(maxlen, len(chars)), name='net_input')
lstm_out = LSTM(128, input_shape=(maxlen, len(chars)))
book_out = Dense(len(books), activation='softmax', name='book_output')(lstm_out)
char_out = Dense(len(chars-4), activation='softmax', name='char_output')(lstm_out)
x = keras.layers.concatenate([book_out, char_out])
net_output = Dense(len(chars)+len(books), activation='sigmoid', name='net_output')
model = Model(inputs=[net_input], outputs=[net_output])
Merci
Il semble que vous ne donniez pas d'entrée à votre couche LSTM. Vous spécifiez le nombre de neurones récurrents et la forme de l'entrée, mais vous ne fournissez pas d'entrée. Essayer:
lstm_out = LSTM(128, input_shape=(maxlen, len(chars)))(net_input)
Je pense que vous devez ajouter axis = 1 pour concaténer, essayez:
x = keras.layers.concatenate([book_out, char_out], axis=1)