Inizia subitoInizia gratis

Osservare le convoluzioni

Ispezionare le attivazioni di un layer convoluzionale è una cosa davvero interessante. Dovresti farlo almeno una volta nella vita!

Per farlo, costruirai un nuovo modello con l'oggetto Model di Keras, che accetta una lista di input e una lista di output. Gli output che fornirai a questo nuovo modello sono quelli del primo layer convoluzionale quando gli passi come immagine di input una cifra MNIST.

Il model convoluzionale che hai costruito nell'esercizio precedente è già stato addestrato per te. Ora sa classificare correttamente le immagini scritte a mano di MNIST. Puoi verificarlo con model.summary() nella console.

Diamo un'occhiata alle maschere convoluzionali che sono state apprese nel primo layer convoluzionale di questo modello!

Questo esercizio fa parte del corso

Introduzione al Deep Learning con Keras

Visualizza corso

Istruzioni dell'esercizio

  • Ottieni un riferimento agli output del primo layer convoluzionale nel modello.
  • Costruisci un nuovo modello usando l'input del primo layer del modello e first_layer_output come output.
  • Usa questo first_layer_model per fare previsioni su X_test.
  • Rappresenta le attivazioni della prima cifra di X_test per i filtri del neurone 15° e 18°.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Obtain a reference to the outputs of the first layer
first_layer_output = model.layers[____].output

# Build a model using the model's input and the first layer output
first_layer_model = Model(inputs = model.layers[0].input, outputs = ____)

# Use this model to predict on X_test
activations = ____.____(____)

# Plot the activations of first digit of X_test for the 15th filter
axs[0].matshow(activations[____,:,:,14], cmap = 'viridis')

# Do the same but for the 18th filter now
axs[1].matshow(activations[0,:,:,____], cmap = 'viridis')
plt.show()
Modifica ed esegui il codice