可视化第二个卷积层

时间:2018-07-17 19:01:11

标签: tensorflow conv-neural-network tensorboard

因此,通过tf.summary,我将模型中的第一个卷积层(形状[5,5,3,32])可视化为一组单独的图像,每个滤镜一个。因此该层的过滤器的尺寸为5x5,深度为3,其中有32个。我将这些滤镜视为5x5彩色(RGB)图像。

我想知道如何将其推广到第二个卷积层,以及第三层和下一个...
第二个卷积层的形状是[5,5,32,64]。
我的问题是如何将张量转换为单个5x5x3图像?

具有第一个形状为[5,5,3,32]的conv层,我先将其移置tf.transpose(W_conv1,(3,0,1,2)),然后再获得32张5x5x3图像,以使其可视化。

做一个tf.transpose(W_conv2,(3,0,1,2))会产生一个形状[64,5,5,32]。然后我将如何使用那些“ 32个颜色通道”? (我知道它不是那么简单:))。

1 个答案:

答案 0 :(得分:2)

高级过滤器的可视化通常是间接完成的。为了使特定的滤镜可视化,您需要查找滤镜响应最大的图像。为此,您可以在图像空间中执行梯度上升(而不是像训练网络时那样更改网络参数,而是更改输入图像)。

如果使用以下Keras代码,您会更容易理解:https://github.com/keras-team/keras/blob/master/examples/conv_filter_visualization.py