Keras-poolinglagen
Keras implementeert een pooling-bewerking als een laag die je aan CNN's kunt toevoegen tussen andere lagen. In deze oefening bouw je een convolutioneel neuraal netwerk dat lijkt op wat je eerder hebt gemaakt:
Convolution => Convolution => Flatten => Dense
Je voegt echter ook een pooling-laag toe. De architectuur krijgt één max-poolinglaag tussen de convolutionele laag en de dense-laag met een pooling van 2x2:
Convolution => Max pooling => Convolution => Flatten => Dense
Een sequentieel model en de objecten Dense, Conv2D, Flatten en MaxPool2D zijn beschikbaar in je werkruimte.
Deze oefening maakt deel uit van de cursus
Beeldmodellering met Keras
Oefeninstructies
- Voeg een invoer-convolutionele laag toe (15 units, kernelgrootte 2,
relu-activatie). - Voeg een maximum-poolingbewerking toe (pooling over vensters van 2x2).
- Voeg nog een convolutionele laag toe (5 units, kernelgrootte 2,
relu-activatie). - Flatten de output van de tweede convolution en voeg een
Dense-laag toe voor de output (3 categorieën,softmax-activatie).
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Add a convolutional layer
____(____(15, kernel_size=2, activation='relu',
input_shape=(img_rows, img_cols, 1)))
# Add a pooling operation
____
# Add another convolutional layer
____
# Flatten and feed to output layer
model.add(____)
model.add(____(3, activation='softmax'))
model.summary()