ComenzarEmpieza gratis

Apilamiento de capas RNN

Los modelos RNN profundos pueden tener entre decenas y cientos de capas para lograr resultados de vanguardia.

En este ejercicio, obtendrás una visión general de cómo crear modelos RNN profundos apilando capas de celdas LSTM una tras otra.

LSTM Para ello, establecerás el argumento « return_sequences » (Ajustar a la altura de la capa superior) en « True » (Ajustar a la altura de la capa superior) en las dos primeras capas « LSTM » (Ajustar a la altura de la capa superior) y en « False » (Ajustar a la altura de la capa inferior)

Para crear modelos con aún más capas, puedes seguir añadiéndolas una tras otra o crear una función que utilice el método « .add() » dentro de un bucle para añadir muchas capas con pocas líneas de código.

Este ejercicio forma parte del curso

Redes neuronales recurrentes (RNN) para el modelado del lenguaje con Keras

Ver curso

Instrucciones del ejercicio

  • Importa la capa « LSTM ».
  • Devuelve las secuencias de las dos primeras capas y no devuelve las secuencias de la última capa LSTM.
  • Carga los pesos preentrenados.
  • Imprime la pérdida y la precisión obtenidas.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código