Skip to content

Latex code for making neural networks diagrams, make it windows-friendly and more documents

License

Notifications You must be signed in to change notification settings

SamuraiBUPT/PlotNeuralNetX

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlotNeuralNet - Zh_CN

DOI

该仓库是PlotNeuralNet的中文仓库。

PlotNeuralNet通过LaTex、Python、Shell三种方式辅助绘制神经网络。您可以查看示例以了解它们是如何制作的。此外,让我们整合您所做的任何改进并修复任何错误,以帮助更多的人使用此代码。

  • python脚本用于进行个人神经网络的搭建
  • shell脚本作为中间件,串联python与LaTex的协作工作
  • LaTex用于绘制优美的神经网络结构图。

神经网络示例图

下面是一些用PlotNeuralNet绘制的神经网络结构图的示例:

Holistically-Nested Edge Detection (view on Overleaf)

快速开始-Windows

下面是针对windows用户的启动方案

1. 前置设置

  • 确保您的电脑上安装了LaTex。官方仓库推荐安装 MikTeX ,不过本人仅仅安装了texlive就可以正常运行~
  • 确保您的Windows操作系统具有运行Shell脚本的环境。推荐使用Git bash 或者 Cygwin

2. 克隆本仓库

您可以使用 git clone https://github.com/SamuraiBUPT/PlotNeuralNet-Windows.git 来完成仓库的克隆操作。

3. 跟随以下示例了解如何运行~

  • 将克隆后的项目文件夹用IDE打开
  • 启用bash环境(如果您已经有Git Bash,并且配置好了环境变量,您可以直接在终端输入bash 或者sh 进入shell脚本的运行环境。您会看见终端前方的指示符从windows系统的黑白变成了其他颜色。
  • 进入pyexamples路径,(cd pyexamples/
  • 输入bash ../tikzmake.sh test_simple 命令来查看您的第一份神经网络图的绘制结果。

解释

如您所见,当您在pyexamples路径下创建好自己的python脚本后,仅需要在该路径下调用上一层路径的tikzmake.sh脚本来运行即可。

bash指令是在指定Shell脚本的编译器

../tikzmake.sh是在指定:执行上一层目录下的tikzmake.sh脚本

test_simple是当前路径下的一份python文件的文件名,注意不需要加上.py的后缀!。在这里,这个文件名会作为shell脚本的参数传入,决定了shell脚本执行的目标是哪份文件。

用法

常规的初始化

一份常规的组织神经网络的python代码,应该有如下骨架:

import sys

sys.path.append('../')
from pycore.tikzeng import *

# defined your arch
arch = [
    to_head('..'),
    to_cor(),
    to_begin(),

    // your architecture here...

    to_end()
]


def main():
    namefile = str(sys.argv[0]).split('.')[0]
    to_generate(arch, namefile + '.tex')


if __name__ == '__main__':
    main()

如您所见,其实唯一需要您进行改动的,是arch 列表里面的内容,在to_begin()to_end() 函数之间的部分。

函数描述

有关函数的描述您可以参阅这篇博客

About

Latex code for making neural networks diagrams, make it windows-friendly and more documents

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 53.0%
  • TeX 46.2%
  • Shell 0.8%