热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PPT做的好不如画图画的好|神经网络绘图篇,涵盖Netron、NNSVG、PlotNeuralNet!

"会议之眼"公众号独家报道:本次为大家介绍的是神经网络的可视化工具和绘图软件。在搭建神经网络以及后期论文写作时,可视化的神经网络

"会议之眼"公众号独家报道:

PPT做的好不如画图画的好 | 神经网络绘图篇,涵盖Netron、NN-SVG、PlotNeuralNet!
本次为大家介绍的是神经网络的可视化工具和绘图软件。在搭建神经网络以及后期论文写作时,可视化的神经网络模型将在很大程度上帮助我们直观地理解模型结构和数据的流动。除了大家常用的PPT+AI+PS之外,小助手也为大家整理了Github上各路大神开发的绘图软件信息。

神经网络绘图软件最新汇总

来自知乎的李佳骏根据软件的便捷及易用性,美观度,是否支持导出,网络结构支持度,平台和工具支持度,按照满分五颗星的标准进行了评价。

示意图

NN SVG ★★★★
提供 三种典型 的神经网络绘图风格,个性化参数多
交互式绘图
jettan/tikz_cnn ★☆
基于tikz的tex的宏指令绘制
绘制脚本繁杂
PlotNeuralNet ★★★☆
底层基于tikz的tex的宏指令绘制
上层提供基于python的描述框架,绘制脚本简单
可绘制复杂的网络结构
ConvNetDraw ★★
基于Javascript和css绘制
仅支持基本Layer类型
gwding/draw_convnet ★★☆
简单易用
底层基于matplotlib绘制
ajtulloch/dnngraph (便捷性不好评价,暂不打分)
基于Haskell语言

计算图

lutzroeder/netron ★★★★★
支持工具: ONNX, Keras, CoreML, Caffe2, MXNet, TensorFlow Lite, Caffe, PyTorch, Torch, CNTK, PaddlePaddle, Darknet, scikit-learn, TensorFlow.js, TensorFlow.
提供运行方式: 浏览器, Python Server; macOS, Linux, Windows
draw_net.py ★★☆
caffe自带的画图工具
Netscope ★★★
非常易用
仅支持网页版
Netscope-dgschwend ★★★☆
基于Netscope二次开发
给出网络的各种计算操作次数(非常方便!)
TFLearn ★★★☆
其子工具提供了模型可视化的功能
Tensorboard ★★★
其子工具提供了模型可视化的功能

NN-SVG

Github 地址:
https://github.com/alexlenail/NN-SVG
画图工具体验地址:
http://alexlenail.me/NN-SVG/

NN-SVG是由来麻省理工学院弗兰克尔生物工程实验室开发的。可以绘制的图包括以节点形式展示的FCNN style,这个特别适合传统的全连接神经网络的绘制。

以平铺网络结构展示的LeNet style,用二维的方式,适合查看每一层featuremap的大小和通道数目。

以三维block形式展现的AlexNet style,可以更加真实地展示卷积过程中高维数据的尺度的变化,目前只支持卷积层和全连接层。

这个工具的优势是操作方便,通过交互式界面直接控制各层增减及变化,支持三种风格,选择空间大,支持SVG格式下载。缺陷是定制化程度低,各连接层不是很好看。

PlotNeuralNet

Github 地址:
https://lutzroeder.github.io/netron/

PlotNeuralNet是由萨尔大学计算机科学专业的一个学生开发的。目前主要支持的是卷积神经网络,其中卷积层、池化层、bottleneck、skip-connection、up-conv、Softmax等常规的层在代码中都有定义,但是缺少RNN相关的可视化层展示。

代码用Python编写,需要调用LaTex输出PDF格式文档。需要说明的是,该软件在Windows下运行会有很多报错,在Ubuntu系统下则运行正常。接下来我们先看看示例效果。

FCN-8

PPT做的好不如画图画的好 | 神经网络绘图篇,涵盖Netron、NN-SVG、PlotNeuralNet!

VCG-16

PPT做的好不如画图画的好 | 神经网络绘图篇,涵盖Netron、NN-SVG、PlotNeuralNet!

Holistically-Nested Edge Detection

PPT做的好不如画图画的好 | 神经网络绘图篇,涵盖Netron、NN-SVG、PlotNeuralNet!

PlotNeuralNet的使用方法非常简单,将项目克隆下来之后,想用什么结构,就从PlotNeural里找对应的模块,然后将它们拼接起来就好了。

Netron

Github 地址:
https://lutzroeder.github.io/netron/
画图工具体验地址:
https://www.lutzroeder.com/ai/netron/

Netron是一个神经网络可视化包,支持绝大多数神经网络操作。该功能包可以为不同节点显示不同的颜色,卷积层用蓝色显示,池化层和归一化层用绿色显示,数学操作用黑色显示。
      
PPT做的好不如画图画的好 | 神经网络绘图篇,涵盖Netron、NN-SVG、PlotNeuralNet!

在使用方面,你可以直接访问网页端,上传模型文件,就可以看到网络结构图,并可以进一步利用pip安装并引入到程序中通过浏览器查看模型的变化。

如果你想追求个性化设置,可以在Github上下载源码修改相应的设置。如端口后的修改可以在src/init.py中修改,字体颜色可以在src/view-grapher.css中修改。效果如下图所示:

PPT做的好不如画图画的好 | 神经网络绘图篇,涵盖Netron、NN-SVG、PlotNeuralNet!

篇幅原因,小助手就不一一为大家罗列了,快去亲自动手试一试吧!


推荐阅读
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
author-avatar
luhd88112010_254
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有