Pada bagian ketiga, kita akan melakukan model training dan testing.
Untuk training, method yang digunakan adalah fit dengan parameter dataset training dan label serta jumlah epoch. Pada tutorial digunakan 5 epoch.
Note, parameter batch_size pada method model.fit jika tidak didefinisikan akan menggunakan nilai default 32. Jadi saat melakukan training, akan tampil 1875 (60000/32). Lihat hasil return model.fit dibawah.
model.fit(X_train, y_train, epochs=5)
Epoch 1/5
1875/1875 [==============================] - 5s 2ms/step - loss: 0.6797 - sparse_categorical_accuracy: 0.7618
Epoch 2/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.4129 - sparse_categorical_accuracy: 0.8518
Epoch 3/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.3685 - sparse_categorical_accuracy: 0.8654
Epoch 4/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.3455 - sparse_categorical_accuracy: 0.8745
Epoch 5/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.3290 - sparse_categorical_accuracy: 0.8786
<tensorflow.python.keras.callbacks.History at 0x7fd3f1a14290>
Untuk model evaluation gunakan method evaluate() dengan parameter dataset test dan dataset label test.
test_loss, test_accuracy = model.evaluate(X_test, y_test)
313/313 [==============================] - 0s 1ms/step - loss: 0.3454 - sparse_categorical_accuracy: 0.8786
Latihan dan Eksperimen
Silakan bereksperimen untuk meningkatkan akurasi model. Berikut beberpa point yang dapat dilakukan
- Menambah epoch.
- Menambah hidden layers.
- Mengkonfigurasi optimizer dan learning rates.
- Mengubah activation functions.
Tips Menyimpan Model
Berikut fungsi yang digunakan untuk menyimpan topology dan weight model
#topology network
model_json = model.to_json()
with open("fashion_model.json", "w") as json_file:
json_file.write(model_json)
#network weigh
model.save_weights("fashion_model.h5")
File colab buka di https://colab.research.google.com/drive/1auNlR_IBrgnMOuAiVszHwQ-M-3z_yCci?usp=sharing