Kom igångKom igång gratis

Undersök konvolutioner

Att inspektera aktiveringarna i ett konvolutionslager är fascinerande – något du bör prova minst en gång!

För att göra det bygger du en ny modell med Keras Model-objektet, som tar emot en lista med indata och en lista med utdata. Utdata du tillhandahåller till den nya modellen är utdata från det första konvolutionslagret när en MNIST-siffra används som indatabild.

Konvolutionsmodellen model som du byggde i föregående övning har redan tränats åt dig. Den kan nu korrekt klassificera MNIST-handskrivna bilder. Du kan kontrollera det med model.summary() i konsolen.

Låt oss titta på de konvolutionsmasker som lärdes in i modellens första konvolutionslager!

Den här övningen är en del av kursen

Introduktion till djupinlärning med Keras

Visa kurs

Övningsinstruktioner

  • Hämta en referens till utdata från det första konvolutionslagret i modellen.
  • Bygg en ny modell med modellens första lagers indata och first_layer_output som utdata.
  • Använd first_layer_model för att göra prediktioner på X_test.
  • Plotta aktiveringarna för den första siffran i X_test för det 15:e och det 18:e neuronsfiltret.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod