From 2eddc268e28c05ff0eec9386d3a48f7c687a9e20 Mon Sep 17 00:00:00 2001 From: Haris Iqbal Date: Mon, 24 Dec 2018 17:20:36 +0100 Subject: [PATCH] added Unet in Ushape example --- examples/Unet (copy)/Unet_ushape.pdf | Bin 0 -> 45346 bytes examples/Unet (copy)/Unet_ushape.tex | 151 +++++++++++++++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 examples/Unet (copy)/Unet_ushape.pdf create mode 100644 examples/Unet (copy)/Unet_ushape.tex diff --git a/examples/Unet (copy)/Unet_ushape.pdf b/examples/Unet (copy)/Unet_ushape.pdf new file mode 100644 index 0000000000000000000000000000000000000000..eed6d12d349db2f0d63ca611dec32e9dc585bdd1 GIT binary patch literal 45346 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 TBVC+atgJkU)YMYS(un^Dv76PT literal 0 HcmV?d00001 diff --git a/examples/Unet (copy)/Unet_ushape.tex b/examples/Unet (copy)/Unet_ushape.tex new file mode 100644 index 0000000..4482e27 --- /dev/null +++ b/examples/Unet (copy)/Unet_ushape.tex @@ -0,0 +1,151 @@ +\documentclass[border=8pt, multi, tikz]{standalone} +%\usepackage{blocks} +\usepackage{import} +\subimport{../../layers/}{init} +\usetikzlibrary{positioning} + +\def\ConvColor{rgb:yellow,5;red,2.5;white,5} +\def\ConvReluColor{rgb:yellow,5;red,5;white,5} +\def\PoolColor{rgb:red,1;black,0.3} +\def\UnpoolColor{rgb:blue,2;green,1;black,0.3} +\def\ConcatColor{rgb:blue,5;red,2.5;white,5} +\def\FcReluColor{rgb:blue,5;red,5;white,4} +\def\SoftmaxColor{rgb:magenta,5;black,7} + + +\newcommand{\copymidarrow}{\tikz \draw[-Stealth,line width =0.8mm,draw={rgb:blue,4;red,1;green,1;black,3}] (-0.3,0) -- ++(0.3,0);} + +\begin{document} +\begin{tikzpicture} +\tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7] +\tikzstyle{copyconnection}=[ultra thick,every node/.style={sloped,allow upside down},draw={rgb:blue,4;red,1;green,1;black,3},opacity=0.7] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Draw Encoder +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% conv1_1,conv1_2 +\pic[shift={(0,0,0)}] at (0,0,0) {RightBandedBox={name=cr1,% + xlabel={{"64","64"}},caption=I,fill=\ConvColor,bandfill=\ConvReluColor,% + height=40,width={2,2},depth=40}}; +%pool1 +\pic[shift={(1.2,-10,0)}] at (cr1-east) {Box={name=p1,% + fill=\PoolColor,opacity=0.6,height=32,width=1,depth=32}}; +%%%%%%%%%% +% conv2_1,conv2_2 +\pic[shift={(0,0,0)}] at (p1-east) {RightBandedBox={name=cr2,% + xlabel={{"128","128"}},caption=I/2,fill=\ConvColor,bandfill=\ConvReluColor,% + height=32,width={3.5,3.5},depth=32}}; +%pool2 +\pic[shift={(1.2,-8.5,0)}] at (cr2-east) {Box={name=p2,% + fill=\PoolColor,opacity=0.6,height=25,width=1,depth=25}}; +%%%%%%%%%% +% conv3_1,conv3_2 +\pic[shift={(0,0,0)}] at (p2-east) {RightBandedBox={name=cr3,% + xlabel={{"256","256"}},caption=I/4,fill=\ConvColor,bandfill=\ConvReluColor,% + height=25,width={4.5,4.5},depth=25}}; +%pool3 +\pic[shift={(1.2,-6.5,0)}] at (cr3-east) {Box={name=p3,% + fill=\PoolColor,opacity=0.6,height=16,width=1,depth=16}}; +%%%%%%%%%% +% conv4_1,conv4_2,conv4_3 +\pic[shift={(0,0,0)}] at (p3-east) {RightBandedBox={name=cr4,% + xlabel={{"512","512"}},caption=I/8,fill=\ConvColor,bandfill=\ConvReluColor,% + height=16,width={6,6},depth=16}}; +%pool4 +\pic[shift={(1.2,-3,0)}] at (cr4-east) {Box={name=p4,% + fill=\PoolColor,opacity=0.6,height=8,width=1,depth=8}}; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Bottleneck +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% conv5_1,conv5_2,conv5_3 +\pic[shift={(0,0,0)}] at (p4-east) {RightBandedBox={name=cr5,caption=I/16,% + xlabel={{"1024","1024"}},fill=\ConvColor,bandfill=\ConvReluColor,% + height=8,width={8,8},depth=8}}; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Draw Decoder +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% unpool4, +\pic[shift={(0,0,0)}] at (cr5-east) {Box={name=up4,% + fill=\UnpoolColor,opacity=0.6,height=16,width=1,depth=16}}; +\pic[shift={(0,0,0)}] at (up4-east) {RightBandedBox={name=ucr4,% + xlabel={{"512","dummy"}},caption=I/8,fill=\ConvColor,bandfill=\ConvReluColor,% + height=16,width=6,depth=16}}; +\pic[shift={(0,3,0)}] at (ucr4-anchor) {Ball={name=cat4,fill=\ConcatColor,radius=2.5,logo=$||$}}; +\pic[shift={(1.4,0,0)}] at (cat4-east) {RightBandedBox={name=ucr4a,% + xlabel={{"512","512"}},caption=I/8,fill=\ConvColor,bandfill=\ConvReluColor,% + height=16,width={6,6},depth=16}}; +%%%%%%%%%% +%% unpool3, +\pic[shift={(0,0,0)}] at (ucr4a-east) {Box={name=up3,% + fill=\UnpoolColor,opacity=0.6,height=25,width=1,depth=25}}; +\pic[shift={(0,0,0)}] at (up3-east) {RightBandedBox={name=ucr3,% + xlabel={{"256","dummy"}},caption=I/4,fill=\ConvColor,bandfill=\ConvReluColor,% + height=25,width=4.5,depth=25}}; +\pic[shift={(0,6.5,0)}] at (ucr3-anchor) {Ball={name=cat3,fill=\ConcatColor,radius=2.5,logo=$||$}}; +\pic[shift={(1.5,0,0)}] at (cat3-east) {RightBandedBox={name=ucr3a,% + xlabel={{"256","256"}},caption=I/4,fill=\ConvColor,bandfill=\ConvReluColor,% + height=25,width={4.5,4.5},depth=25}}; +%%%%%%%%%% +%% unpool2, +\pic[shift={(0,0,0)}] at (ucr3a-east) {Box={name=up2,% + fill=\UnpoolColor,opacity=0.6,height=32,width=1,depth=32}}; +\pic[shift={(0,0,0)}] at (up2-east) {RightBandedBox={name=ucr2,% + xlabel={{"128","dummy"}},caption=I/2,fill=\ConvColor,bandfill=\ConvReluColor,% + height=32,width=3.5,depth=32}}; +\pic[shift={(0,8.5,0)}] at (ucr2-anchor) {Ball={name=cat2,fill=\ConcatColor,radius=2.5,logo=$||$}}; +\pic[shift={(1.8,0,0)}] at (cat2-east) {RightBandedBox={name=ucr2a,% + xlabel={{"128","128"}},caption=I/2,fill=\ConvColor,bandfill=\ConvReluColor,% + height=32,width={3.5,3.5},depth=32}}; +%%%%%%%%%% +%% unpool1, +\pic[shift={(0,0,0)}] at (ucr2a-east) {Box={name=up1,% + fill=\UnpoolColor,opacity=0.6,height=40,width=1,depth=40}}; +\pic[shift={(0,0,0)}] at (up1-east) {RightBandedBox={name=ucr1,% + xlabel={{"64","dummy"}},caption=I,fill=\ConvColor,bandfill=\ConvReluColor,% + height=40,width=2.5,depth=40}}; +\pic[shift={(0,10,0)}] at (ucr1-anchor) {Ball={name=cat1,fill=\ConcatColor,radius=2.5,logo=$||$}}; +\pic[shift={(2,0,0)}] at (cat1-east) {RightBandedBox={name=ucr1a,% + xlabel={{"64","64"}},caption=I,fill=\ConvColor,bandfill=\ConvReluColor,% + height=40,width={2.5,2.5},depth=40}}; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Classifier +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pic[shift={(2,0,0)}] at (ucr1a-east) {Box={name=out,caption=Softmax,% + zlabel=I,fill=\SoftmaxColor,height=40,width=1,depth=40}}; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Draw connections +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\path (cr1-east) -- (p1-west|-cr1-west) coordinate[pos=0.5] (crp1-mid) ; +\path (cr2-east) -- (p2-west|-cr2-west) coordinate[pos=0.5] (crp2-mid) ; +\path (cr3-east) -- (p3-west|-cr3-west) coordinate[pos=0.5] (crp3-mid) ; +\path (cr4-east) -- (p4-west|-cr4-west) coordinate[pos=0.5] (crp4-mid) ; + +\draw[connection](cr1-east)--node{\midarrow}(crp1-mid)--node{\midarrow}(p1-west-|crp1-mid)--node{\midarrow}(p1-west); +\draw[connection](cr2-east)--node{\midarrow}(crp2-mid)--node{\midarrow}(p2-west-|crp2-mid)--node{\midarrow}(p2-west); +\draw[connection](cr3-east)--node{\midarrow}(crp3-mid)--node{\midarrow}(p3-west-|crp3-mid)--node{\midarrow}(p3-west); +\draw[connection](cr4-east)--node{\midarrow}(crp4-mid)--node{\midarrow}(p4-west-|crp4-mid)--node{\midarrow}(p4-west); + +%\draw [connection] (cr5-east) -- node {\midarrow} (up4-west); +%\draw [connection] (ucr4a-east) -- node {\midarrow} (up3-west); +%\draw [connection] (ucr3a-east) -- node {\midarrow} (up2-west); +%\draw [connection] (ucr2a-east) -- node {\midarrow} (up1-west); +\draw [connection] (ucr1a-east) -- node {\midarrow} (out-west); +%\draw [connection] (out-east) -- node {\midarrow} ++(2,0,0); + +\draw [copyconnection] (cr4-east) -- node {\copymidarrow} (cat4-west); +\draw [copyconnection] (cr3-east) -- node {\copymidarrow} (cat3-west); +\draw [copyconnection] (cr2-east) -- node {\copymidarrow} (cat2-west); +\draw [copyconnection] (cr1-east) -- node {\copymidarrow} (cat1-west); + +\draw [copyconnection] (cat4-east) -- node {\copymidarrow} (ucr4a-west); +\draw [copyconnection] (cat3-east) -- node {\copymidarrow} (ucr3a-west); +\draw [copyconnection] (cat2-east) -- node {\copymidarrow} (ucr2a-west); +\draw [copyconnection] (cat1-east) -- node {\copymidarrow} (ucr1a-west); + +\draw [copyconnection] (ucr4-north) -- node {\copymidarrow} (cat4-south); +\draw [copyconnection] (ucr3-north) -- node {\copymidarrow} (cat3-south); +\draw [copyconnection] (ucr2-north) -- node {\copymidarrow} (cat2-south); +\draw [copyconnection] (ucr1-north) -- node {\copymidarrow} (cat1-south); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\end{tikzpicture} +\end{document}