Skip to content

Latex code for making neural networks diagrams

License

Notifications You must be signed in to change notification settings

GeolearnAI/PlotNeuralNet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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

VGG16

Holistically-Nested Edge Detection

About

Latex code for making neural networks diagrams

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TeX 51.0%
  • Python 48.6%
  • Shell 0.4%