HarisIqbal88 / PlotNeuralNet

Latex code for making neural networks diagrams
MIT License
21.74k stars 2.84k forks source link

python interface #11

Closed pedrodiamel closed 5 years ago

pedrodiamel commented 5 years ago

Amazing project. Thanks for this lovely repo. I included the python interface for graphics fast generate. I think that could be an exciting feature for your project :).

   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
HarisIqbal88 commented 5 years ago

This is certainly a very nice addition. Although I would prefer that we also provide layers with generic names in box shapes rather than in layer names.