IniziaInizia gratis

Layer di pooling in Keras

Keras implementa un'operazione di pooling come un layer che puoi aggiungere alle CNN tra altri layer. In questo esercizio costruirai una rete neurale convoluzionale simile a quella già creata in precedenza:

Convolution => Convolution => Flatten => Dense

Tuttavia, aggiungerai anche un layer di pooling. L'architettura includerà un singolo layer di max pooling tra il layer di convoluzione e il layer denso, con un pooling di 2x2:

Convolution => Max pooling => Convolution => Flatten => Dense

Nel tuo workspace sono disponibili un model di tipo Sequential e gli oggetti Dense, Conv2D, Flatten e MaxPool2D.

Questo esercizio fa parte del corso

Image Modeling with Keras

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi un layer di convoluzione in input (15 unità, kernel size 2, attivazione relu).
  • Aggiungi un'operazione di max pooling (pooling su finestre di dimensione 2x2).
  • Aggiungi un altro layer di convoluzione (5 unità, kernel size 2, attivazione relu).
  • Appiattisci l'output della seconda convoluzione e aggiungi un layer Dense per l'output (3 categorie, attivazione softmax).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice