电子说
在搭建网络的时候,可视化的模型将在很大程度上帮助我们直观地理解模型结构和数据的流动。那么除了大家常用的Tensorboard外,有木有一种通用又轻量化的可视化包呢?最近一位开发者放出了一个名为Netron的神经网络可视化包,在三种主流操作系统和浏览器端通用,支持包括Tensorflow、caffe2、MXNet等15种常见框架的模型文件可视化,只需要一个轻量级的网页端就可以打开自己的模型文件进行可视化,整个项目不到2M的轻量级大小,在github上已经获得了接近三千五百颗星。
我们先来看看里面可视化的模型长什么样的。下图是tensorflow中搭建的inception_v3模型局部,左边是模型中不同的单元及其互相关系,如果单击某个单元还可以在右边看到它内部的超参数配置,包括输入输出、相关卷积核、数据格式、数据类型、单元命名、stride的长度和padding的类型等等。
这个功能包支持绝大多数神经网络操作,可以为不同的节点显示不同的颜色,其中卷积主要用蓝色标签显示,池化和批归一化用深绿色而非线性的Relu等在使用了褐色,数学操作则用黑色标签标示。
那么如何使用呢?开发者提供了macOS、Linux和Windows的应用程序下载,直接安装即可使用,如果你想马上就能上手试试,那么直接打开网页端也是很方便的,可以访问下面这个网址,上传自己的模型文件即可看到网络结构展现在你的面前:
https://lutzroeder.github.io/netron/https://www.lutzroeder.com/ai/netron/如果你喜欢用python搭建模型并进行调优,利用pip安装并引入到程序中实时通过浏览器查看模型的变化也是极好的:pip install netron
安装完成后直接导入工具包即可:
import netronnetron.start('path/of/your/model')
将会默认在8080创建端口,打开localhost对应端口即可使用。最后,如果你想使用个性化的设置,可以在git上下载源码修改对应的设置,比如端口号可以在src/__init__.py中修改:
parser.add_argument('--port', help='port to serve (default: 8080)', type=int, default=8080)
可视化各个标签的颜色字体可以在src/view-grapher.css中找到对应的操作进行修改。修改成自己熟悉的颜色,可以开始愉快的观看我们的神经网络了:
其他的工具
事实上除了tensorboard外,还有各种适用于不同模型的可视化工具,例如支持caffe模型的Netscope,也能在网页端输出漂亮的可视化模型:
还有一个名为HiddenLayer的工具包,支持PyTroch、Tensorflow和Keras的模型可视化,在没有安装tensorboard的云服务上尤其有用,它可以在本地生成模型架构的png图或者pdf文件,每个节点上标记了详细的输入输出和通道参数,十分方便查看。
它还能实现训练过程的动态可视化,可以直接在jupyter内使用:
是tensorboard不可用是一个很好的可视化工具包,在很多情况下是一个很好的补充。这几个工具包各有所长,小伙伴们可以在实际工作中选择自己需要的工具包来实现可视化,毕竟能看到的网络调起来心里才更有谱!
ref:netscope:http://ethereon.github.io/netscope/quickstart.htmlhidden:https://github.com/waleedka/hiddenlayerhttps://blog.csdn.net/qq_36955294/article/details/84260961SNE: https://cs.stanford.edu/people/karpathy/cnnembed/deepvis:http://yosinski.com/deepvisDeepVisualization Toolbox:http://yosinski.com/deepvishttps://blog.csdn.net/FreeApe/article/details/72862335visdom:https://blog.csdn.net/yaningli/article/details/88576664tensorboardX:https://github.com/lanpa/tensorboardXhttps://matplotlib.org/faq/usage_faq.html
pic from :https://dribbble.com/shots/3776954-Outco-explainer
全部0条评论
快来发表一下你的评论吧 !