From b6159b0cee872870a0c732ac34b48b47c430bc88 Mon Sep 17 00:00:00 2001 From: gingo Date: Wed, 19 Jun 2019 16:45:45 +0800 Subject: [PATCH] alexnet --- examples/AlexNet/alexnet.pdf | Bin 0 -> 31431 bytes examples/AlexNet/alexnet.tex | 216 ++++++++++++++++++++++++++++++ examples/AlexNet/alexnet_data.png | Bin 0 -> 28782 bytes examples/LeNet/lenet.txt | 8 ++ 4 files changed, 224 insertions(+) create mode 100644 examples/AlexNet/alexnet.pdf create mode 100644 examples/AlexNet/alexnet.tex create mode 100644 examples/AlexNet/alexnet_data.png create mode 100644 examples/LeNet/lenet.txt diff --git a/examples/AlexNet/alexnet.pdf b/examples/AlexNet/alexnet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d214d7581a68de8cbc0e70605dabc7d58d8efee0 GIT binary patch literal 31431 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 JQF$@A{|~*`=|BJg literal 0 HcmV?d00001 diff --git a/examples/AlexNet/alexnet.tex b/examples/AlexNet/alexnet.tex new file mode 100644 index 0000000..ebc1e68 --- /dev/null +++ b/examples/AlexNet/alexnet.tex @@ -0,0 +1,216 @@ +\documentclass[border=8pt, multi, tikz]{standalone} +\usepackage{import} +\subimport{../layers/}{init} +\usetikzlibrary{positioning} +\usetikzlibrary{3d} %for including external image + + +\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\FcColor{rgb:blue,2;green,5;white,5} +\def\FcReluColor{blue,2;green,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] + + +\pic[shift={(0,0,0)}] at (0,0,0) + {Box={ + name=conv0, + caption= , + xlabel={{3, }}, + zlabel=224, + fill=\ConvColor, + height=44.8, + width=3, + depth=44.8 + } + }; + + +\pic[shift={(1,0,0)}] at (conv0-east) + {Box={ + name=conv1, + caption= , + xlabel={{96, }}, + zlabel=55, + fill=\ConvColor, + height=11.0, + width=4.8, + depth=11.0 + } + }; + + +\draw [connection] (conv0-east) -- node {\midarrow} (conv1-west); + + +\pic[shift={ (0,0,0) }] at (conv1-east) + {Box={ + name=pool1, + caption= , + fill=\PoolColor, + opacity=0.5, + height=5.4, + width=1, + depth=5.4 + } + }; + + +\pic[shift={(1,0,0)}] at (pool1-east) + {Box={ + name=conv2, + caption= , + xlabel={{256, }}, + zlabel=27, + fill=\ConvColor, + height=5.4, + width=12.8, + depth=5.4 + } + }; + + +\draw [connection] (pool1-east) -- node {\midarrow} (conv2-west); + + +\pic[shift={ (0,0,0) }] at (conv2-east) + {Box={ + name=pool2, + caption= , + fill=\PoolColor, + opacity=0.5, + height=2.6, + width=1, + depth=2.6 + } + }; + + +\pic[shift={(1,0,0)}] at (pool2-east) + {Box={ + name=conv3, + caption= , + xlabel={{384, }}, + zlabel=13, + fill=\ConvColor, + height=2.6, + width=19.2, + depth=2.6 + } + }; + + +\draw [connection] (pool2-east) -- node {\midarrow} (conv3-west); + + +\pic[shift={(1,0,0)}] at (conv3-east) + {Box={ + name=conv4, + caption= , + xlabel={{384, }}, + zlabel=13, + fill=\ConvColor, + height=2.6, + width=19.2, + depth=2.6 + } + }; + + +\draw [connection] (conv3-east) -- node {\midarrow} (conv4-west); + + +\pic[shift={(1,0,0)}] at (conv4-east) + {Box={ + name=conv5, + caption= , + xlabel={{256, }}, + zlabel=13, + fill=\ConvColor, + height=2.6, + width=12.8, + depth=2.6 + } + }; + + +\draw [connection] (conv4-east) -- node {\midarrow} (conv5-west); + + +\pic[shift={ (0,0,0) }] at (conv5-east) + {Box={ + name=pool3, + caption= , + fill=\PoolColor, + opacity=0.5, + height=1.2, + width=1, + depth=1.2 + } + }; + + +\pic[shift={(1,0,0)}] at (pool3-east) + {Box={ + name=Fc1, + caption= , + xlabel={{1, }}, + zlabel=4096, + fill=\FcColor, + height=1, + width=1, + depth=40.96 + } + }; + + +\draw [connection] (pool3-east) -- node {\midarrow} (Fc1-west); + + +\pic[shift={(2,0,0)}] at (Fc1-east) + {Box={ + name=Fc2, + caption= , + xlabel={{1, }}, + zlabel=4096, + fill=\FcColor, + height=1, + width=1, + depth=40.96 + } + }; + + +\draw [connection] (Fc1-east) -- node {\midarrow} (Fc2-west); + + +\pic[shift={(3,0,0)}] at (Fc2-east) + {Box={ + name=soft1, + caption=SOFT, + xlabel={{" ","dummy"}}, + zlabel=1000, + fill=\SoftmaxColor, + opacity=0.8, + height=3, + width=1.5, + depth=25 + } + }; + + +\draw [connection] (Fc2-east) -- node {\midarrow} (soft1-west); + + +\end{tikzpicture} +\end{document} diff --git a/examples/AlexNet/alexnet_data.png b/examples/AlexNet/alexnet_data.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b7d977c2b64ea93147564e7fb13838a5f771b2 GIT binary patch literal 28782 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 rx4!<