Batch normalization su un modello già visto
Ricordi il digits dataset che hai addestrato nel primo esercizio di questo capitolo?
Un problema di classificazione multiclasse che hai risolto usando softmax e 10 neuroni nel layer di output.
Ora costruirai un nuovo modello più profondo con 3 layer nascosti da 50 neuroni ciascuno, usando la batch normalization tra i layer.
Il parametro kernel_initializer viene usato per inizializzare i pesi in modo analogo.
Questo esercizio fa parte del corso
Introduzione al Deep Learning con Keras
Istruzioni dell'esercizio
- Importa
BatchNormalizationdai layer ditensorflow.keras. - Costruisci il tuo modello di rete profonda, usa 50 neuroni per ciascun layer nascosto aggiungendo la batch normalization tra i layer.
- Compila il modello con la discesa stocastica del gradiente,
sgd, come ottimizzatore.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Import batch normalization from keras layers
from tensorflow.____.____ import ____
# Build your deep network
batchnorm_model = ____
batchnorm_model.add(Dense(____, input_shape=(64,), activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(10, activation='softmax', kernel_initializer='normal'))
# Compile your model with sgd
batchnorm_model.compile(optimizer=____, loss='categorical_crossentropy', metrics=['accuracy'])