Daha fazla veriye ihtiyacımız var mı?
Artık kurduğun digits veri kümesi modelinin daha fazla eğitim örneğinden fayda sağlayıp sağlamadığını kontrol etme zamanı!
Kodu minimumda tutmak için çeşitli şeyler önceden başlatıldı ve kullanıma hazır:
- Az önce kurduğun
model. X_train,y_train,X_testvey_test.- Modelinin,
model.get_weights()kullanıldıktan sonra kaydedileninitial_weightsdeğerleri. - Önceden tanımlı bir eğitim boyutları listesi:
training_sizes. - Kayıpları izleyen önceden tanımlı bir erken durdurma callback'i:
early_stop. - Değerlendirme sonuçlarını saklamak için iki boş liste:
train_accsvetest_accs.
Modelini farklı eğitim boyutlarında eğit ve sonuçları X_test üzerinde değerlendir.
Son olarak sonuçları plot_results() ile görselleştir.
Bu egzersizin tam kodunu slaytlarda bulabilirsin!
Bu egzersiz
Keras ile Deep Learning'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
- Döngüde şu anda değerlendirdiğimiz
sizetarafından belirlenen eğitim verisi bölümünü al. - Model ağırlıklarını
set_weights()ileinitial_weightsolarak ayarla ve modelini,early_stop'u callback olarak kullanarak bu eğitim verisi bölümünde eğit. - Eğitim bölümünün ve test kümesinin doğruluğunu değerlendir ve sakla.
- Her eğitim boyutu için eğitim ve test doğruluklarını vererek
plot_results()çağır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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(____, ____)