Merekam Riwayat Pembelajaran Jaringan Syaraf Tiruan dengan Checkpoint

Training pada Jaringan Syaraf Tiruan (JST) biasanya terdiri dari beberapa epoch, sebuah satuan yang mirip iterasi (lihat pos yang lalu tentang istilah ini). Hasil pelatihan biasanya diperoleh dari epoch terakhir. Jika ingin mengetahui bias dan bobot tiap epoch perlu menggunakan fasilitas checkpoint pada Keras. Postingan ini bermaksud membahas penggunaan checkpoint.

#membuat model JST
model = keras.models.Sequential([
keras.layers.Dense(30, activation="relu", input_shape=[2]),
keras.layers.Dense(30, activation="relu"),
keras.layers.Dense(1)
])
model.summary()
#compile
model.compile(optimizer='Adam',loss='binary_crossentropy',metrics=['accuracy'])
checkpoint_cb = keras.callbacks.ModelCheckpoint("Model-{epoch:02d}.h5")
#training dengan checkpoint
history = model.fit(x_train, y_train, epochs=5,
validation_data=(x_val, y_val),
callbacks=[checkpoint_cb])

Tampak arsitektur JST sederhana di atas ditambahkan fasilitas checkpoint. Karena menggunakan library Keras, maka perlu diimpor Keras di awal dan pastikan library tersebut sudah diunduh terlebih dahulu jika menggunakan Jupyter Notebook. Namun jika menggunakan Google Colab tidak perlu karena sudah terpasang di situs online itu, hanya saja perlu mendefinisikan versi TensorFlownya (gunakan versi 1.x).

Perhatikan lima epoch tersebut, tampak lima buah model terbentuk yang berisi bias dan bobot hasil pelatihan tiap epoch. Jika ada 100 epoch tentu saja akan ada 100 model, oleh karena itu perlu menggunakan jenis checkpoint lain, misalnya best model saja yang tersimpan. Untuk jelasnya silahkan lihat video saya berikut ini.

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.