Apakah kita memerlukan lebih banyak data?
Saatnya memeriksa apakah model untuk digits dataset yang Anda bangun akan mendapat manfaat dari lebih banyak contoh pelatihan!
Agar kode tetap minimal, berbagai hal sudah diinisialisasi dan siap digunakan:
modelyang baru saja Anda bangun.X_train,y_train,X_test, dany_test.initial_weightsdari model Anda, disimpan setelah menggunakanmodel.get_weights().- Daftar ukuran pelatihan yang sudah ditentukan:
training_sizes. - Callback early stopping yang sudah ditentukan untuk memantau loss:
early_stop. - Dua daftar kosong untuk menyimpan hasil evaluasi:
train_accsdantest_accs.
Latih model Anda pada berbagai ukuran data pelatihan dan evaluasi hasilnya pada X_test.
Akhiri dengan mem-plot hasil menggunakan plot_results().
Kode lengkap untuk latihan ini dapat ditemukan pada slide!
Latihan ini merupakan bagian dari kursus
Pengantar Deep Learning dengan Keras
Instruksi latihan
- Ambil sebagian data pelatihan yang ditentukan oleh
sizeyang sedang dievaluasi dalam loop. - Atur bobot model ke
initial_weightsdenganset_weights()dan latih model Anda pada sebagian data pelatihan menggunakanearly_stopsebagai callback. - Evaluasi dan simpan akurasi untuk bagian data pelatihan dan himpunan uji.
- Panggil
plot_results()dengan meneruskan akurasi pelatihan dan uji untuk setiap ukuran pelatihan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
for size in training_sizes:
# Get a fraction of training data (we only care about the training data)
X_train_frac, y_train_frac = X_train[:size], y_train[:size]
# Reset the model to the initial weights and train it on the new training data fraction
model.set_weights(____)
model.fit(X_train_frac, y_train_frac, epochs = 50, callbacks = [early_stop])
# Evaluate and store both: the training data fraction and the complete test set results
train_accs.append(model.evaluate(____, ____)[1])
test_accs.append(model.evaluate(____, ____)[1])
# Plot train vs test accuracies
plot_results(____, ____)