Precisamos de mais dados?
É hora de verificar se o conjunto de dados de dígitos model
que você criou se beneficia de mais exemplos de treinamento!
Para reduzir o código ao mínimo, vários itens já estão inicializados e prontos para uso:
- O
model
que você acabou de construir. X_train
,y_train
,X_test
, ey_test
.- O
initial_weights
do seu modelo, salvo após você usar omodel.get_weights()
. - Uma lista predefinida de tamanhos de treinamento:
training_sizes
. - Uma perda de monitoramento de retorno de chamada de parada antecipada predefinida:
early_stop
. - Duas listas vazias para armazenar os resultados da avaliação:
train_accs
etest_accs
.
Treine seu modelo com os diferentes tamanhos de treinamento e avalie os resultados em X_test
.
Termine plotando os resultados com plot_results()
.
O código completo para esse exercício pode ser encontrado nos slides!
Este exercício faz parte do curso
Introdução à aprendizagem profunda com o Keras
Instruções do exercício
- Obtenha uma fração dos dados de treinamento determinados pelo
size
que estamos avaliando atualmente no loop. - Defina os pesos do modelo para
initial_weights
comset_weights()
e treine seu modelo na fração de dados de treinamento usandoearly_stop
como retorno de chamada. - Avalie e armazene a precisão da fração de treinamento e do conjunto de teste.
- Ligue para
plot_results()
passando nas precisões de treinamento e teste para cada tamanho de treinamento.
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(____, ____)