視覺化卷積核的回應
解讀神經網路權重的一種方式,是觀察這些權重中的卷積核如何「看」世界。也就是說,這個卷積核會強調影像中的哪些特性。在本練習中,我們會將影像與卷積核做卷積,並把結果視覺化。已提供的 test_data 變數包含影像,extract_kernel() 函式可從給定的網路擷取卷積核,另有你在第 1 章定義的 convolution() 函式。請擷取卷積核,從檔案載入資料,並用 matplotlib 視覺化結果。
你的工作環境中已提供一個深層 CNN model、convolution() 函式,以及你在前面練習中擷取的 kernel。
想把你的深度學習功力再往上一階嗎?前往 Advanced Deep Learning with Keras,看看 Keras functional API 如何幫助你建立領域知識,解決新型態的問題。
本練習屬於課程
使用 Keras 進行影像建模
練習說明
- 使用
convolution()函式,將擷取到的卷積核與影像陣列中第 4 個項目的第 1 個通道做卷積。 - 使用
imshow()視覺化卷積結果。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
import matplotlib.pyplot as plt
# Convolve with the fourth image in test_data
out = ____(____[____, :, :, 0], kernel)
# Visualize the result
____
plt.show()