From 86816183454b8ace3f9b75c510351f7d309bed6a Mon Sep 17 00:00:00 2001 From: Heiko J Schick Date: Wed, 10 Jun 2020 11:59:50 +0200 Subject: [PATCH] Added LeNet5 example --- pyexamples/9.png | Bin 0 -> 13795 bytes pyexamples/lenet5.py | 56 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 pyexamples/9.png create mode 100644 pyexamples/lenet5.py diff --git a/pyexamples/9.png b/pyexamples/9.png new file mode 100644 index 0000000000000000000000000000000000000000..1378ce8b417ea7d57fcff819c3500f3e8dc1c50d GIT binary patch literal 13795 zcmeIZg;yQVvM3B22=4AqaM#U-5Zv7@!QI^@xQ5`tJvbW@+${tP5Hz?24et7e^E>z6 zv)1>%f8f2h*P1o6r>nZVq^ql{Yob+^WzbPbP+(wS(B)($)nQ;@$ZeLZhpsN+sdsYC*-v&dbh8BZ@*rMFnv+w*;$8O8*-j_$NYR?e6Xj=HT%1 z@?!VmVRv%1;@}bz65`q|PyxAPxX#eTtzxt81a5HnYadx+Ha-@3c z*TmGx!(D`i=4GJ&{{1sg3vZkM8OhP@-(&#wjZGI9|B*AKd##H2-=F$VLeU(ANE@>0G0@wqkXS+v?P`6G?qJxBM~@tw z9aUsx&<5iBD^O}Mo=hXC+6iG3ld%E|CpdUYe*qE44lz-Ll1UjRFy~oN|UU*Fy z7X~leEd;xt;>KP@4~tWW2|Nb4_Q=Wx!)N2>D+}%P>i<9B|NFRs)TqK3C&>chD#P-? z6KD##zMiDgcj<3+u{nM7t1-D8#UlMDyDmY;*;{fAJacvjnyb~ ze#%yO+!_sU_em1K9M%zwCHSI)$!AMdRjklxzl8|@MI-Q|IVRfa5Etv+t9RoAv(>WA zyPlD~lI_Y;o2u~qH3Fj}DFbkrg?$puwbUqoycVg^FKEPardaY&WZalwpAQFfm*>Bc z$|Q>WyX%8MScH+Q{IvUZzcv|I!kdUS;^(THigY+2GYAN%8SYX%tFM8HK9W_CzkQIh zUkR0pg_?-aV32sFw;OmKORlbDK#)7`^UrD9L$;Ugy(_);Q<{brYgdCX*D7ndp6w2o zqPOV$2Cjc%TpUHam`xVYwtBu@{(Xg#IH{``47T8UpVg+)Y;QRGcO@LZvd*5VP~|sx zB?>M>kV1o@NJ^pohDN_p?0s-GoTYONl4==V$OW5#&ZpD+Jl%#@u>_{a#)i&+b%e6w zxQ;*s9Q~gLtbbw9u1Hmr@JGj*=*j>ikQ*5ICM15p9^taV3A{x}-*6xlXtevx!M6ax&_M z#UfC5BM8{8#MdYKH!M0u7A#*K!#(W25+%029sL{~DQx-->p`*i0~Js`=-rG3*~?QzWIFtr~hq`qsx|u>J1r^$FNm$ryXXlANJU1lH>+lj{8GS2+qxu z$nFJ_cI~;W)uE&aFq&^^nqM3wF7RirXegWA!LuTbz%F@fda_ z{=uF5tBlK%?8qS)dDA(fDYC)bRrJ?5a@P}Jv*Nbvs1JPd0W1olQ2-VkO3h! z4aADI0qu-$EF3Ya!i;5ozIrS16L;-4Whb+3byGlLqL|6}Kq1LBZ&`^TLQ^F6Z_u)P zF#Z*N_c_!3pTVfZ2Ol(w7`eQ=D<>ZZdO zDh&d2lpe!m0*Sg(-`Do6>Nflm-7Vj~4v)z

;oq7>vil+1T16hYl@=3!2?dd^_Me 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 Z7IU53JTzFC;pGb`IVoky8u9m`{|k#%FcAO% literal 0 HcmV?d00001 diff --git a/pyexamples/lenet5.py b/pyexamples/lenet5.py new file mode 100644 index 0000000..75616b2 --- /dev/null +++ b/pyexamples/lenet5.py @@ -0,0 +1,56 @@ + +import sys +sys.path.append('../') +from pycore.tikzeng import * +from pycore.blocks import * + +arch = [ + to_head('..'), + to_cor(), + to_begin(), + + #input + to_input( '9.png', height=7, width=7 ), + + to_Conv("INPUT", 32, 1, offset="(0,0,0)", to="(0,0,0)", height=32, depth=32, width=1, caption="INPUT" ), + to_Conv("C1", 28, 6, offset="(1,0,0)", to="(INPUT-east)", height=28, depth=28, width=6, caption="C1" ), + to_connection( "INPUT", "C1"), + to_Pool("S2", offset="(0,0,0)", to="(C1-east)", height=14, depth=14, width=6, caption="S2"), + to_Conv("C3", 10, 16, offset="(1,0,0)", to="(S2-east)", height=10, depth=10, width=16, caption="C3" ), + to_connection( "S2", "C3"), + to_Pool("S4", offset="(0,0,0)", to="(C3-east)", height=5, depth=5, width=16, caption="S4"), + to_Conv("C5", 120, 1, offset="(1,0,0)", to="(S4-east)", height=1, depth=120, width=1, caption="C5" ), + to_connection( "S4", "C5"), + to_Conv("F6", 84, 1, offset="(1,0,0)", to="(C5-east)", height=1, depth=84, width=1, caption="F6" ), + to_connection( "C5", "F6"), + to_SoftMax("OUTPUT", 10 ,"(3,0,0)", "(C5-east)", caption="OUTPUT" ), + to_connection( "F6", "OUTPUT"), + +# input(32, 32, 1) +# conv(28, 28, 6) + +# pool(14, 14, 6) +# conv(10, 10, 16) +# pool(5, 5, 16) +# conv(1,1,120) +# fullyconn(1,1,84) +# softmax(1,1,10) + + # 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() +