Visualisera kernelsvar
Ett sätt att tolka vikterna i ett neuralt nätverk är att undersöka hur de kernlar som lagras i dessa vikter "uppfattar" världen – det vill säga vilka egenskaper i en bild som framhävs av en given kernel. I den här övningen gör vi det genom att konvolvera en bild med kerneln och visualisera resultatet. Givet bilderna i variabeln test_data, en funktion extract_kernel() som extraherar en kernel från det angivna nätverket, samt funktionen convolution() som definierades i det första kapitlet – extrahera kerneln, läs in data från en fil och visualisera resultatet med matplotlib.
Ett djupt CNN model, en funktion convolution(), samt den kernel du extraherade i en tidigare övning finns tillgängliga i din arbetsyta.
Redo att ta din djupinlärning till nästa nivå? Kolla in Advanced Deep Learning with Keras och se hur Keras funktionella API låter dig bygga domänkunskap för att lösa nya typer av problem.
Den här övningen är en del av kursen
Bildmodellering med Keras
Övningsinstruktioner
- Använd funktionen
convolution()för att konvolvera den extraherade kerneln med den första kanalen i det fjärde elementet i bildmatrisen. - Visualisera den resulterande faltningen med
imshow().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
import matplotlib.pyplot as plt
# Convolve with the fourth image in test_data
out = ____(____[____, :, :, 0], kernel)
# Visualize the result
____
plt.show()