Avem nevoie de mai multe date?
E momentul să verifici dacă modelul construit pe setul de date digits beneficiază de mai multe exemple de antrenament!
Pentru a păstra codul cât mai concis, mai multe elemente sunt deja inițializate și gata de utilizare:
- Modelul
modelpe care tocmai l-ai construit. X_train,y_train,X_testșiy_test.initial_weights– ponderile inițiale ale modelului, salvate cumodel.get_weights().- O listă predefinită de dimensiuni de antrenament:
training_sizes. - Un callback de oprire timpurie predefinit, care monitorizează pierderea:
early_stop. - Două liste goale pentru stocarea rezultatelor evaluării:
train_accsșitest_accs.
Antrenează modelul pe diferite dimensiuni ale setului de antrenament și evaluează rezultatele pe X_test.
Încheie prin vizualizarea rezultatelor cu plot_results().
Codul complet pentru acest exercițiu îl găsești pe slide-uri!
Acest exercițiu face parte din cursul
Introducere în Deep Learning cu Keras
Instrucțiuni pentru exercițiu
- Extrage o fracțiune din datele de antrenament, determinată de valoarea
sizeevaluată în acel moment în buclă. - Setează ponderile modelului la
initial_weightsfolosindset_weights()și antrenează modelul pe fracțiunea de date de antrenament, utilizândearly_stopca callback. - Evaluează și stochează acuratețea pentru fracțiunea de antrenament și pentru setul de testare.
- Apelează
plot_results()transmițând acuratețile de antrenament și de testare pentru fiecare dimensiune de antrenament.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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(____, ____)