Latex neural net diagrams

Haris Iqbal 6177655106 Update README.md 3 weeks ago
.idea bed2cc7b5f ignore gz log + new examples 3 months ago
core 9e0c6774a0 add res block 1 month ago
examples 81757e5999 [Unimportant]fixed unet_ushape folder name 2 months ago
layers 079aadd2fd Fixed labelling z-axis 3 months ago
test b3c7cbd03f add add input python layer 1 month ago
.gitignore 9e0c6774a0 add res block 1 month ago
LICENSE 4704e1ebff Create LICENSE 3 months ago
README.md 6177655106 Update README.md 3 weeks ago
tikzmake.sh 3ec6f4c617 python interface 1 month ago

README.md

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

  • [X] 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 core.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