Potřebujeme více dat?
Teď je čas zjistit, jestli model pro dataset číslic těží z většího množství trénovacích příkladů!
Aby byl kód co nejkratší, řada věcí je už připravena a připravena k použití:
- Model, který jsi právě sestavil/a.
X_train,y_train,X_testay_test.- Počáteční váhy modelu
initial_weights, uložené pomocímodel.get_weights(). - Předem definovaný seznam velikostí trénovacích sad:
training_sizes. - Předem definovaný callback pro předčasné zastavení sledující ztrátu:
early_stop. - Dva prázdné seznamy pro uložení výsledků vyhodnocení:
train_accsatest_accs.
Natrénuj model na různých velikostech trénovacích sad a vyhodnoť výsledky na X_test.
Nakonec vykresli výsledky pomocí plot_results().
Celý kód pro toto cvičení najdeš na snímcích!
Toto cvičení je součástí kurzu
Úvod do hlubokého učení s Keras
Pokyny k cvičení
- Získej část trénovacích dat určenou hodnotou
size, kterou právě vyhodnocujeme ve smyčce. - Nastav váhy modelu na
initial_weightspomocíset_weights()a natrénuj model na dané části trénovacích dat s použitímearly_stopjako callbacku. - Vyhodnoť a ulož přesnost pro danou část trénovacích dat a pro testovací sadu.
- Zavolej
plot_results()a předej jí přesnosti na trénovacích i testovacích datech pro každou velikost trénovací sady.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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(____, ____)