Brandon Lin a8617c7367 doc: add instructions of getting started in README.md
* Add instructions for installing pdflatex package.
* Add commands for executing example.
2019-04-13 22:33:17 +08:00
2018-11-23 22:38:54 +01:00
2018-12-20 21:27:29 +01:00
2019-02-01 14:50:48 -03:00
2018-12-11 01:17:16 +01:00

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.

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
      
  2. Execute the example as followed.
    cd pyexamples/
    bash ../tikzmake.sh test_simple
    

TODO

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

Latex Usage

see examples

PyUsage

mkdir my_project
cd my_project
vim my_arch.py

    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()

bash ../tikzmake.sh my_arch

Examples

Following are some network representations:

FCN-8

FCN-32

Holistically-Nested Edge Detection
S
Description
No description provided
Readme MIT 2.2 MiB
Languages
Python 52.2%
TeX 46.9%
Shell 0.9%