热门标签 | 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!

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


推荐阅读
  • 深入解析 Unity URP/SRP 渲染管线:匠心打造的全面指南
    本文深入探讨了Unity中的URP、SRP和HDRP渲染管线,详细解析了它们之间的关系及各自的特点。首先介绍了SRP的基本概念及其在Unity渲染架构中的作用,随后重点阐述了URP和HDRP的设计理念与应用场景。文章还分析了SRP诞生的背景,解释了为何Unity需要引入这一灵活的渲染框架,以满足不同项目的需求。通过对比URP和HDRP,读者可以更好地理解如何选择合适的渲染管线,以优化项目的性能和视觉效果。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • jQuery Flot 数据可视化插件:高效绘制图表的专业工具
    jQuery Flot 是一款高效的数据可视化插件,专为绘制各种图表而设计。该工具支持丰富的图表类型和自定义选项,适用于多种应用场景。用户可以通过其官方网站获取示例代码和下载资源,以便快速上手和使用。 ... [详细]
  • 从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南
    从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南 ... [详细]
  • 结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法
    结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 【前端开发】深入探讨 RequireJS 与性能优化策略
    随着前端技术的迅速发展,RequireJS虽然不再像以往那样吸引关注,但其在模块化加载方面的优势仍然值得深入探讨。本文将详细介绍RequireJS的基本概念及其作为模块加载工具的核心功能,并重点分析其性能优化策略,帮助开发者更好地理解和应用这一工具,提升前端项目的加载速度和整体性能。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
  • 需求:在指定的DIV区域内点击时,需展示该区域内的附加操作面板;而在区域外点击时,则应自动隐藏该附加操作面板。通过精准的事件监听与处理,确保用户交互体验的流畅性和直观性。 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • 本文介绍了在 Android 平台上的图片上传工具类优化方案,重点讨论了如何通过设置 `MultipartEntity` 来实现图片的高效上传。具体实现中,通过自定义 `UserUploadServiceImpl` 类,详细展示了如何构建和发送包含图片数据的 HTTP 请求。此外,还探讨了如何处理上传过程中的常见问题,如网络异常和文件格式验证,以确保上传的稳定性和可靠性。 ... [详细]
  • 在前一篇文章中,我们介绍了如何使用Requests库发送GET请求。本文将深入探讨如何通过Requests库发送POST请求,包括参数格式、请求封装等关键技巧,并通过“历史上的今天”API实例进行详细说明。 ... [详细]
  • 整合百度UEditor编辑器于ASP后端的实现步骤与技巧
    随着微软停止对XP系统的支持,公司已全面升级至Windows 7。早期网站创建时使用的编辑器仅兼容IE6浏览器,而如今系统更新后,原有的编辑器已无法满足新环境的需求。本文详细介绍了如何将百度UEditor编辑器整合到ASP后端,包括实现步骤和实用技巧,确保网站在新系统下仍能高效运行并提供良好的用户体验。 ... [详细]
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社区 版权所有