From 593deaa555ff43060dba5ae6a5808b1a537c48d8 Mon Sep 17 00:00:00 2001 From: soylisK Date: Wed, 25 Sep 2019 21:00:38 +0300 Subject: [PATCH 1/5] add BachNorm,FulCon --- Deep4-net/Deep4-net.pdf | Bin 0 -> 39719 bytes Deep4-net/Deep4-net.py | 57 ++++++++++++++++++++++++++++++++++++++++ pycore/__init__.pyc | Bin 106 -> 108 bytes pycore/tikzeng.py | 33 ++++++++++++++++++++++- pycore/tikzeng.pyc | Bin 7118 -> 8297 bytes 5 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 Deep4-net/Deep4-net.pdf create mode 100644 Deep4-net/Deep4-net.py diff --git a/Deep4-net/Deep4-net.pdf b/Deep4-net/Deep4-net.pdf new file mode 100644 index 0000000000000000000000000000000000000000..de9a2e4bd38b731fb2677a7a184b838fe6caccef GIT binary patch literal 39719 zcma%?L$oM8w5_*o+qP}nXWO=I+qP}nwr!qm+wc5$yxV%6SFO|-)u<#ZU)EeRAyp6& zqh+LHg(96_9$ANCBVZt~Gqi-_;en!;F|jpsHYZ?XXJR4vp9hLw%);8)#F2nr%-X=& zM8w3%&e#Nsj}OYp+0n$n2FiW&npb0vq|M>>1NEDN7iQ+uU0O996vRG0=4HTtA6zh$ zMWVE3m@)C|OXdEIENkSP)058%o_OJARb@>Ott!$u;dqH2Ij{FK^7e~zzt0;fDQ#MV zdm=ym&hf+I=c12H;KMdDUC*I3kbUV_4np_m_Iv5~d&lqR;gSFAiP+5Z+o9gFtM8~+`29ibsxW9quO z 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 F{|mU#8N2`h literal 0 HcmV?d00001 diff --git a/Deep4-net/Deep4-net.py b/Deep4-net/Deep4-net.py new file mode 100644 index 00000000..f4f8dc4d --- /dev/null +++ b/Deep4-net/Deep4-net.py @@ -0,0 +1,57 @@ +import sys +sys.path.append('../') +from pycore.tikzeng import * + +# defined your arch +arch = [ + to_head( '..' ), + to_cor(), + to_begin(), + + # to_Conv("conv1", 4, 1, offset="(0,0,0)", to="(0,0,0)", height=80, depth=22, width=1 ), + # to_Conv("conv2", 4, 4, offset="(1,0,0)", to="(conv1-east)", height=80, depth=22, width=1 ), + to_ConvConvRelu( "conv1", s_filer=4, n_filer=(1,4), offset="(0,0,0)", to="(0,0,0)", width=(3,3), height=40, depth=40, caption="ConvBlock1"), + to_BN("bn1", offset="(0.4,0,1.5)", to="(conv1-east)",height=25, depth=20, width=2,caption="BatchNorm1" ), + to_Pool("pool1", offset="(1.5,0,1)", to="(bn1-east)",height=40, depth=20, width=1,caption="MaxPool1" ), #2x1 + to_connection( "bn1", "pool1"), + + to_ConvConvRelu( "conv2", s_filer=8, n_filer=(4,8), offset="(2.5,0,0)", to="(pool1-east)", width=(3,3), height=40, depth=38, caption="ConvBlock2"), + to_BN("bn2", offset="(0.4,0,1.5)", to="(conv2-east)",height=25, depth=20, width=2,caption="BatchNorm2" ), + to_Pool("pool2", offset="(1.5,0,1)", to="(bn2-east)",height=40, depth=20, width=1,caption="MaxPool2" ), #2x1 + to_connection( "pool1", "conv2"), + to_connection( "bn2", "pool2"), + + to_ConvConvRelu( "conv3", s_filer=16, n_filer=(8,16), offset="(2.5,0,0)", to="(pool2-east)", width=(3,3), height=40, depth=36, caption="ConvBlock3"), + to_BN("bn3", offset="(0.4,0,1.5)", to="(conv3-east)",height=25, depth=20, width=2,caption="BatchNorm3" ), + to_Pool("pool3", offset="(1.5,0,1)", to="(bn3-east)",height=40, depth=25, width=1,caption="MaxPool3" ), #2x2 + to_connection( "pool2", "conv3"), + to_connection( "bn3", "pool3"), + + to_ConvConvRelu( "conv4", s_filer=32, n_filer=(16,32), offset="(2.5,0,0)", to="(pool3-east)", width=(3,3), height=37, depth=34, caption="ConvBlock4"), + to_BN("bn4", offset="(0.4,0,1.5)", to="(conv4-east)",height=25, depth=20, width=2,caption="BatchNorm4" ), + to_Pool("pool4", offset="(1.5,0,0.4)", to="(bn4-east)",height=40, depth=25, width=1,caption="MaxPool4" ), #2x2 + to_connection( "pool3", "conv4"), + to_connection( "bn4", "pool4"), + + to_ConvConvRelu( "conv5", s_filer=64, n_filer=(32,64), offset="(2.5,0,0)", to="(pool4-east)", width=(3,3), height=34, depth=30, caption="ConvBlock5"), + to_BN("bn5", offset="(0.5,0.6,1.5)", to="(conv5-east)",height=25, depth=20, width=2,caption="BatchNorm5" ), + to_Pool("pool5", offset="(1.5,0,1)", to="(bn5-east)",height=40, depth=25, width=1,caption="MaxPool5" ), #2x2 + to_connection( "pool4", "conv5"), + to_connection( "bn5", "pool5"), + + to_FulCon("fc1", 256, 128, offset="(8,0,3)", to="(pool5-east)", height=3, depth=30, width=3,caption='FC1'), + to_FulCon("fc2", 512, 256, offset="(1,0,0)", to="(fc1-east)", height=3, depth=30, width=3,caption='FC2'), + to_connection("pool5","fc1"), + + to_SoftMax( "SoftMaX", s_filer=2, offset="(3,0,0)", to="(fc2-east)", width=1.5, height=3, depth=25, opacity=0.8, caption="SoftMaX" ), + to_connection("fc2","SoftMaX"), + + to_end() + ] + +def main(): + namefile = str(sys.argv[0]).split('.')[0] + to_generate(arch, namefile + '.tex' ) + +if __name__ == '__main__': + main() diff --git a/pycore/__init__.pyc b/pycore/__init__.pyc index e9f05b6d19cfdbf93a518bcf3c516d26dac10980..f0263bc7761281104075df616d6c96f61ea2736f 100644 GIT binary patch delta 27 icmd1G;b8vE%eBV2J9Z+6DW@m{1B0HPenI6#7c~HBk_R3D delta 25 gcmd1F;$Z&F%cWP57c-H=lwFvCfk97Cf1;Zj08_99%m4rY diff --git a/pycore/tikzeng.py b/pycore/tikzeng.py index f29e1205..5b1733b8 100644 --- a/pycore/tikzeng.py +++ b/pycore/tikzeng.py @@ -18,6 +18,7 @@ def to_cor(): \def\PoolColor{rgb:red,1;black,0.3} \def\UnpoolColor{rgb:blue,2;green,1;black,0.3} \def\FcColor{rgb:blue,5;red,2.5;white,5} +\def\BatchNcolor{rgb:blue,19;green,69;red,139} \def\FcReluColor{rgb:blue,5;red,5;white,4} \def\SoftmaxColor{rgb:magenta,5;black,7} """ @@ -56,6 +57,22 @@ def to_Conv( name, s_filer=256, n_filer=64, offset="(0,0,0)", to="(0,0,0)", widt }; """ +# FullCon +def to_FulCon( name, s_filer=256, n_filer=64, offset="(0,0,0)", to="(0,0,0)", width=1, height=40, depth=40, caption=" "): + return r""" +\pic[shift={"""+ offset +"""}] at """+ to +""" + {Box={ + name=""" + name +""", + caption="""+ caption +r""", + xlabel={{"""+ str(n_filer) +""", }}, + zlabel="""+ str(s_filer) +""", + fill=\FcColor, + height="""+ str(height) +""", + width="""+ str(width) +""", + depth="""+ str(depth) +""" + } + }; +""" # Conv,Conv,relu # Bottleneck def to_ConvConvRelu( name, s_filer=256, n_filer=(64,64), offset="(0,0,0)", to="(0,0,0)", width=(2,2), height=40, depth=40, caption=" " ): @@ -74,7 +91,21 @@ def to_ConvConvRelu( name, s_filer=256, n_filer=(64,64), offset="(0,0,0)", to="( } }; """ - +# BatchNorm +def to_BN(name, offset="(0,0,0)", to="(0,0,0)", width=1, height=32, depth=32, opacity=0.5, caption=" "): + return r""" +\pic[shift={ """+ offset +""" }] at """+ to +""" + {Box={ + name="""+name+""", + caption="""+ caption +r""", + fill=\BatchNcolor, + opacity="""+ str(opacity) +""", + height="""+ str(height) +""", + width="""+ str(width) +""", + depth="""+ str(depth) +""" + } + }; +""" # Pool diff --git a/pycore/tikzeng.pyc b/pycore/tikzeng.pyc index ed1ff6e9abfb52ced60c36ed3b58ba634cd68bb8..23e43e49c0ea7293fc5107965e717726d152393d 100644 GIT binary patch delta 2173 zcmb_dO>7%Q6n?Y*UB`*-)X64x;@F8voXUw?RTQNmB5IT#IGD;+1#%jtj%Sl>;_hy} zn@WM8fa(h=5=0{*=n)A7f}6#m91#d1RY<*XK;^&z2?P=aB(Ct@%D$roqEf&w1#lu1BCg)(l(kPejWg|`JfDOI3Tef#Ww;3?n(z|(SnM!Jt12B85^ zMvX(jv(R8rjsSl`5~IL}fsaUH3^;>Jxs#Y<<1c)QRfbaqhX=-p0Ylgo8oH}hvFChI!SpFT4oe)gCxs;+voEF^waGR^nBpR%n3 z8&#{W7hGfQMcrH;w>R7%8h5RQMSa;Y6F7IsZ3sF<&yAhQpUR&aHKdRXO21}TeaND5 zkiuzPVAeLhm>>l-nJ5ovnAJ@MZc^G#5({%jBupuhh~h_Kz;A%EN=Ay#koeO->~l!J zNCz%6pSTgo&&uSPm1}wq=^(**R7i$tue-x2?vUr8Og8TaK42YTQlKJ~VhG|bHQUxf zs|Z0YPG2=7pgOKOyXYG3oHLN zQzBd~rd{b$ly~_Sa{RX|B{q&K#9Ix>CN2 zmQ}Nxa~&&e>#-<(_zvxz$YqlZy@KxSmP_b)k3p?s`Sv^XeDzE<)SQm~z@C#%Q19PO zxOG$!$f)v33L7E^#Fi4OkpaxbN tAt;FJ$rCL$ZzVIsBo|iHkQ!FQUH(jreyLb0nu=xPsc5EC^!j7`tmb zJEFO(4pN=8E~93u(=BMiE$0Rjs`m7T(Rm^0@0(qVybwrq{J^JugB4l%jLzSI;Qn% zx+-E$hHVv9^^3Tr&8(V#YguNJt$rZ#nq^m_N`A%5hqITidF7ehLNzo>$wA8+3+E!#CHNamemS)3hD`FCS%=hPx*FVNDu&MuKcKg@Sx|kSZ#rlH;Q;tYF zx~2bJ|9Zqf25p0y>v}<@ZrbPnkt_S#svE63@VtM7-K>A=f5)0`S4+C}l{)Ocu#yk@ zXpfuh=bL1PJr8$eu9IcI5?RWkF>ayZN%oE^~(IExZ}KC zJ=kZ`Y4%1ert?ekB%>F&5dsQu>7cot1bqZH!2rP^L6RUvFhoFgy7W16M+i0}{M9Z0 vHST1yFGhavyw5MsdHWTN3#bE@Vn)q&(~7rc;+cfg?ZmQ(nYbCTqNe@_c&GP; From 59fae6546d9ca92be6680b1cf0da2c81b10e32f2 Mon Sep 17 00:00:00 2001 From: TasosK Date: Wed, 25 Sep 2019 21:05:15 +0300 Subject: [PATCH 2/5] upd add some layer need for personal use --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index a3edec89..1ece29bd 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,12 @@ Base on this [website](https://gist.github.com/rain1024/98dd5e2c6c8c28f9ea9d), p - [ ] Add more layer shapes like TruncatedPyramid, 2DSheet etc - [ ] Add examples for RNN and likes. +## ADD by ME --modified +-[X] to_BN() batch norm with brown color +-[X] to_FulCon() fully connected layer with blue + +check [`Deep4-net`](Deep4-net) + ## Latex usage See [`examples`](examples) directory for usage. From d2185159d5272f633eaf4d225020685a314d1828 Mon Sep 17 00:00:00 2001 From: TasosK Date: Wed, 25 Sep 2019 21:19:33 +0300 Subject: [PATCH 3/5] upd --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1ece29bd..ef025c3b 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ Base on this [website](https://gist.github.com/rain1024/98dd5e2c6c8c28f9ea9d), p - [ ] Add examples for RNN and likes. ## ADD by ME --modified + -[X] to_BN() batch norm with brown color -[X] to_FulCon() fully connected layer with blue From 7cc3d2ea20eb994593aed87a5dc6095b902e12b5 Mon Sep 17 00:00:00 2001 From: TasosK Date: Wed, 25 Sep 2019 21:20:21 +0300 Subject: [PATCH 4/5] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ef025c3b..37d1ac16 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,9 @@ Base on this [website](https://gist.github.com/rain1024/98dd5e2c6c8c28f9ea9d), p ## ADD by ME --modified --[X] to_BN() batch norm with brown color --[X] to_FulCon() fully connected layer with blue +- [X] to_BN() batch norm with brown color + +- [X] to_FulCon() fully connected layer with blue check [`Deep4-net`](Deep4-net) From 3f584ce6387a64c989cdb11bd914e0869a1ffae0 Mon Sep 17 00:00:00 2001 From: soylisK Date: Fri, 27 Sep 2019 17:38:05 +0300 Subject: [PATCH 5/5] upd..graph --- Deep4-net/Deep4-net.pdf | Bin 39719 -> 83639 bytes Deep4-net/Deep4-net.py | 16 ++++++++++------ Deep4-net/input.png | Bin 0 -> 44179 bytes pycore/__init__.pyc | Bin 108 -> 108 bytes pycore/tikzeng.pyc | Bin 8297 -> 8297 bytes 5 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 Deep4-net/input.png diff --git a/Deep4-net/Deep4-net.pdf b/Deep4-net/Deep4-net.pdf index de9a2e4bd38b731fb2677a7a184b838fe6caccef..4ec2fb953b8630b3443796b64637a81167b84ee1 100644 GIT binary patch delta 52320 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 delta 8146 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 diff --git a/Deep4-net/Deep4-net.py b/Deep4-net/Deep4-net.py index f4f8dc4d..4b3b2d2a 100644 --- a/Deep4-net/Deep4-net.py +++ b/Deep4-net/Deep4-net.py @@ -4,36 +4,40 @@ # defined your arch arch = [ + to_head( '..' ), to_cor(), to_begin(), + + to_input('input',name='InputData'), # to_Conv("conv1", 4, 1, offset="(0,0,0)", to="(0,0,0)", height=80, depth=22, width=1 ), # to_Conv("conv2", 4, 4, offset="(1,0,0)", to="(conv1-east)", height=80, depth=22, width=1 ), - to_ConvConvRelu( "conv1", s_filer=4, n_filer=(1,4), offset="(0,0,0)", to="(0,0,0)", width=(3,3), height=40, depth=40, caption="ConvBlock1"), + to_ConvConvRelu( "conv1", s_filer=4, n_filer=(1,4), offset="(0,0,0)", to="(1,0,0)", width=(3,4), height=40, depth=40, caption="ConvBlock1"), + #to_connection( "InputData", "conv1"), to_BN("bn1", offset="(0.4,0,1.5)", to="(conv1-east)",height=25, depth=20, width=2,caption="BatchNorm1" ), to_Pool("pool1", offset="(1.5,0,1)", to="(bn1-east)",height=40, depth=20, width=1,caption="MaxPool1" ), #2x1 to_connection( "bn1", "pool1"), - to_ConvConvRelu( "conv2", s_filer=8, n_filer=(4,8), offset="(2.5,0,0)", to="(pool1-east)", width=(3,3), height=40, depth=38, caption="ConvBlock2"), + to_ConvConvRelu( "conv2", s_filer=8, n_filer=(4,8), offset="(2.5,0,0)", to="(pool1-east)", width=(3,4), height=40, depth=38, caption="ConvBlock2"), to_BN("bn2", offset="(0.4,0,1.5)", to="(conv2-east)",height=25, depth=20, width=2,caption="BatchNorm2" ), to_Pool("pool2", offset="(1.5,0,1)", to="(bn2-east)",height=40, depth=20, width=1,caption="MaxPool2" ), #2x1 to_connection( "pool1", "conv2"), to_connection( "bn2", "pool2"), - to_ConvConvRelu( "conv3", s_filer=16, n_filer=(8,16), offset="(2.5,0,0)", to="(pool2-east)", width=(3,3), height=40, depth=36, caption="ConvBlock3"), + to_ConvConvRelu( "conv3", s_filer=16, n_filer=(8,16), offset="(2.5,0,0)", to="(pool2-east)", width=(3,4), height=40, depth=36, caption="ConvBlock3"), to_BN("bn3", offset="(0.4,0,1.5)", to="(conv3-east)",height=25, depth=20, width=2,caption="BatchNorm3" ), to_Pool("pool3", offset="(1.5,0,1)", to="(bn3-east)",height=40, depth=25, width=1,caption="MaxPool3" ), #2x2 to_connection( "pool2", "conv3"), to_connection( "bn3", "pool3"), - to_ConvConvRelu( "conv4", s_filer=32, n_filer=(16,32), offset="(2.5,0,0)", to="(pool3-east)", width=(3,3), height=37, depth=34, caption="ConvBlock4"), + to_ConvConvRelu( "conv4", s_filer=32, n_filer=(16,32), offset="(2.5,0,0)", to="(pool3-east)", width=(3,4), height=37, depth=34, caption="ConvBlock4"), to_BN("bn4", offset="(0.4,0,1.5)", to="(conv4-east)",height=25, depth=20, width=2,caption="BatchNorm4" ), to_Pool("pool4", offset="(1.5,0,0.4)", to="(bn4-east)",height=40, depth=25, width=1,caption="MaxPool4" ), #2x2 to_connection( "pool3", "conv4"), to_connection( "bn4", "pool4"), - to_ConvConvRelu( "conv5", s_filer=64, n_filer=(32,64), offset="(2.5,0,0)", to="(pool4-east)", width=(3,3), height=34, depth=30, caption="ConvBlock5"), + to_ConvConvRelu( "conv5", s_filer=64, n_filer=(32,64), offset="(2.5,0,0)", to="(pool4-east)", width=(3,4), height=34, depth=30, caption="ConvBlock5"), to_BN("bn5", offset="(0.5,0.6,1.5)", to="(conv5-east)",height=25, depth=20, width=2,caption="BatchNorm5" ), to_Pool("pool5", offset="(1.5,0,1)", to="(bn5-east)",height=40, depth=25, width=1,caption="MaxPool5" ), #2x2 to_connection( "pool4", "conv5"), @@ -43,7 +47,7 @@ to_FulCon("fc2", 512, 256, offset="(1,0,0)", to="(fc1-east)", height=3, depth=30, width=3,caption='FC2'), to_connection("pool5","fc1"), - to_SoftMax( "SoftMaX", s_filer=2, offset="(3,0,0)", to="(fc2-east)", width=1.5, height=3, depth=25, opacity=0.8, caption="SoftMaX" ), + to_SoftMax( "SoftMaX", s_filer=2, offset="(3,0,0)", to="(fc2-east)", width=1.5, height=25, depth=40, opacity=0.8, caption="SoftMaX" ), to_connection("fc2","SoftMaX"), to_end() diff --git a/Deep4-net/input.png b/Deep4-net/input.png new file mode 100644 index 0000000000000000000000000000000000000000..98f34cd5ed40ff0419841f2d31d8d63f061e7d33 GIT binary patch literal 44179 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 literal 0 HcmV?d00001 diff --git a/pycore/__init__.pyc b/pycore/__init__.pyc index f0263bc7761281104075df616d6c96f61ea2736f..8a2dfd7e03fbe2810150860141ce83437807b141 100644 GIT binary patch delta 13 Ucmd1FVQ2o#%auK|XCiwl03H$qdH?_b delta 13 Ucmd1FVQ2o#%eBV2dm?)(03GH8WB>pF diff --git a/pycore/tikzeng.pyc b/pycore/tikzeng.pyc index 23e43e49c0ea7293fc5107965e717726d152393d..4958f903489dafb9deac8bbb8eb3169273d7d970 100644 GIT binary patch delta 16 XcmaFq@X~>u`7`4j$IuZsk delta 16 XcmaFq@X~>u`7