Need help with PlotNeuralNet?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

HarisIqbal88
12.9K Stars 1.8K Forks MIT License 58 Commits 49 Opened issues

Description

Latex code for making neural networks diagrams

Services available

!
?

Need anything else?

Contributors list

# 3,409
deep-ne...
LaTeX
TeX
Python
25 commits
# 12,508
deep-ne...
LaTeX
TeX
Python
5 commits
# 23,400
deep-ne...
LaTeX
TeX
Python
2 commits
# 34,653
Python
geophys...
earth-s...
Jupyter...
1 commit
# 18,901
TeX
Google ...
Apache ...
q
1 commit
# 34,034
fully-c...
pytorch
Python
LaTeX
1 commit
# 36,212
deep-ne...
LaTeX
TeX
Python
1 commit
# 36,326
deep-ne...
LaTeX
TeX
Python
1 commit
# 36,347
deep-ne...
LaTeX
TeX
Python
1 commit
# 35,154
LaTeX
TeX
SQLite
SQL
1 commit

PlotNeuralNet

DOI

Latex code for drawing neural networks for reports and presentation. Have a look into examples to see how they are made. Additionally, lets consolidate any improvements that you make and fix any bugs to help more people with this code.

Examples

Following are some network representations:

FCN-8 (view on Overleaf)

FCN-32 (view on Overleaf)

Holistically-Nested Edge Detection (view on Overleaf)

Getting Started

  1. Install the following packages on Ubuntu.
    • 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](https://miktex.org/download).
2. Download and install bash runner on Windows, recommends [Git bash](https://git-scm.com/download/win) or Cygwin(https://www.cygwin.com/)
  1. Execute the example as followed.
    cd pyexamples/
    bash ../tikzmake.sh test_simple
    

TODO

  • [X] Python interface
  • [ ] Add easy legend functionality
  • [ ] Add more layer shapes like TruncatedPyramid, 2DSheet etc
  • [ ] Add examples for RNN and likes.

Latex usage

See

examples
directory for usage.

Python usage

First, create a new directory and a new Python file:

$ mkdir my_project
$ cd my_project
vim my_arch.py

Add the following code to your new file:

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

defined your arch

arch = [ to_head( '..' ), to_cor(), to_begin(), to_Conv("conv1", 512, 64, offset="(0,0,0)", to="(0,0,0)", height=64, depth=64, width=2 ), to_Pool("pool1", offset="(0,0,0)", to="(conv1-east)"), to_Conv("conv2", 128, 64, offset="(1,0,0)", to="(pool1-east)", height=32, depth=32, width=2 ), to_connection( "pool1", "conv2"), to_Pool("pool2", offset="(0,0,0)", to="(conv2-east)", height=28, depth=28, width=1), to_SoftMax("soft1", 10 ,"(3,0,0)", "(pool1-east)", caption="SOFT" ), to_connection("pool2", "soft1"), to_end() ]

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

if name == 'main': main()

Now, run the program as follows:

bash ../tikzmake.sh my_arch

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.