神经网络中的可视化

1. Zetane Viewer(上传ML模型,一键可视化)

神经网络在工作的时候,里面到底是什么样?

为了能透视这个“AI黑箱”中的过程,加拿大蒙特利尔一家公司开发一个3D可视化工具Zetane Engine。只需要上传一个模型,Zetane Engine就可以巡视整个神经网络,并且还可以放大网络中的任何一层,显示特征图,看清流水线上的每一步
在这里插入图片描述

参考:

微信文章:https://mp.weixin.qq.com/s/PMdG5hknfz7k9OB6Gad-4A
GitHub源码下载:https://github.com/zetane/viewer
bilibil官方视频讲解:https://www.bilibili.com/video/BV1UR4y1M7xo
bilibili博主介绍:https://www.bilibili.com/video/BV1BP411H71a(配套up主的一些答疑)
bilibili笔记:https://www.bilibili.com/read/cv15291682

2. Grad-CAM:梯度类激活图(Gradient-weighted Class Activation Mapping)

它是CAM(Class Activation Mapping)的升级版,通过Grad-CAM我们能够绘制出如下的热力图(对应给定类别,网络到底关注哪些区域)。

pytorch-grad-cam提供了对模型训练可视化的工具,支持CNN、Vision Transformers,图像分类、目标检测、分割、图片相似性等。可作为一个python可视化工具包,安装如下:

pip install grad-cam

参考:

论文地址:https://arxiv.org/abs/1610.02391
GitHub代码(pytorch):https://github.com/jacobgil/pytorch-grad-cam
bilibili讲解视频:https://b23.tv/1kccjmb

3. Wandb:深度神经网络可视化工具包

可以用来可视化模型训练中的log文件数据,有点类似于tensorboard

博文(介绍了包的部署,登录以及使用方法):https://blog.csdn.net/qq_41664845/article/details/125203439

4. Netron(跟Zetane 类似,但是不支持可视化特征图)

netron提供了两种运行方式:

第一种是以软件的方式安装netron,然后打开软件载入模型,下载地址见github主页https://github.com/lutzroeder/netron。

第二种是将netron作为python库进行安装,在python代码调用netron库来载入模型进行可视化。 可以通过 pip install netron进行安装。

第三种,如果你既不想安装netron软件,也不想安装netron库,netron作者很贴心地做了一个在线demo网站,可以直接上传模型文件查看可视化结果。网站链接https://netron.app。网站页面如下:

参考:

博文:https://blog.csdn.net/weixin_38346042/article/details/119643579
知乎:https://zhuanlan.zhihu.com/p/431445882
博文:(如何用netron可视化pytorch模型):https://blog.csdn.net/weixin_43863869/article/details/121915379

5. deepvis(深度学习可视化盒子)

作者网站:https://yosinski.com/deepvis
论文地址:https://yosinski.com/media/papers/Yosinski__2015__ICML_DL__Understanding_Neural_Networks_Through_Deep_Visualization__.pdf
GitHub代码:https://github.com/yosinski/deep-visualization-toolbox
youtube演示视频:https://yosinski.com/deepvis#toolbox

6. nn_vis

一款神经网络可视化工具,采用了新的3D可视化技术,,可以呈现这样的效果:


它能够创建神经网络模型,还可以通过参数设置,得到不同的呈现形式;并且,根据参数重要性的评估结果,对神经网络进行剪枝,从而简化模型;同时,还可以对神经网络绑定过程实现可视化。

这些功能是怎样实现的呢?

nn_vis利用神经网络优化领域的已有方法,采用批标准化、微调以及特征提取,评估训练后的神经网络不同部分的重要性。再结合边绑定、光线跟踪、3D impostor和特殊的透明技术等,得到神经网络的3D模型,证明了评估结果的有效性。

参考:

博文(详细说明):https://baijiahao.baidu.com/s?id=1693548448632387511&wfr=spider&for=pc
GitHub源码:https://github.com/julrog/nn_vis

7. Conx(可视化工具包)

Python 的一个第三方库 conx 可以通过函数net.picture() 来实现对带有激活函数网络的可视化,可以输出图片格式包括 SVG, PNG 或者是 PIL。

参考

官方文档:https://conx.readthedocs.io/en/latest/index.html

8. GraphCore

主要是展示神经网络中操作的可视化结果,但也包括了网络结构的内容,比如每层的网络参数等。
下面展示了两个网络结构的可视化效果–AlexNet 和 ResNet50:
AlexNet
ResNet50

参考:

官网:https://www.graphcore.ai/posts/what-does-machine-learning-look-like

9. Neataptic

Neataptic 提供了非常灵活的神经网络可视化形式:

  • 神经元和突触可以通过一行代码进行删除;
  • 没有规定神经网络的结构必须包含哪些内容

这种灵活性允许通过神经进化(neuro-evolution)的方式为数据集调整网络结构的形状,并通过多线程来实现。
其效果如下图所示:

参考:

官网:https://wagenaartje.github.io/neataptic/

10. TensorSpace

TensorSpace 是通过 TensorFlow.js,Three.js 和 Tween.js 构建的一个神经网络三维可视化框架。它提供了 APIs 来构建深度学习网络层,加载预训练模型以及在浏览器中就可以生成三维的可视化结构。通过应用它的 API 接口,可以更直观地可视化和理解通过 TensorFlow、Keras 和 TensorFlow.js 等构建的任何预训练模型。
效果图:

参考:

官网:https://tensorspace.org/
教程:https://www.freecodecamp.org/news/tensorspace-js-a-way-to-3d-visualize-neural-networks-in-browsers-2c0afd7648a8/

11. Netscope CNN Analyzer

一款基于 web 端的可视化和分析卷积神经网络结构(或者是任意有向无环图),当前支持使用 Caffe 的 prototxt 形式。
效果如下图所示:

参考:

官网:http://dgschwend.github.io/netscope/quickstart.html

12. Monial

计算图的交互式表示法,展示例子如下所示,左边是输入,右侧就是对应结构的可视化结果。

参考:

GitHub源码:https://github.com/mlajtos/moniel

13. Quiver(也是可视化工具包)

Keras 的一款交互式可视化卷积特征的一个工具
展示例子如下所示:

安装方式:

方式一:

pip install quiver_engine

方式二:

pip install git+git://github.com/keplr-io/quiver.git

参考:

GitHub源码:https://github.com/keplr-io/quiver

14. 还有一些是单纯的二维的网络可视化

参考:https://zhuanlan.zhihu.com/p/147462170

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年4月6日
下一篇 2023年4月6日

相关推荐