Het tekstgeneratiemodel maken
In deze oefening ga je een tekstgeneratiemodel definiëren met Keras.
De variabele n_vocab met de vocabulairegrootte en input_shape met de vorm van de trainingsgegevens zijn al in de omgeving geladen. Ook zijn de gewichten van een voorgetraind model beschikbaar in het bestand model_weights.h5. Het model is getraind met 40 epochs op de trainingsdata. Ter herinnering: om een model in Keras te trainen, gebruik je de methode .fit() op de trainingsdata (X, y) met de parameter epochs. Bijvoorbeeld:
model.fit(X_train, y_train, epochs=40)
Deze oefening maakt deel uit van de cursus
Recurrent Neural Networks (RNN's) voor taalmodellen met Keras
Oefeninstructies
- Voeg één
LSTM-laag toe die de sequenties teruggeeft. - Voeg één
LSTM-laag toe die de sequenties niet teruggeeft. - Voeg de outputlaag toe met
n_vocabeenheden. - Toon de model-samenvatting.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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.____