feature map 可视化

想要可视化feature map,那么构建网络时还要动点手脚,定义计算图时,每得到一组激活值都要将其加到Tensorflow的collection中,如下:

tf.add_to_collection('activations', current)

可视化的数据的获得:

img = conv_img[0, :, :, 0]# visualize the first tunnel of the current image
visualize_layers = ['conv1_1', 'conv1_2', 'conv2_1', 'conv2_2', 'conv3_1', 'conv3_2', 'conv3_3', 'conv4_1', 'conv4_2', 'conv4_3', 'conv5_1', 'conv5_2', 'conv5_3']

with tf.Session(graph=tf.get_default_graph()) as sess:   
        init_op = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())
        sess.run(init_op)
        saver.restore(sess, model_path)

        image_path = root_path + 'images/train_images/sunny_0058.jpg'
        img = misc.imread(image_path)
        img = img - meanvalue
        img = np.float32(img)
        img = np.expand_dims(img, axis=0)

        conv_out = sess.run(tf.get_collection('activations'), feed_dict={x: img, keep_prob: 1.0})
        for i, layer in enumerate(visualize_layers):
            visualize_utils.create_dir(dir_prefix + layer)
            for j in range(conv_out[i].shape[3]):
                visualize.plot_conv_output(conv_out[i], dir_prefix + layer, str(j), filters_all=False, filters=[j])

        sess.close()

original address

你可能感兴趣的:(Python视觉学习)