Kernelresponsen visualiseren
Een manier om de gewichten van een neuraal netwerk te interpreteren, is kijken hoe de kernels in die gewichten de wereld “zien”. Met andere woorden: welke eigenschappen van een afbeelding worden door deze kernel benadrukt. In deze oefening doen we dat door een afbeelding te convolueren met de kernel en het resultaat te visualiseren. Met de afbeeldingen in de variabele test_data, een functie extract_kernel() die een kernel uit het gegeven netwerk haalt, en de functie convolution() die we in het eerste hoofdstuk hebben gedefinieerd, extraheer je de kernel, laad je de data uit een bestand en visualiseer je die met matplotlib.
Een diepe CNN model, een functie convolution(), en de kernel die je in een eerdere oefening hebt geëxtraheerd zijn beschikbaar in je werkruimte.
Klaar om je deep learning naar een hoger niveau te tillen? Bekijk Advanced Deep Learning with Keras om te zien hoe de functionele API van Keras je helpt domeinkennis op te bouwen om nieuwe soorten problemen op te lossen.
Deze oefening maakt deel uit van de cursus
Beeldmodellering met Keras
Oefeninstructies
- Gebruik de functie
convolution()om de geëxtraheerde kernel te convolueren met het eerste kanaal van het vierde item in de afbeeldingsarray. - Visualiseer de resulterende convolutie met
imshow().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
import matplotlib.pyplot as plt
# Convolve with the fourth image in test_data
out = ____(____[____, :, :, 0], kernel)
# Visualize the result
____
plt.show()