Batch-normalisatie toepassen op een bekend model
Weet je de digits dataset nog die je in de eerste oefening van dit hoofdstuk trainde?
Een multiclass-classificatieprobleem dat je oploste met softmax en 10 neuronen in je outputlaag.
Je gaat nu een dieper model bouwen met 3 verborgen lagen van elk 50 neuronen, met batch-normalisatie tussen de lagen.
De parameter kernel_initializer wordt gebruikt om gewichten op een vergelijkbare manier te initialiseren.
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning met Keras
Oefeninstructies
- Importeer
BatchNormalizationuit detensorflow.keras-lagen. - Bouw je deep network-model en gebruik 50 neuronen voor elke verborgen laag, met batch-normalisatie tussen de lagen.
- Compileer je model met stochastic gradient descent,
sgd, als optimizer.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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'])