Визуализация откликов ядра свёртки
Один из способов интерпретировать веса нейронной сети — посмотреть, как ядра, закодированные в этих весах, «воспринимают» изображение. Иными словами, какие свойства изображения выделяет данное ядро. В этом упражнении вы сделаете именно это: выполните свёртку изображения с ядром и визуализируете результат. Используйте переменную test_data с изображениями, функцию extract_kernel() для извлечения ядра из модели и функцию convolution(), которую мы определили в первой главе, — извлеките ядро, загрузите данные из файла и визуализируйте их с помощью matplotlib.
Глубокая CNN model, функция convolution() и kernel, извлечённое в одном из предыдущих упражнений, доступны в вашем рабочем пространстве.
Хотите выйти на новый уровень глубокого обучения? Пройдите курс Advanced Deep Learning with Keras и узнайте, как функциональный API Keras позволяет применять экспертные знания для решения новых типов задач.
Это упражнение является частью курса
Моделирование изображений с помощью Keras
Инструкции к упражнению
- С помощью функции
convolution()выполните свёртку извлечённого ядра с первым каналом четвёртого изображения в массиве. - Визуализируйте результат свёртки с помощью
imshow().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
import matplotlib.pyplot as plt
# Convolve with the fourth image in test_data
out = ____(____[____, :, :, 0], kernel)
# Visualize the result
____
plt.show()