ComeçarComece de graça

Empilhando camadas RNN

Os modelos RNN profundos podem ter dezenas a centenas de camadas para conseguir resultados de última geração.

Neste exercício, você vai ver como criar modelos RNN profundos empilhando camadas de células LSTM uma atrás da outra.

Para fazer isso, você vai definir o argumento “ return_sequences ” como “ True ” nas duas primeiras camadas “ LSTM ” e como “ False ” na última camada “ LSTM ”.

Para criar modelos com ainda mais camadas, você pode continuar adicionando-as uma após a outra ou criar uma função que use o método .add() dentro de um loop para adicionar muitas camadas com poucas linhas de código.

Este exercício faz parte do curso

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Ver curso

Instruções do exercício

  • Importa a camada “ LSTM ”.
  • Retorne as sequências nas duas primeiras camadas e não retorne as sequências na última camada LSTM.
  • Carregue os pesos pré-treinados.
  • Imprima a perda e a precisão que você conseguiu.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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)))
Editar e executar o código