Aan de slagGa gratis aan de slag

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

Cursus bekijken

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()
Code bewerken en uitvoeren