RNN katmanlarını istiflemek
Güncel en iyi sonuçlara ulaşmak için derin RNN modelleri onlarca hatta yüzlerce katmana sahip olabilir.
Bu egzersizde, LSTM hücrelerinden oluşan katmanları art arda ekleyerek nasıl derin RNN modelleri oluşturabileceğine kısa bir bakış atacağız.
Bunu yapmak için, ilk iki LSTM katmanında return_sequences argümanını True, son LSTM katmanında ise False olarak ayarlayacaksın.
Daha da fazla katmanlı modeller oluşturmak için, katmanları art arda eklemeye devam edebilir ya da bir döngü içinde .add() yöntemini kullanan bir fonksiyon yazarak birkaç satır kodla çok sayıda katman ekleyebilirsin.
Bu egzersiz
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
kursunun bir parçasıdırEgzersiz talimatları
LSTMkatmanını içe aktar.- İlk iki katmanda dizileri döndür ve son
LSTMkatmanında dizileri döndürme. - Önceden eğitilmiş ağırlıkları yükle.
- Elde edilen kayıp ve doğruluğu yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)))