【发布时间】:2017-11-08 06:06:57
【问题描述】:
谁能告诉我如何可视化每个 CNN 层的学习过滤器? 以下答案告诉我如何仅可视化第一个 CNN 层的学习过滤器,但无法可视化其他 CNN 层。
1) 您可以恢复过滤器并使用 Matlab 的函数将它们显示为图像。例如,从http://www.vlfeat.org/matconvnet/pretrained/ 加载预训练网络后:
imshow( net.layers{1}.filters(:, :, 3, 1), [] ) ;
2) 您可能会发现 VLFeat 函数 vl_imarraysc 对显示多个过滤器很有用。 http://www.vlfeat.org/matlab/vl_imarraysc.html
【问题讨论】:
-
第一层有 1 个(灰度)或 3 个(彩色)通道。其他层有更多的通道(例如,64、128、512)。如果您有 3 个以上的通道,则不清楚如何同时可视化通道。您可以一次查看一个通道,例如:net.layers{2}.filters(:, :, 21, 1),与可视化第一层过滤器的方式相同。告诉我
-
@DataHungry 我看过很多论文,其中他们展示了不同层的特征。他们只显示一个频道吗?
标签: computer-vision deep-learning conv-neural-network convolution matconvnet