RNN Menggunakan TensorFlow 2 – Bag 2

Untuk mengikuti modul ini, diharapkan sudah memahami Architecture dari RNN. Pada modul ini kita akan melakukan model building.

Pertama kita definisikan model.

model = tf.keras.Sequential()

Kemudian langkah selanjutnya adalah menambahkan hidden layer.

Yang pertama adalah menambahkan embedding layer, method yang digunakan adalah Embedding yang disediakan oleh library keras.

model.add(tf.keras.layers.Embedding(input_dim=number_of_words, output_dim=128, input_shape=(X_train.shape[1],)))

Berkutnya menambahkan LSTM layer yang berguna melatih model memahami relasi antar kata, dengan parameter units=128 dan activation function tanh.

model.add(tf.keras.layers.LSTM(units=128, activation='tanh'))

Layer terakhir adalah layer output, dengan parameter units = 1, activation function = sigmoid yang menghasilkan probability untuk masing-masing output.

model.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))

Setelah layer selesai ditambahkan, langkah selanjutnya adalah mengcompile model.

model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])

Anda bisa lihat summary dari model dengan method summary().

model.summary()
Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
embedding (Embedding)        (None, 100, 128)          2560000   
_________________________________________________________________
lstm (LSTM)                  (None, 128)               131584    
_________________________________________________________________
dense (Dense)                (None, 1)                 129       
=================================================================
Total params: 2,691,713
Trainable params: 2,691,713
Non-trainable params: 0
_________________________

Pada modul selanjutnya akan dibahas model training dan evaluation.

Sharing is caring:

Leave a Comment