Windows下使用PlotNeuralNet+latex快速绘制深度学习模型图

一.安装环境

1.1 安装WinEdt7.0

由于某些原因这个不方便说,可以百度搜索WinEdt7.0安装,挺多的,谢谢理解。

1.2安装CTex

下载地址: http://www.ctex.org/CTeXDownload/
下载稳定版清华源中的CTeX_2.9.2.164_Full.exe (1.31G) 即可。下载后根据提示进行安装。
注意事项:安装程序在某些情况下可能覆盖 path 环境变量,原因不明。在安装前注意备份 path 环境变量。

1.3升级Tikz

我们下载下来的CTex版本部分包比较旧,需要自己再更新一下,需要更新Tikz。Tikz下载地址:https://sourceforge.net/projects/pgf/files/?source=navbar
单击“download”即可下载。下载下来后解压该文件夹,其中包含三个子文件夹:doc、source、tex。将三个子文件夹复制到CTex安装目录下的MikTex文件夹下,完成覆盖替换。
文件替换完成后,打开WinEdt 7.0编辑器,依次单击菜单栏 “TeX”—“MikTeX”—“MikTeX Options”,在弹出的对话框中单击“Refresh FNDB”按钮,完成库更新操作,如下图所示:
Windows下使用PlotNeuralNet+latex快速绘制深度学习模型图_第1张图片
Windows下使用PlotNeuralNet+latex快速绘制深度学习模型图_第2张图片

1.4下载PlotNeuralNet工具包

下载地址:https://github.com/HarisIqbal88/PlotNeuralNet,把下好的文件放入你的python工作空间即可使用。

1.5使用步骤(测试)

这里以vscode为例,当然,别的能运行python的编辑器也可以,主要是生成.tex文件
(1)打开vscode依次选择PlotNeuralNet—pyexamples—test_simple.py
(2)Run code生成同名.tex文件
(3)去工作空间该目录下找到同名.tex文件用WinEdt打开
(4)点击导航栏中的pdf生成按钮,会在当前文件同级下生成同名.pdf文件,按钮位置如下图所示
在这里插入图片描述
(5).完成

二.使用

2.1第一个实例

新建文件my_test.py,复制test_simple.py所有内容,对arch部分进行修改,如下所示

arch = [
    to_head( '..' ),
    to_cor(),
    to_begin(),
    
    to_Pool(name="pool_b1", offset="(0,0,0)", to="(0,0,0)", width=16, height=16, depth=16, opacity=0.5,caption="first"),  
    to_Pool(name="pool_b2", offset="(2,0,0)", to="(pool_b1-east)", width=16, height=16, depth=16, opacity=0.5,caption="second"),  
    to_connection( "pool_b1", "pool_b2"),

    to_end()
    ]

按照上面测试中的步骤生成my_test.pdf,打开就会看到如下图,但是你会发现没有我的好看,哈哈,主要是改了颜色,这里我放到后面讲。
Windows下使用PlotNeuralNet+latex快速绘制深度学习模型图_第3张图片

2.2定位,插图,自定义颜色

由前面的介绍可以知道PlotNeuralNet只是一个快速编写生成.tex文件的工具,大部分tex代码就不用我们手敲,达到快速开发的一个目的。里面的函数主要做的就是获取变量参数,用字符串拼接tex的代码。下面我将讲一下定位,插图,自定义颜色。
(1)以to_Pool函数为例,下面是这个函数的定义

def to_Pool(name, offset="(0,0,0)", to="(0,0,0)", width=1, height=32, depth=32, opacity=0.5, caption=" ")

name:唯一id识别目标方块
offset,to:to跟offset都为定位参数,to绝对位置,可以理解为空间中的参照位置,offset参照to的位置进行平移。这里建议自己多测试,加深理解。
opacity:透明度
caption:可以理解为方块的显示名字,比如说上图的first
(2)以to_input函数为例,讲解插图

def to_input( pathfile, to='(-3,0,0)', width=8, height=8, name="temp" ):

pathfile:图片路径
to:定义图片绝对位置,这样就可以有多个输入
(3)自定义颜色
颜色其实可以自己写轮子,但没必要,打开.tex文件,在最上面可以看到

\def\PoolColor{rgb:red,1;black,0.3}

这种语句,其实就是通过rgb自定义颜色,往下翻,可以看到

\pic[shift={ (0,0,0) }] at (0,0,0) 
    {Box={
        name=pool_b1,
        caption=first,
        fill=\PoolColor,
        opacity=0.5,
        height=16,
        width=16,
        depth=16
        }
};

这里面的fill就是自定义的颜色了,填入对应的颜色命名就可以为方块改变颜色。

到此为止就讲完了,希望能帮助到需要的人。下面附上几张更优秀的图。
Windows下使用PlotNeuralNet+latex快速绘制深度学习模型图_第4张图片
Windows下使用PlotNeuralNet+latex快速绘制深度学习模型图_第5张图片
Windows下使用PlotNeuralNet+latex快速绘制深度学习模型图_第6张图片

你可能感兴趣的:(学习笔记,神经网络,latex,tikz)