Menumpuk lapisan RNN
Model RNN mendalam dapat memiliki puluhan hingga ratusan lapisan untuk mencapai hasil mutakhir.
Dalam latihan ini, Anda akan melihat sekilas cara membuat model RNN mendalam dengan menumpuk lapisan sel LSTM satu demi satu.
Untuk melakukannya, Anda akan mengatur argumen return_sequences menjadi True pada dua lapisan LSTM pertama dan False pada lapisan LSTM terakhir.
Untuk membuat model dengan lebih banyak lapisan, Anda dapat terus menambahkannya satu per satu atau membuat sebuah fungsi yang menggunakan metode .add() di dalam sebuah loop untuk menambahkan banyak lapisan hanya dengan beberapa baris kode.
Latihan ini merupakan bagian dari kursus
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras
Instruksi latihan
- Impor lapisan
LSTM. - Kembalikan sequence pada dua lapisan pertama dan jangan kembalikan sequence pada lapisan
LSTMterakhir. - Muat bobot pralatih.
- Cetak loss dan akurasi yang diperoleh.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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)))