Skapa textgenereringsmodellen
I den här övningen definierar du en textgenereringsmodell med Keras.
Variabeln n_vocab, som innehåller ordförrådets storlek, och input_shape, som innehåller formen på träningsdatan, är redan inlästa i miljön. Vikterna för en förtränad modell finns dessutom tillgängliga i filen model_weights.h5. Modellen tränades med 40 epoker på träningsdatan. Kom ihåg att för att träna en modell i Keras använder du metoden .fit() på träningsdatan (X, y) tillsammans med parametern epochs. Till exempel:
model.fit(X_train, y_train, epochs=40)
Den här övningen är en del av kursen
Återkommande neurala nätverk (RNN) för språkmodellering med Keras
Övningsinstruktioner
- Lägg till ett
LSTM-lager som returnerar sekvenserna. - Lägg till ett
LSTM-lager som inte returnerar sekvenserna. - Lägg till utdatalagret med
n_vocabenheter. - Visa modellens sammanfattning.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____