Визуализация вывода промежуточных слоев cnn в pytorch

Я пытаюсь визуализировать вывод промежуточных слоев сети VGG19 из модуля torchvision, в частности слоя conv4_2. Я извлек вывод в виде тензора формы [1, 512, 50, 50]. Но как визуализировать изображение с 512 каналами?


person Judy T Raj    schedule 25.03.2019    source источник
comment
Невозможно представить тензор с каналами как «изображение». В целях анализа вы можете построить каждый из каналов в виде 2D-изображения.   -  person Haran Rajkumar    schedule 25.03.2019


Ответы (1)


Визуализация признаков — очень сложная тема.
Если вы хотите получить визуальное представление о том, на что реагирует каждый фильтр (из 512) обученной сети, вы можете использовать такие методы, как эти: распространение градиентов от вывода conv4_2 к входному изображению и изменение изображения для максимального отклика функции. Вам придется пройти через регуляризацию и т. д., чтобы получить гладкие визуально приятные результаты.

Кроме того, вы можете увидеть конкретные ответы каждого фильтра (из 512) для каждого местоположения (перекрывающиеся рецептивные поля). В этом случае у вас есть 512 различных изображений интенсивности 50 на 50, каждое из которых показывает карту реакции каждого нейрона на входное изображение.

person Shai    schedule 25.03.2019