Creare il modello di generazione del testo
In questo esercizio definirai un modello di generazione del testo usando Keras.
Le variabili n_vocab, che contiene la dimensione del vocabolario, e input_shape, che contiene la forma dei dati usati per l'addestramento, sono già caricate nell'ambiente. Inoltre, i pesi di un modello pre-addestrato sono disponibili nel file model_weights.h5. Il modello è stato addestrato per 40 epoche sui dati di training. Ricorda che per addestrare un modello in Keras si usa il metodo .fit() sui dati di training (X, y) e il parametro epochs. Per esempio:
model.fit(X_train, y_train, epochs=40)
Questo esercizio fa parte del corso
Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras
Istruzioni dell'esercizio
- Aggiungi un livello
LSTMche restituisca le sequenze. - Aggiungi un livello
LSTMche non restituisca le sequenze. - Aggiungi il livello di output con
n_vocabunità. - Mostra il riepilogo del modello.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Instantiate the model
model = Sequential(name="LSTM model")
# Add two LSTM layers
model.add(____(64, input_shape=input_shape, dropout=0.15, recurrent_dropout=0.15, return_sequences=____, name="Input_layer"))
model.add(____(64, dropout=0.15, recurrent_dropout=0.15, return_sequences=____, name="LSTM_hidden"))
# Add the output layer
model.add(Dense(____, activation='softmax', name="Output_layer"))
# Compile and load weights
model.compile(loss='categorical_crossentropy', optimizer='adam')
model.load_weights('model_weights.h5')
# Summary
model.____