主要介绍两种用matplotlib画CNN结构图的方法代码,下一篇介绍用pydot画CNN结构图。

1.如果你需要这样的结构图,如下图:

代码资源可以在GitHub上找到,具体连接有很多,很容易找到,比如:https://github.com/gwding/draw_convnet,这里主要分析一下代码的原理和结构

原理:采用的是以列表的形式保存各类层的数据

如卷积层的数据表示,这种画图方式需要你计算经过每次卷积计算之后特征图大小,目前看到的代码似乎只能展示卷积层和池化层,一些其他的结构展示需要自己开发了

另外很重的一点就是,matplotlib的版本一定要在2以上3以下,2以下不能运行,3以上可以运行但是结果展示出现问题,如下图实在3.0.0版本下运行结果:

最开始的结构图是我改动源代码之后画出的图,

得到了

这是在matplotlib2.2.3版本下实现的

2.这种方法是上一种的升级版

从代码角度讲更加灵活,是直接输入搭建的CNN结构得到的,不用像方法1那样对结构进行计算和拆分。

原始代码在GitHub上可以找的:https://github.com/yu4u/convnet-drawer

作者还给出了一些实例

从图的美观性上考虑,代码可以对图的颜色,长度和角度等进行灵活的调节。

此外,还有多种多样的方法绘出CNN可视化结构图,比如Visio软件直接画,如下图,图片画出来也很好看。但是我没有尝试过,不知道是否好画。

如何用 matplotlib 画论文中的CNN结构图相关推荐

  1. python 画三维函数图-如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

  2. python画三维立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  3. python怎样画立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  4. 柱状图怎么添加数据python_Python数据可视化:如何用Matplotlib创建柱状图

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于Trochil蜂鸟数据,作者:蜂鸟数据Trochil 本文的 ...

  5. python画三维立体图完整代码_如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

  6. python多边形图案_如何用matplotlib中的自定义图案填充多边形?

    您可以子类matplotlib.hatch.Shapes,并根据在unit square[[-0.5,0.5]x[-0.5,0.5]]内绘制的任何引用路径定义自定义图案填充.在 暂定:import n ...

  7. 每日一学:如何用matplotlib展示图片

    点击上方"算法猿的成长",关注公众号,选择加"星标"或"置顶" 总第 130 篇文章,本文大约 1000 字,阅读大约需要 5 分钟 前言 ...

  8. python如何用matplotlib绘图_Python绘图的多图控制(使用Matplotlib),python,利用,matplotlib...

    之前习惯matlab画图,但因为最近这个趋势,还是得逐步将代码都换成python保险一些 1. 多个画图窗口 在matlab中,可以使用 fig1=figure(1) plot(x,y) fig2=f ...

  9. python用matplotlib画球_python 如何用matplotlib画一个漂亮的圆-百度经验

    import numpy as np import matplotlib.pyplot as plt from matplotlib import colors # 该行用于设置chart 的样式,可 ...

  10. python怎么画出好看的统计图_python数据可视化之如何用matplotlib画出漂亮美观的趋势图...

    这几天完成了一个小项目,matplotlib画出的图像总是不理想,很多细节需要调节,譬如横坐标的控制.图例的控制.周边留白的控制还有图片大小尺寸的控制,都需要根据业务需求来调整. 下面我一步步来说明 ...

最新文章

  1. PHP nl2br()格式化输出
  2. 解决select 下拉框选择器 input输入框 、时间日期选择器el-date-picker 赋值后,出现无法修改选中更改问题
  3. Unrecognized option: -javaagent
  4. Codeforces Round #192 (Div. 2)
  5. C++:04---内联函数
  6. 文件服务器+快照恢复,云服务器快照恢复
  7. android自动化测试--appium运行的坑问题及解决方法
  8. 自然语言处理——BERT情感分类实战(一)之预处理
  9. 复制过去格式不一样_疫情过去后,打卡不一样的过山车
  10. js对H5链接url进行解密实现过程(vue)
  11. java中如何插入表格_Java如何向Word文档中添加表格?
  12. C/C++每日一问--判断素数
  13. 由国内媒体的“非典”报道看信息生态问题-引文
  14. java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager acti
  15. git clone出现 fatal: unable to access ‘https://github.com/...‘resolve host: ds-git.gree.com的解决办法
  16. python中functools的partiaethod_Python中functools模块函数解析
  17. # Java 并发编程的艺术(二)
  18. winU盘装Linux win32,用win32diskimager制作ubuntu U盘安装盘
  19. 生产者消费者ReentrantLock实现以及BlockingQueue实现
  20. 《从菜鸟到大师-杨老师课程笔记》Python工程师之 01

热门文章

  1. VS+QT5报错:LNK2019无法解析的外部符号“_declspec(dllimport)public:bool_cdecl QSerialPort“
  2. centos7设置DNS
  3. 网站建设需要怎么做?个人网站建设教程
  4. 社交媒体与社会网络分析,深度分析社交网络问题
  5. Fedora 30 将默认启用 DNF-best 模式
  6. 【技术】如何通过局域网连接到惠普HP打印机
  7. 单片机位寻址举例_51单片机直接寻址方式与编程举例
  8. 怎么取消计算机文件共享,Win10系统怎么取消文件共享
  9. java 杨辉三角_JAVA实现杨辉三角的三种方式
  10. 英文论文写作的注意事项都有哪些?