项目地址

目前有很多工具可以绘制卷积神经网络结构图,我在使用过程中发现PlotNeuralNet在配置好环境后使用起来较为方便,且绘制结果比较美观,该项目的地址为:PlotNeuralNet源代码
不过我在Windows系统下实际使用过程中发现一些问题,因此对源代码进行了一些修改,修改后的项目地址为:lazyn的PlotNeuralNet,CSDN资源地址为卷积神经网络+网络结构+绘制网络结构图

官方教程

用户克隆项目到本地后,根据官方教程,只需要下面两步便可以绘制神经网络的结构图。

  1. Install the following packages.

    • Ubuntu 16.04

      sudo apt-get install texlive-latex-extra
      
    • Ubuntu 18.04.2
      Base on this website, please install the following packages.

      sudo apt-get install texlive-latex-base
      sudo apt-get install texlive-fonts-recommended
      sudo apt-get install texlive-fonts-extra
      sudo apt-get install texlive-latex-extra
      
    • Windows

    1. Download and install MikTeX.
    2. Download and install bash runner on Windows, recommends Git bash or Cygwin(https://www.cygwin.com/)
  2. Execute the example as followed.

    cd pyexamples/
    bash ../tikzmake.sh test_simple
    

源代码修改

首先在Windows环境下运行脚本时,会出现../tikzmake.sh: line 13: xdg-open: command not found这样的错误,因此对脚本进行如下修改。

PlotNeuralNet绘制卷积神经网络结构图-LMLPHP

其次源代码仅支持filter尺寸为正方形的网络显示,尽管通过 height=48, depth=48可以修改宽和高,但修改的也仅仅是显示效果,实际特征图尺寸仍为正方形,这样输出的网络图如下图所示,该网络图还存在如下问题:

  • 特征图尺寸显示在边角,在我看来不够美观;
  • 无法显示池化层特征图信息;

PlotNeuralNet绘制卷积神经网络结构图-LMLPHP

为了解决上述问题,对layers/Box.sty和pycore/tikzeng.py进行修改,对比图如下所示:

PlotNeuralNet绘制卷积神经网络结构图-LMLPHP

PlotNeuralNet绘制卷积神经网络结构图-LMLPHP

经过上述修改后,输出网络图如下所示,由于使用需要,我只修改了卷积层和池化层的代码

PlotNeuralNet绘制卷积神经网络结构图-LMLPHP

11-16 06:57