Zacznij terazZacznij za darmo

Czy potrzebujemy więcej danych?

Czas sprawdzić, czy model zbudowany na zbiorze digits dataset zyskuje na większej liczbie przykładów treningowych!

Aby zminimalizować ilość kodu, kilka elementów jest już zainicjalizowanych i gotowych do użycia:

  • Zbudowany przez ciebie model.
  • X_train, y_train, X_test i y_test.
  • initial_weights – wagi modelu zapisane za pomocą model.get_weights().
  • Wstępnie zdefiniowana lista rozmiarów zbioru treningowego: training_sizes.
  • Wstępnie zdefiniowany callback zatrzymujący trening na podstawie straty: early_stop.
  • Dwie puste listy do przechowywania wyników ewaluacji: train_accs i test_accs.

Wytrenuj model na różnych rozmiarach zbioru treningowego i oceń wyniki na X_test. Na końcu zwizualizuj wyniki za pomocą plot_results().

Pełny kod tego ćwiczenia znajdziesz na slajdach!

To ćwiczenie jest częścią kursu

Wprowadzenie do uczenia głębokiego z Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Pobierz fragment danych treningowych wyznaczony przez wartość size aktualnie ocenianą w pętli.
  • Ustaw wagi modelu na initial_weights za pomocą set_weights() i wytrenuj model na wybranym fragmencie danych, używając early_stop jako callbacku.
  • Oceń i zapisz dokładność dla fragmentu danych treningowych oraz dla zbioru testowego.
  • Wywołaj plot_results(), przekazując dokładności treningowe i testowe dla każdego rozmiaru zbioru treningowego.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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(____, ____)
Edytuj i uruchom kod