Stivuirea straturilor RNN
Modelele RNN adânci pot avea zeci sau chiar sute de straturi pentru a obține rezultate de vârf.
În acest exercițiu, vei vedea cum se creează modele RNN adânci prin stivuirea straturilor de celule LSTM unul după altul.
Pentru aceasta, vei seta argumentul return_sequences la True pentru primele două straturi LSTM și la False pentru ultimul strat LSTM.
Dacă vrei să creezi modele cu și mai multe straturi, le poți adăuga pe rând sau poți scrie o funcție care folosește metoda .add() într-o buclă pentru a adăuga mai multe straturi cu puține linii de cod.
Acest exercițiu face parte din cursul
Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras
Instrucțiuni pentru exercițiu
- Importă stratul
LSTM. - Returnează secvențele în primele două straturi și nu le returna în ultimul strat
LSTM. - Încarcă ponderile pre-antrenate.
- Afișează valoarea pierderii și acuratețea obținute.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Import the LSTM layer
from tensorflow.keras.layers import ____
# Build model
model = Sequential()
model.add(LSTM(units=128, input_shape=(None, 1), return_sequences=____))
model.add(LSTM(units=128, return_sequences=____))
model.add(LSTM(units=128, return_sequences=____))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Load pre-trained weights
model.____('lstm_stack_model_weights.h5')
____("Loss: %0.04f\nAccuracy: %0.04f" % tuple(model.evaluate(X_test, y_test, verbose=0)))