前言
本文介绍了一些关于神经网络可视化的项目,主要有CNN解释器,特征图、卷积核、类可视化的一些代码和项目,结构可视化工具,网络结构手动画图工具。
CNN解释器
这是一个中国博士发布的名叫CNN解释器的在线交互可视化工具。
主要对于那些初学深度学习的小白们 理解关于神经网络是如何工作很有帮助,如卷积过程,ReLU过程,平均池化过程,中间每一层的特征图的样子,都可以看到,相当于给了一个显微镜,可以随意对任意一层,任何一项操作的前后变化,观察得清清楚楚。
显示卷积的过程中前后特征图的变化,中间的操作。
CNN是如何输出预测的
还可以在线上传图片,看到一张图片在经过每一层的卷积,池化,激活后的变化,最后输出预测结果。
项目链接:
https://github.com/poloclub/cnn-explainer
特征图、卷积核、热力图的可视化项目
可视化特征图
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
NN-SVG
这个非常简单,它是一个网页,在左侧输入网络的层数大小,就可以在右边输出网络结构。
项目地址:http://alexlenail.me/NN-SVG/
网络结构手动画图工具
很多新手会问的一个问题,论文中那些网络结构图是如何画的。
这里解答一下,我所了解的主要是用PPT, VISIO。当然也可以使用上面那几个。