diff --git a/tikz/martin-baseline/Makefile b/tikz/martin-baseline/Makefile new file mode 100644 index 0000000..b03701c --- /dev/null +++ b/tikz/martin-baseline/Makefile @@ -0,0 +1,35 @@ +SOURCE = baselineMain +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + make + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/tikz/martin-baseline/README.md b/tikz/martin-baseline/README.md new file mode 100644 index 0000000..42504d2 --- /dev/null +++ b/tikz/martin-baseline/README.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](vgg-16.png) diff --git a/tikz/martin-baseline/baseline.tex b/tikz/martin-baseline/baseline.tex new file mode 100644 index 0000000..8b8dfa5 --- /dev/null +++ b/tikz/martin-baseline/baseline.tex @@ -0,0 +1,64 @@ +\newcommand{\width}{0.2} +\newcommand{\height}{0.4} +\newcommand{\disty}{0.2} +\definecolor{colorbblue}{HTML}{0072B2} +\definecolor{colorbgreen}{HTML}{009E73} +\definecolor{colorborange}{HTML}{D55E00} + + +\tikzstyle{input}=[draw,fill=red!50] +\tikzstyle{conv}=[draw,fill=black!20] +\tikzstyle{max}=[draw,dashed,fill=black!10] +\tikzstyle{dropout}=[draw,dashed,fill=colorbgreen!30] +\tikzstyle{fc}=[draw,fill=green!10] +\tikzstyle{output}=[draw,fill=red!50] +\tikzstyle{act}=[draw,dashed,fill=colorbblue!30] +\def \coldist {2.3} +\def \widthb {1.9} + +\begin{tikzpicture}[scale=2] + \draw[->, -Latex, line width=5pt] + (1.0+0*\coldist, 0.5) --(1.0+0*\coldist, -4*\disty-5*\height-0.3) --(2.1+0*\coldist, -4*\disty-5*\height-0.3) --(2.2+0*\coldist, 0.5) + -- (1.0+1*\coldist, 0.5) --(1.0+1*\coldist, -4*\disty-5*\height-0.3) --(2.1+1*\coldist, -4*\disty-5*\height-0.3) --(2.2+1*\coldist, 0.5) + -- (1.0+2*\coldist, 0.5) --(1.0+2*\coldist, -2*\disty-3*\height-0.3) --(2.1+2*\coldist, -2*\disty-3*\height-0.3) --(2.2+2*\coldist, 0.5) + -- (1.0+3*\coldist, 0.5) --(1.0+3*\coldist, -3*\disty-4*\height-0.3) --(2.1+3*\coldist, -3*\disty-4*\height-0.3) --(2.2+3*\coldist, 0.5) + -- (1.0+4*\coldist, 0.5) --(1.0+4*\coldist, -5*\disty-6*\height-0.6);% --(2.1+4*\coldist, -4.3) --(2.2+4*\coldist, 0.5) + % -- (1.0+5*\coldist, 0.5) --(1.0+5*\coldist, -4.5); + + \draw[draw=none] (0*\coldist,-1*\height) rectangle (1.0,-1*\disty-1*\height) node[pos=.5] {$32 \times 32$}; + \draw[input] (0*\coldist,-0*\height-0*\disty) rectangle (2.0,-0*\disty-1*\height) node[pos=.5] {Input}; + \draw[conv] (0*\coldist,-1*\height-1*\disty) rectangle (2.0,-1*\disty-2*\height) node[pos=.5] {C $32@3 \times 3 / 1$}; + \draw[act] (0*\coldist,-2*\height-2*\disty) rectangle (2.0,-2*\disty-3*\height) node[pos=.5] {BN + ELU}; + \draw[conv] (0*\coldist,-3*\height-3*\disty) rectangle (2.0,-3*\disty-4*\height) node[pos=.5] {C $32@3 \times 3 / 1$}; + \draw[act] (0*\coldist,-4*\height-4*\disty) rectangle (2.0,-4*\disty-5*\height) node[pos=.5] {BN + ELU}; + + % 16x16 + \draw[draw=none] (1*\coldist,-1*\height) rectangle (1*\coldist+\widthb/2,-1*\disty-1*\height) node[pos=.5] {$16 \times 16$}; + \draw[max] (1*\coldist,-0*\height-0*\disty) rectangle (1*\coldist+\widthb,-0*\disty-1*\height) node[pos=.5] {max pooling $2\times 2 / 1$}; + \draw[conv] (1*\coldist,-1*\height-1*\disty) rectangle (1*\coldist+\widthb,-1*\disty-2*\height) node[pos=.5] {C $64@3 \times 3 / 1$}; + \draw[act] (1*\coldist,-2*\height-2*\disty) rectangle (1*\coldist+\widthb,-2*\disty-3*\height) node[pos=.5] {BN + ELU}; + \draw[conv] (1*\coldist,-3*\height-3*\disty) rectangle (1*\coldist+\widthb,-3*\disty-4*\height) node[pos=.5] {C $64@3 \times 3 / 1$}; + \draw[act] (1*\coldist,-4*\height-4*\disty) rectangle (1*\coldist+\widthb,-4*\disty-5*\height) node[pos=.5] {BN + ELU}; + + % 8x8 + \draw[draw=none] (2*\coldist,-1*\height) rectangle (2*\coldist+\widthb/2,-1*\disty-1*\height) node[pos=.5] {$8 \times 8$}; + \draw[max] (2*\coldist,-0*\height-0*\disty) rectangle (2*\coldist+\widthb,-0*\disty-1*\height) node[pos=.5] {max pooling $2\times 2 / 1$}; + \draw[conv] (2*\coldist,-1*\height-1*\disty) rectangle (2*\coldist+\widthb,-1*\disty-2*\height) node[pos=.5] {C $64@3 \times 3 / 1$}; + \draw[act] (2*\coldist,-2*\height-2*\disty) rectangle (2*\coldist+\widthb,-2*\disty-3*\height) node[pos=.5] {BN + ELU}; + + % 4x4 + \draw[draw=none] (3*\coldist,-1*\height) rectangle (3*\coldist+\widthb/2,-1*\disty-1*\height) node[pos=.5] {$4 \times 4$}; + \draw[max] (3*\coldist,-0*\height-0*\disty) rectangle (3*\coldist+\widthb,-0*\disty-1*\height) node[pos=.5] {max pooling $2\times 2 / 1$}; + \draw[conv] (3*\coldist,-1*\height-1*\disty) rectangle (3*\coldist+\widthb,-1*\disty-2*\height) node[pos=.5] {C $512@4 \times 4 / 1$ (V)}; + \draw[act] (3*\coldist,-2*\height-2*\disty) rectangle (3*\coldist+\widthb,-2*\disty-3*\height) node[pos=.5] {BN + ELU}; + \draw[dropout] (3*\coldist,-3*\height-3*\disty) rectangle (3*\coldist+\widthb,-3*\disty-4*\height) node[pos=.5] {Dropout, $p=0.5$}; + + % 1x1 + \draw[draw=none] (4*\coldist,-1*\height) rectangle (4*\coldist+\widthb/2,-1*\disty-1*\height) node[pos=.5] {$1 \times 1$}; + \draw[conv] (4*\coldist,-0*\height-0*\disty) rectangle (4*\coldist+\widthb,-0*\disty-1*\height) node[pos=.5] {C $512@1 \times 1 / 1$}; + \draw[act] (4*\coldist,-1*\height-1*\disty) rectangle (4*\coldist+\widthb,-1*\disty-2*\height) node[pos=.5] {BN + ELU}; + \draw[dropout] (4*\coldist,-2*\height-2*\disty) rectangle (4*\coldist+\widthb,-2*\disty-3*\height) node[pos=.5] {Dropout, $p=0.5$}; + \draw[conv] (4*\coldist,-3*\height-3*\disty) rectangle (4*\coldist+\widthb,-3*\disty-4*\height) node[pos=.5] {C $k@3 \times 3 / 1$}; + \draw[dropout] (4*\coldist,-4*\height-4*\disty) rectangle (4*\coldist+\widthb,-4*\disty-5*\height) node[pos=.5] {Global AVG pooling}; + \draw[max] (4*\coldist,-5*\height-5*\disty) rectangle (4*\coldist+\widthb,-5*\disty-6*\height) node[pos=.5] {BN + Softmax}; +\end{tikzpicture} diff --git a/tikz/martin-baseline/baselineMain.png b/tikz/martin-baseline/baselineMain.png new file mode 100644 index 0000000..2cd68c8 Binary files /dev/null and b/tikz/martin-baseline/baselineMain.png differ diff --git a/tikz/martin-baseline/baselineMain.tex b/tikz/martin-baseline/baselineMain.tex new file mode 100644 index 0000000..d0acdc1 --- /dev/null +++ b/tikz/martin-baseline/baselineMain.tex @@ -0,0 +1,13 @@ +\documentclass{article} +\usepackage{xcolor} +\usepackage[pdftex,active,tightpage]{preview} +\setlength\PreviewBorder{2mm} + +\usepackage{amsmath} +\usepackage{tikz} +\usetikzlibrary{shapes, calc, shapes, arrows, snakes, arrows.meta} +\begin{document} +\begin{preview} +\input{baseline} +\end{preview} +\end{document}