Precisamos de mais dados?
É hora de verificar se o model do conjunto de dados de dígitos que você construiu se beneficia de mais exemplos de treino!
Para manter o código no mínimo, várias coisas já estão inicializadas e prontas para uso:
- O
modelque você acabou de construir. X_train,y_train,X_testey_test.- Os
initial_weightsdo seu modelo, salvos após usarmodel.get_weights(). - Uma lista predefinida de tamanhos de treino:
training_sizes. - Um callback de early stopping predefinido monitorando a loss:
early_stop. - Duas listas vazias para armazenar os resultados da avaliação:
train_accsetest_accs.
Treine seu modelo nos diferentes tamanhos de treino e avalie os resultados em X_test.
Finalize plotando os resultados com plot_results().
O código completo deste exercício está disponível nos slides!
Este exercício faz parte do curso
Introdução ao Deep Learning com Keras
Instruções do exercício
- Pegue uma fração dos dados de treino determinada pelo
sizeque estamos avaliando no loop. - Defina os pesos do modelo para
initial_weightscomset_weights()e treine seu modelo na fração de dados de treino usandoearly_stopcomo callback. - Avalie e armazene a acurácia para a fração de treino e para o conjunto de teste.
- Chame
plot_results()passando as acurácias de treino e de teste para cada tamanho de treino.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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(____, ____)