此Keras conv_filter_visualization示例为VGG-16网络的第5层输出8x8可视化权重网格。代码遍历512个过滤器中的128个,并可视化损失最大的那些过滤器的权重。输出示例为here。
为什么网格中的每个单元格都有128x128像素的尺寸?
VGG的第5层,有三个512x3x3过滤器:
x = Convolution2D(512, 3, 3, activation='relu', border_mode='same', name='block5_conv1')(x)
x = Convolution2D(512, 3, 3, activation='relu', border_mode='same', name='block5_conv2')(x)
x = Convolution2D(512, 3, 3, activation='relu', border_mode='same', name='block5_conv3')(x)
x = MaxPooling2D((2, 2), strides=(2, 2), name='block5_pool')(x)`
我对如何将这些视觉化为128x128像素单元感到困惑。
答案 0 :(得分:0)
网络输入是128x128灰度图像,因此可视化中的每个单元格都是将测试图像与其中一个过滤器进行卷积的结果。 显示了64个最有区别的过滤器。