导言:html
前面介绍了可视化的三种方法--特征图可视化,卷积核可视化,类可视化,这三种方法在不少提出新模型或新方法的论文中很常见,其主要做用是提升模型或者新方法的可信度,或者用来增长工做量,或者用来凑字数,还有一些做用是帮助理解模型针对某个具体任务是如何学习,学到了哪些信息,哪些区域对于识别有影响等。git
本文将介绍一些可视化的项目,主要有CNN解释器,特征图、卷积核、类可视化的一些代码和项目,结构可视化工具,网络结构手动画图工具。github
这是一个中国博士发布的名叫CNN解释器的在线交互可视化工具。主要对于那些初学深度学习的小白们 理解关于神经网络是如何工做颇有帮助,如卷积过程,ReLU过程,平均池化过程,中间每一层的特征图的样子,均可以看到,至关于给了一个显微镜,能够随意对任意一层,任何一项操做的先后变化,观察得清清楚楚。网络
显示卷积的过程当中先后特征图的变化,中间的操做。工具
CNN是如何输出预测的学习
还能够在线上传图片,看到一张图片在通过每一层的卷积,池化,激活后的变化,最后输出预测结果。动画
项目连接:3d
https://github.com/poloclub/cnn-explainerhtm
可视化特征图blog
https://github.com/waallf/Viusal-feature-map
可视化卷积核
https://keras.io/examples/vision/visualizing_what_convnets_learn/
https://blog.keras.io/how-convolutional-neural-networks-see-the-world.html
Grad-CAM
https://github.com/ramprs/grad-cam
热力图
https://github.com/heuritech/convnets-keras
下面这个项目是同时包含特征图可视化,卷积核可视化和热力图的一个连接:
https://github.com/raghakot/keras-vis
Netscope
用于可视化模型结构的在线工具,仅支持caffe的prototxt文件可视化。须要本身写prototxt格式的文件。
此图来源于网络,侵删
项目地址:
https://github.com/ethereon/netscope
ConvNetDraw
这个工具用两个图可直接说明,第一个是输入,第二个是输出
这两个图来源于网络,侵删
项目地址:
https://github.com/cbovar/ConvNetDraw
PlotNeuralNet
这个稍微麻烦一点点,效果图以下:
项目地址:
https://github.com/HarisIqbal88/PlotNeuralNet
不少新手会问的一个问题,论文中那些网络结构图是如何画的。
这里解答一下,我所了解的主要是用PPT, VISIO。固然也可使用上面那几个。
再补充一个在线工具,NN-SVG
项目地址:http://alexlenail.me/NN-SVG/
这四篇文章基本介绍完了目前CNN可视化的一些方法,即特征图可视化,卷积核可视化和类可视化,总结了一些可视化工具与项目,固然难免也有个别遗漏的,往后如有一些比较重大突破的一些可视化工具出来,将继续补充,将放在公众号(CV技术指南)的技术总结部分。
对于可视化,其实还包括训练过程的可视化,如Loss值,精度等实时更新,这个比较简单,就不在这个总结系列里说明了。
本文来源于公众号《CV技术指南》的技术总结部分,更多相关技术总结请扫描文末二维码关注公众号。