引导

  • 前言
  • 1. torchsummary
  • 2. graphviz + torchviz
  • 3. Jupyter Notebook + tensorwatch
  • 4. tensorboardX
  • 5. netron
  • 6. hiddenlayer
  • 7. PlotNeuralNet
  • 结语

前言

  • 网络可视化的目的一般是检查网络结构的设计是否合理,同时观察输入数据在网络中的变化规律是否符合预期,基于此进行调整。
  • 目前网络可视化的方法非常多,但其中实用的并不多,或者有些方法只适合特定网络,对于自定义网络结构并不友好。
  • 经过学习和验证,个人整理发现有7种网络可视化方法相对较好,新手推荐结合方法1和方法5来使用,简单易上手。
  • 建议在 Anaconda 中单独创建一个环境专门用来显示网络结构和查看网络参数等,因为一些方法安装的时候必须做好版本匹配,可以在新环境里安装其他版本的 torch 和 torchvision 。

1. torchsummary

torchsummary 会输出网络模型的过程层结构,层参数和总参数等信息。对于大多数新手和炼丹师关注具体的层间参数信息没有太大意义,torchsummary 可以很方便地用来获取网络参数量和输出模型大小,效果如下图,具体使用方法见 pytorch 网络模型可视化(一):torchsummary。

2. graphviz + torchviz

该方法需要同时安装两个包 torchviz 和 graphviz 和一个软件 Graphviz,输出的网络结构不够直观,适合关注网络内部细节的人学习,输出的网络结构图是应该是跟踪反向传播得到的,因此是倒着的,具体的安装和使用方法见链接 pytorch 网络模型可视化(二):graphviz + torchviz。

3. Jupyter Notebook + tensorwatch

该方法需要使用 Jupyter Notebook 来实现,这个软件使用和学习是非常简单的,主要存在的问题是各安装包之间版本的匹配和 Jupyter Notebook 中 python 解释器的配置,输出的网络结构图比较直观,细节也相对丰富。具体是安装和使用方法见链接 pytorch 网络模型可视化(三):Jupyter Notebook + tensorwatch。

4. tensorboardX

tensorboardX 的使用比较简单,功能也比较丰富,但安装的时候必须做好版本匹配,否则会出现许多错误。tensorboardX 输出的网络结构需要在浏览器中查看,相对来说不太好看,但细节比较丰富。具体的使用和安装方法见链接 pytorch 网络模型可视化(四):tensorboardX。

5. netron

强烈推荐的一种方法。netron 有 python 包,netron 软件,netron 在线版三种方法来查看网络结构,一般使用 netron 的 python 包查看网络结构就足够。netron 会在浏览器里输出网络结构,可以在浏览器里对其进行导出,简可以说是好看又实用。具体的安装和实用方法见链接 pytorch 网络模型可视化(五):netron。

6. hiddenlayer

hiddenlayer 也是比较实用的一种网络可视化方法,功能也相对比较多,问题就是必须做好版本间匹配,否则会报很多错。具体的使用和安装方法见链接 pytorch 网络模型可视化(六):hiddenlayer。

7. PlotNeuralNet

严格说这其实不是一款网络可视化工具,仅仅是一个画图工具。是利用 python 代码自定义网络结构转为 tex 代码出图的,注意这里的网络结构与自己要训练或者测试的网络结构没有半点关系。PlotNeuralNet 上手难度较大,而且只能针对简单网络结构画图,对于复杂的网络结构是极其不实用的。具体的安装和使用方法见链接 pytorch 网络模型可视化(七):PlotNeuralNet。

结语

没有最好的方法,只有最适合的方法。相信在这7中网络可视化方法中总有最适合你的,最后祝大家在炼丹一道越走越远。

超实用的7种 pytorch 网络可视化方法,进来收藏一波相关推荐

  1. 别在画什么折线图了,教你几种酷炫可视化方法,这个不香嘛?

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本篇文章来自腾讯云 作者:昱良 ( 想要学习Python?Python学习交流群: ...

  2. Adapting Grad-CAM for Embedding Networks - 度量学习网络可视化方法(reid、人脸识别)

    Adapting Grad-CAM for Embedding Networks TL;DR 基于 grad-cam 修改得到一种适配embedding网络的可视化方法,可以用于人脸识别.reid等任 ...

  3. 别动不动就画折线图了,教你4种酷炫可视化方法

    本文转自『机器之心编译』(almosthuman2014) 散点图.线图.直方图.条形图和箱形图,这些都是简单而强大的可视化方法,通过它们你可以对数据集有深刻的认识.在本文中,我们将看到另外 4 个数 ...

  4. pytorch 网络可视化(五):netron

    引导 共三种方法 1. netron 包可视化网络 1.1 安装 netron 包 1.2 测试是否安装成功 1.3 查看网络结构 2. netron 网页版可视化网络 3. netron 软件可视化 ...

  5. pytorch 网络可视化

    今天使用hiddenlayer测试了下retinanet网络的可视化. 首先,安装hiddlayer,直接pip pip install git+https://github.com/waleedka ...

  6. 教你三种检测网络故障方法!!!

    一.检查本机的网卡驱动程序及TCP/IP协议是否安装正确 点击开始>运行,win98/me输入command,win2000以上输入cmd打开命令提示符窗口.输入命令:ping 127.0.0. ...

  7. 直播怎么录屏,这3种录屏幕视频方法快收藏

    如今的互联网发展相当迅速,线上直播也成为了大家娱乐生活方式之一:像是快手.抖音.微博.淘宝等直播都可以在互联网平台上观看.相信大家在观看直播时都会有一些疑惑,比如直播怎么录屏?今天小编就给大家分享3种 ...

  8. 积分梯度:一种新颖的神经网络可视化方法

    ©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 本文介绍一种神经网络的可视化方法:积分梯度(Integrated Gradients),它首先在论文 Gr ...

  9. python 财务分析可视化方法_Python数据可视化的四种简易方法

    Python数据可视化的四种简易方法 作者:PHPYuan 时间:2018-11-28 03:40:43 摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视 ...

最新文章

  1. 根据listObject中的某个字段排序
  2. IDEA tomcat 配置虚拟目录怎么
  3. IE兼容问题 动态生成的节点IE浏览器无法触发
  4. jquery table ajax,JQuery Ajax动态加载Table数据的实例讲解
  5. 【C++11新特性】 C++11智能指针之weak_ptr
  6. spring配置讲解
  7. margin-top失效的解决办法
  8. 常用的C#正则表达式! [转]
  9. 从零开始学前端:标签渐变和媒体查询 --- 今天你学习了吗?(CSS:Day25)
  10. UNIX环境高级编程之第8章:进程控制
  11. 高级Bash脚本编程指南
  12. word文档中实现目录索引中标题加粗,前导符和页码不加粗
  13. iPhone上传全景照片到谷歌街景地图攻略
  14. 唯样商城:常见电阻种类
  15. method not allowed 异常处理
  16. abp ddd mysql_初识ABP vNext(1):开篇计划基础知识
  17. 期货开户客户出入金是什么时间?
  18. 怎样用postman做接口测试,一篇足矣
  19. cordova build android 出错问题汇总
  20. 模拟电路学习入门的建议(综合整理)

热门文章

  1. 【日常学习笔记】2019/1/10(Oracle语句学习)
  2. vue热敏打印机_electron + vue项目实现打印小票功能
  3. Flutter Interact 的 Flutter 1.12 大进化和回顾
  4. 他,23岁找简历代写,入职3天被辞退
  5. 规范化理论:多值依赖
  6. 系统集成小设计作业 以及visio 绘图
  7. 某网站(JSP + Access) 渗透 实例 ( eWebEditor 漏洞 )
  8. libcef学习最详细的入门资料系列之一 :libcef基本的入门知识
  9. 手把手教你打造个人网站(一):申请阿里云服务器
  10. 程序员的简历到底该怎么写?