Inizia subitoInizia gratis

Sovrapporre (stack) layer RNN

I modelli RNN profondi possono avere decine o centinaia di layer per ottenere risultati allo stato dell’arte.

In questo esercizio, vedrai come creare modelli RNN profondi impilando layer di celle LSTM uno dopo l’altro.

Per farlo, imposterai l’argomento return_sequences a True nei primi due layer LSTM e a False nell’ultimo layer LSTM.

Per creare modelli con ancora più layer, puoi continuare ad aggiungerli uno dopo l’altro oppure creare una funzione che utilizzi il metodo .add() dentro un ciclo per aggiungere molti layer con poche righe di codice.

Questo esercizio fa parte del corso

Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

Visualizza corso

Istruzioni dell'esercizio

  • Importa il layer LSTM.
  • Restituisci le sequenze nei primi due layer e non restituire le sequenze nell’ultimo layer LSTM.
  • Carica i pesi pre-addestrati.
  • Stampa la loss e l’accuracy ottenute.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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)))
Modifica ed esegui il codice