基于Grad-CAM的CNN卷积神经网络卷积层权重可视化方式

运行环境:WIN10  tensorflow1.3.1  CUDA10 python3.7 Keras Numpy matplotlib OpenCV

原程序来自于github:https://github.com/himanshurawlani/convnet-interpretability-keras

作者的文章blog https://towardsdatascience.com/visual-interpretability-for-convolutional-neural-networks-2453856210ce

实现效果:卷积核可视化、热区图、中间激活层可视化、反卷积可视化

主要作用其实就是把卷积神经网络中的权重激活可视化的展现出来,最初提出具体请看这一篇论文

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization     https://arxiv.org/abs/1610.02391

请教了一下计算机的同学,意思大概是Grad-CAM模型的优势在于不需要重新进行训练,在输出的时候不影响其权重的传递,不改变模型结构,可以直接输出。至于为什么用这一套代码,第一有注释非常清晰……第二我去找了原来论文的代码,不是基于tensorflow环境下的……不好运行,还有一些老的代码(16、17年左右的)在新环境下跑不出来总是报错,其他的一些代码也是需要caffe之类的,这个只需要tensorflow下的一些就可以。这个轮子非常好用!