Add new figures in Tikz

Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
This commit is contained in:
2020-10-16 19:01:42 +02:00
parent 366d00ec60
commit 06e27a3702
44 changed files with 823 additions and 727 deletions

View File

@@ -0,0 +1,20 @@
\begin{tikzpicture}
% draw D-branes
\draw[thick] (0.2cm, -0.3cm) -- (4.1cm, 3.1cm) node[anchor=west] {$D_{(1)}$};
\draw[thick] (4.5cm, -0.4cm) -- (1cm, 2.4cm) node[anchor=east] {$D_{(2)}$};
\draw[thick] (0cm, 0cm) -- (5cm, 0cm) node[anchor=north west] {$D_{(3)}$};
% draw angles
\draw[dashed, ->] (1.25cm, 0cm) arc (0:45:0.6cm);
\draw[dashed, <-] (4.5cm, 0cm) arc (0:130:0.6cm);
\draw[dashed, ->] (2.6cm, 1.85cm) arc (45:135:0.6cm);
% draw names
\node[anchor=north] at (1.25, 0cm) {$n_{0}^3 > 0$};
\node[anchor=south west] at (4.5cm, 0cm) {$n_{1}^3 < 0$};
\node[anchor=north west] at (2.9cm, 1.85cm) {$n_{\infty}^3 > 0$};
\end{tikzpicture}
% vim: ft=tex

View File

@@ -0,0 +1,20 @@
\begin{tikzpicture}
% draw D-branes
\draw[thick] (0.2cm, -0.3cm) -- (4.1cm, 3.1cm) node[anchor=west] {$D_{(1)}$};
\draw[thick] (4.5cm, -0.4cm) -- (1cm, 2.4cm) node[anchor=east] {$D_{(2)}$};
\draw[thick] (0cm, 0cm) -- (5cm, 0cm) node[anchor=north west] {$D_{(3)}$};
% draw angles
\draw[dashed, ->] (1.25cm, 0cm) arc (0:45:0.6cm);
\draw[dashed, <-] (4.4cm, -0.3cm) arc (320:360:0.6cm);
\draw[dashed, <-] (2.7cm, 1.05cm) arc (-50:50:0.6cm);
% draw names
\node[anchor=north] at (1.25, 0cm) {$n_{0}^3 > 0$};
\node[anchor=south west] at (4.5cm, 0cm) {$n_{1}^3 < 0$};
\node[anchor=north west] at (2.9cm, 1.85cm) {$n_{\infty}^3 > 0$};
\end{tikzpicture}
% vim: ft=tex

View File

@@ -0,0 +1,20 @@
\begin{tikzpicture}
% draw D-branes
\draw[thick] (-0.1cm, -0.6cm) -- (5.4cm, 3.5cm) node[anchor=south] {$D_{(1)}$};
\draw[thick] (3cm, -0.4cm) -- (5cm, 4.4cm) node[anchor=east] {$D_{(2)}$};
\draw[thick] (-0.5cm, 0cm) -- (5cm, 0cm) node[anchor=north west] {$D_{(3)}$};
% draw angles
\draw[dashed, ->] (3.75cm, 0cm) arc (0:65:0.6cm);
\draw[dashed, <-] (-0.1cm, 0cm) arc (180:225:0.6cm);
\draw[dashed, ->] (4.5cm, 3.35cm) arc (75:220:0.6cm);
% draw names
\node[anchor=north] at (4.5, 1cm) {$n_{0}^3 > 0$};
\node[anchor=south west] at (-0.5cm, 0.2cm) {$n_{1}^3 < 0$};
\node[anchor=north west] at (2cm, 3.25cm) {$n_{\infty}^3 > 0$};
\end{tikzpicture}
% vim: ft=tex

View File

@@ -0,0 +1,20 @@
\begin{tikzpicture}
% draw D-branes
\draw[thick] (-0.1cm, -0.6cm) -- (5.4cm, 3.5cm) node[anchor=south] {$D_{(1)}$};
\draw[thick] (3cm, -0.4cm) -- (5cm, 4.4cm) node[anchor=east] {$D_{(2)}$};
\draw[thick] (-0.5cm, 0cm) -- (5cm, 0cm) node[anchor=north west] {$D_{(3)}$};
% draw angles
\draw[dashed, ->] (3.75cm, 0cm) arc (0:65:0.6cm);
\draw[dashed, <-] (1.5cm, 0cm) arc (0:45:0.6cm);
\draw[dashed, <-] (4.9cm, 3.15cm) arc (25:67:0.6cm);
% draw names
\node[anchor=north] at (4.5, 1cm) {$n_{0}^3 > 0$};
\node[anchor=south west] at (-0.5cm, 0.2cm) {$n_{1}^3 > 0$};
\node[anchor=north west] at (2cm, 3.25cm) {$n_{\infty}^3 < 0$};
\end{tikzpicture}
% vim: ft=tex

32
tikz/branchcuts.pgf Normal file
View File

@@ -0,0 +1,32 @@
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{decorations.pathmorphing}
\begin{tikzpicture}
% draw axis
\draw[thick, ->] (-3cm, 0cm) -- (3cm, 0cm) node[anchor=south] {$x$};
\draw[thick, ->] (-0.4cm, -1cm) -- (-0.4cm, 3cm) node[anchor=east] {$y$};
% draw branching cuts
\filldraw[fill=black!50, draw=black, dashed] (-2cm, 3pt) rectangle (2.5cm, -3pt);
\filldraw[fill=black!30, draw=black, dashed] (-0.75cm, 2pt) rectangle (2.5cm, -2pt);
\filldraw[fill=black!10, draw=black, dashed] (1cm, 1pt) rectangle (2.5cm, -1pt);
% draw branching points
\filldraw[fill=white, draw=black] (2.5cm, 0cm) circle (2pt) node[anchor=north, below=3pt] (x1) {$x_{(1)}$};
\filldraw[fill=white, draw=black] (1cm, 0cm) circle (2pt) node[anchor=north, below=3pt] (x2) {$x_{(2)}$};
\filldraw[fill=white, draw=black] (-0.75cm, 0cm) circle (2pt) node[anchor=north, below=3pt] (x3) {$x_{(3)}$};
\filldraw[fill=white, draw=black] (-2cm, 0cm) circle (2pt) node[anchor=north, below=3pt] (x4) {$x_{(4)}$};
% assign the D-branes
\draw[thin, decorate, decoration={brace}] (1cm, 0.3cm) -- (2.5cm, 0.3cm) node[midway, anchor=south] {$D_{(2)}$};
\draw[thin, decorate, decoration={brace}] (-0.75cm, 0.3cm) -- (1cm, 0.3cm) node[midway, anchor=south] {$D_{(3)}$};
\draw[thin, decorate, decoration={brace}] (-2cm, 0.3cm) -- (-0.75cm, 0.3cm) node[midway, anchor=south] {$D_{(4)}$};
% draw the remaining D-brane
\draw[thin, ->, dash pattern=on 2pt off 2pt on 2pt off 2pt on 2pt off 2pt on 2pt off 2pt on 2pt off 2pt on 2pt off 2pt on 1cm] (-2cm, 2pt) -- (-2cm, 1cm)-- (-2.75cm, 1cm) node[midway, anchor=south] {$D_{(1)}$} ;
\draw[thin, ->, dash pattern=on 2pt off 2pt on 2pt off 2pt on 2pt off 2pt on 2pt off 2pt on 2pt off 2pt on 2pt off 2pt on 1cm] (2.5cm, 2pt) -- (2.5cm, 1cm)-- (3cm, 1cm) node[midway, anchor=south] {$D_{(1)}$} ;
\end{tikzpicture}
% vim: ft=tex

25
tikz/brane3d.pgf Normal file
View File

@@ -0,0 +1,25 @@
\usetikzlibrary{decorations.pathmorphing}
\begin{tikzpicture}
% draw branes
\draw[thick] (-0.35cm, 0cm) -- (-3cm, -2cm) -- (-3cm, 3cm) -- (1cm, 5cm) -- (1cm, 4cm);
\draw[dashed] (1cm, 4cm) -- (1cm, 1cm) -- (-0.35cm, 0cm);
\draw[thick] (-3cm, 2cm) -- (-4cm, 4cm) -- (1.5cm, 4cm) -- (3.5cm, 0cm) -- (-0.35cm, 0cm);
\draw[dashed] (-3cm, 2cm) -- (-2cm, 0cm) -- (-0.35cm, 0cm);
\draw[dotted] (-0.35cm, 0cm) -- (-1cm, 4.01cm);
% draw names
\node[anchor=base] at (0.15cm, 5cm) {$D_{(t)}$};
\node[anchor=base] at (2.5cm, -0.5cm) {$D_{(t+1)}$};
% draw string
\draw[thick, decorate, decoration={snake, segment length=1cm}] (1.5cm, 2cm) .. controls (1.1cm, 1.1cm) and (-1cm, 0.1cm) .. (-1.8cm, 0.3cm);
\filldraw[fill=black, draw=black] (1.5cm, 2cm) circle (2pt);
\filldraw[fill=black, draw=black] (-1.8cm, 0.3cm) circle (2pt);
\end{tikzpicture}
% vim: ft=tex

View File

@@ -28,7 +28,7 @@
\draw[thin, <-] (2.6cm, -2.12cm) arc (0:30:0.4cm) node[anchor=south] {$\pi \alpha_{(1)}$};
\draw[thin, <-] (-2.1cm, -1.5cm) arc (250:360:0.4cm) node[anchor=south west] {$\pi \alpha_{(2)}$};
\draw[thin, <-] (1.1cm, 2.4cm) arc (0:100:0.4cm) node[anchor=south] {$\pi \alpha_{(3)}$};
\draw[thin, ->] (1.1cm, 2.4cm) arc (0:100:0.4cm) node[anchor=south] {$\pi \alpha_{(3)}$};
\end{tikzpicture}

96
tikz/ccnn.pgf Normal file
View File

@@ -0,0 +1,96 @@
%\newlength{\layer}
\newlength{\layerheight}
\newlength{\perspective}
\newlength{\filters}
%\newlength{\unit}
\setlength{\layer}{3cm}
\setlength{\layerheight}{3cm}
\setlength{\perspective}{1cm}
\setlength{\filters}{0.01cm}
\setlength{\unit}{0.225cm}
\begin{tikzpicture}
% first layer
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 0cm) -- (\layer + 180 * \filters, 0cm) -- (\layer + 180 * \filters + \perspective, \perspective) -- (\layer + \perspective, \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer + \perspective, \perspective) -- (\layer + 180 * \filters + \perspective, \perspective) -- (\layer + 180 * \filters + \perspective, \perspective + \layerheight) -- (\layer + \perspective, \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 0cm) -- (\layer + \perspective, \perspective) -- (\layer + \perspective, \perspective + \layerheight) -- (\layer, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 0cm) -- (\layer + 180 * \filters, 0cm) -- (\layer + 180 * \filters, \layerheight) -- (\layer, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer + 180 * \filters, 0cm) -- (\layer + 180 * \filters + \perspective, \perspective) -- (\layer + 180 * \filters + \perspective, \perspective + \layerheight) -- (\layer + 180 * \filters, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \layerheight) -- (\layer + 180 * \filters, \layerheight) -- (\layer + 180 * \filters + \perspective, \perspective + \layerheight) -- (\layer + \perspective, \perspective + \layerheight) -- cycle;
\node[anchor=north west, scale=0.65] at (\layer, 0cm) {$180 @ 12 \times 15$};
% second layer
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + 100 * \filters, 0cm) -- (2 * \layer + 100 * \filters + \perspective, \perspective) -- (2 * \layer + \perspective, \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + \perspective, \perspective) -- (2 * \layer + 100 * \filters + \perspective, \perspective) -- (2 * \layer + 100 * \filters + \perspective, \perspective + \layerheight) -- (2 * \layer + \perspective, \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + \perspective, \perspective) -- (2 * \layer + \perspective, \perspective + \layerheight) -- (2 * \layer, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + 100 * \filters, 0cm) -- (2 * \layer + 100 * \filters, \layerheight) -- (2 * \layer, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters, 0cm) -- (2 * \layer + 100 * \filters + \perspective, \perspective) -- (2 * \layer + 100 * \filters + \perspective, \perspective + \layerheight) -- (2 * \layer + 100 * \filters, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \layerheight) -- (2 * \layer + 100 * \filters, \layerheight) -- (2 * \layer + 100 * \filters + \perspective, \perspective + \layerheight) -- (2 * \layer + \perspective, \perspective + \layerheight) -- cycle;
\node[anchor=north west, scale=0.65] at (2 * \layer, 0cm) {$100 @ 12 \times 15$};
% third layer
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 0cm) -- (3 * \layer + 40 * \filters, 0cm) -- (3 * \layer + 40 * \filters + \perspective, \perspective) -- (3 * \layer + \perspective, \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + \perspective, \perspective) -- (3 * \layer + 40 * \filters + \perspective, \perspective) -- (3 * \layer + 40 * \filters + \perspective, \perspective + \layerheight) -- (3 * \layer + \perspective, \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 0cm) -- (3 * \layer + \perspective, \perspective) -- (3 * \layer + \perspective, \perspective + \layerheight) -- (3 * \layer, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 0cm) -- (3 * \layer + 40 * \filters, 0cm) -- (3 * \layer + 40 * \filters, \layerheight) -- (3 * \layer, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters, 0cm) -- (3 * \layer + 40 * \filters + \perspective, \perspective) -- (3 * \layer + 40 * \filters + \perspective, \perspective + \layerheight) -- (3 * \layer + 40 * \filters, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \layerheight) -- (3 * \layer + 40 * \filters, \layerheight) -- (3 * \layer + 40 * \filters + \perspective, \perspective + \layerheight) -- (3 * \layer + \perspective, \perspective + \layerheight) -- cycle;
\node[anchor=north west, scale=0.65] at (3 * \layer, 0cm) {$40 @ 12 \times 15$};
% fourth layer
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- (4 * \layer + \perspective, \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + \perspective, \perspective) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- (4 * \layer + 20 * \filters + \perspective, \perspective + \layerheight) -- (4 * \layer + \perspective, \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + \perspective, \perspective) -- (4 * \layer + \perspective, \perspective + \layerheight) -- (4 * \layer, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 20 * \filters, \layerheight) -- (4 * \layer, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- (4 * \layer + 20 * \filters + \perspective, \perspective + \layerheight) -- (4 * \layer + 20 * \filters, \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \layerheight) -- (4 * \layer + 20 * \filters, \layerheight) -- (4 * \layer + 20 * \filters + \perspective, \perspective + \layerheight) -- (4 * \layer + \perspective, \perspective + \layerheight) -- cycle;
\node[anchor=north west, scale=0.65] at (4 * \layer, 0cm) {$20 @ 12 \times 15$};
% flatten layer
\foreach \x in {2,...,7} {
\filldraw[fill=cyan!10, draw=black] (4 * \layer + 3cm, 0.5cm * \x) circle (\unit);
\draw (4 * \layer + 3cm + \unit, 0.5cm * \x) -- (5 * \layer + 2cm - \unit, 2.5cm);
};
\node[anchor=north, scale=0.5, below=15pt, align=center] at (4 * \layer + 3cm, 1cm) {flatten};
% output layer
\filldraw[fill=cyan!10, draw=black] (5 * \layer + 2cm, 2.5cm - \unit) -- (5 * \layer + 2cm, 2.5cm) circle (\unit) -- (5 * \layer + 2cm, 2.5cm + \unit);
\draw (5 * \layer + 2cm + 0.05cm, 2.5cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {output layer [1 unit]} -- (5 * \layer + 2cm + 0.10cm, 2.5cm) -- (5 * \layer + 2cm + 0.15cm, 2.5cm + 0.05cm);
% draw first convolution
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters, \layerheight) -- (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- (\layer + 180 * \filters, \layerheight - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (2 * \layer, 0.8 * \layerheight) -- (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters, \layerheight - 0.3 * \layerheight) -- (2 * \layer, 0.8 * \layerheight) -- (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters, \layerheight) -- (2 * \layer, 0.8 * \layerheight) -- (\layer + 180 * \filters, \layerheight - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (2 * \layer, 0.8 * \layerheight) -- (\layer + 180 * \filters, \layerheight) -- cycle;
% draw second convolution
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters, 0.4 * \layerheight) -- (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective) -- (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- (2 * \layer + 100 * \filters, 0.4 * \layerheight - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective) -- (3 * \layer, 0.2 * \layerheight) -- (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters, 0.4 * \layerheight - 0.3 * \layerheight) -- (3 * \layer, 0.2 * \layerheight) -- (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters, 0.4 * \layerheight) -- (3 * \layer, 0.2 * \layerheight) -- (2 * \layer + 100 * \filters, 0.4 * \layerheight - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective) -- (3 * \layer, 0.2 * \layerheight) -- (2 * \layer + 100 * \filters, 0.4 * \layerheight) -- cycle;
% draw third convolution
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters, 0.6 * \layerheight) -- (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective) -- (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- (3 * \layer + 40 * \filters, 0.6 * \layerheight - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective) -- (4 * \layer, 0.3 * \layerheight) -- (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters, 0.6 * \layerheight - 0.3 * \layerheight) -- (4 * \layer, 0.3 * \layerheight) -- (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters, 0.6 * \layerheight) -- (4 * \layer, 0.3 * \layerheight) -- (3 * \layer + 40 * \filters, 0.6 * \layerheight - 0.3 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective) -- (4 * \layer, 0.3 * \layerheight) -- (3 * \layer + 40 * \filters, 0.6 * \layerheight) -- cycle;
% draw the "flatenisation"
\draw[dashed] (4 * \layer + 20 * \filters, \layerheight) -- (4 * \layer + 3 cm, 3.5cm + \unit) -- (4 * \layer + 20 * \filters + \perspective, \layerheight + \perspective) -- cycle;
\draw[dashed] (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 3 cm, 1cm - \unit) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- cycle;
% hidden layer labels
\node[anchor=base, align=center, text width=3.9cm, scale=0.75] (c) at (11cm, 5.5cm) {convolutional layers ($5 \times 5$ kernel, ReLU activation)};
\draw[->] (c) -- (\layer + 180 * \filters + \perspective, \layerheight + \perspective + \unit);
\draw[->] (c) -- (2 * \layer + 100 * \filters + \perspective, \layerheight + \perspective + \unit);
\draw[->] (c) -- (3 * \layer + 40 * \filters + \perspective, \layerheight + \perspective + \unit);
\draw[->] (c) -- (4 * \layer + 0.5 * \perspective, \layerheight + \perspective + \unit);
\end{tikzpicture}
% vim: ft=texft=texft=texft=texft=texx

View File

@@ -1,22 +1,19 @@
\usetikzlibrary{decorations.markings}
\usetikzlibrary{arrows}
\begin{tikzpicture}
\begin{tikzpicture}
% draw axis
\draw[thick, ->] (-3cm, 0cm) -- (3cm, 0cm) node[anchor=south] {$\Re z$};
\draw[thick, ->] (0cm, -3cm) -- (0cm, 3cm) node[anchor=east] {$\Im z$};
% draw closed loops
\draw[dotted, decorate, decoration={markings, mark=at position 0.0 with {\arrow{latex}}}] (0cm, 0cm) circle [radius=1.0cm];
\draw[dotted, decorate, decoration={markings, mark=at position 0.0 with {\arrow{latex}}}] (0cm, 0cm) circle [radius=2.5cm];
\draw[dotted, -latex] (1cm, 0cm) arc (0:360:1cm);
\draw[dotted, -latex] (2.5cm, 0cm) arc (0:360:2.5cm);
% draw arrows
\draw[-latex] (0,0) -- (1.75cm, 1.75cm) node[anchor=south west] (z1) {$\abs{z_{(1)}} = e^{\tau_{E\, (1)}}$};
\draw[-latex] (0,0) -- (0.45cm, -0.9cm) node[anchor=north west] (z0) {$\abs{z_{(0)}} = e^{\tau_{E\, (0)}}$};
\draw[-latex] (0,0) -- (1.75cm, 1.75cm) node[anchor=south] (z1) {$\abs{z_{(1)}} = e^{\tau_{E\, (1)}}$};
\draw[-latex] (0,0) -- (0.45cm, -0.9cm) node[anchor=north] (z0) {$\abs{z_{(0)}} = e^{\tau_{E\, (0)}}$};
% draw isolated point
\draw[fill] (-1.5cm, 1.1cm) circle [radius=2pt] node[anchor=south west] (w) {$w$};
\draw[fill] (-1.5cm, 1.1cm) circle (2pt) node[anchor=south west] (w) {$w$};
% draw the names of the paths (use $\mathcal{C}$ instead of $\ccC$ if it does not compile)
\node (c0) at (-0.7cm, -1.2cm) {$\ccC_{(0)}$};

View File

@@ -0,0 +1,21 @@
\begin{tikzpicture}
% draw axis
\draw[thick, ->] (-3cm, 0cm) node[anchor=north] {$0$} -- (2.5cm, 0cm) node[anchor=south] {$x$};
\draw[thick, ->] (-2.75cm, -1cm) -- (-2.75cm, 3cm) node[anchor=east] {$y$};
% draw branching cuts
\filldraw[fill=black!30, draw=black, dashed] (-2cm, 2pt) rectangle (2.25cm, -2pt);
\filldraw[fill=black!10, draw=black, dashed] (0.25cm, 1pt) rectangle (2.25cm, -1pt);
% draw branching points
\filldraw[fill=white, draw=black] (-2cm, 0cm) circle (2pt) node[anchor=north] {$x_{(t+1)}$};
\filldraw[fill=white, draw=black] (0.25cm, 0cm) circle (2pt) node[anchor=north] {$x_{(t)}$};
\filldraw[fill=white, draw=black] (2.25cm, 0cm) circle (2pt) node[anchor=north] {$x_{(t-1)}$};
% draw closed loop
\draw[dotted, ->] (1cm, 2pt) arc (0:350:0.75cm);
\end{tikzpicture}
% vim: ft=tex

29
tikz/defects.pgf Normal file
View File

@@ -0,0 +1,29 @@
\usetikzlibrary{decorations.pathmorphing}
\begin{tikzpicture}
% draw axis
\draw[thick, ->] (-3cm, 0cm) -- (3cm, 0cm) node[anchor=south] {$\tau$};
\draw[thick, ->] (-0.75cm, -1cm) -- (-0.75cm, 3cm) node[anchor=east] {$\sigma$};
% draw defects
\filldraw[fill=white, draw=black] (-2cm, 0cm) circle (2pt) node[anchor=north] {$\htau_{(t+1)}$};
\filldraw[fill=white, draw=black] (0.25cm, 0cm) circle (2pt) node[anchor=north] {$\htau_{(t)}$};
\filldraw[fill=white, draw=black] (2.25cm, 0cm) circle (2pt) node[anchor=north] {$\htau_{(t-1)}$};
% draw the endlines
\draw[dotted] (-2cm, 2pt) -- (-2cm, 2cm);
\draw[dotted] (0.25cm, 2pt) -- (0.25cm, 2cm);
\draw[dotted] (2.25cm, 2pt) -- (2.25cm, 2cm);
% draw the second D-brane
\draw[dashed] (-3cm, 2cm) -- (3cm, 2cm);
\node[anchor=south west] at (-0.75cm, 2cm) {$\pi$};
% draw the string
\draw[decorate, decoration={snake, segment length=0.75cm}] (1cm, 0cm) -- (1cm, 2cm);
\draw[->] (1.1cm, 1cm) -- (1.6cm, 1cm);
\end{tikzpicture}
% vim: ft=tex

160
tikz/fc.pgf Normal file
View File

@@ -0,0 +1,160 @@
\newlength{\unit}
\newlength{\layer}
\setlength{\unit}{0.225cm}
\setlength{\layer}{1cm}
\begin{tikzpicture}
% draw the first layer
\filldraw[fill=cyan!10, draw=black] (\layer, -0.75cm - \unit) -- (\layer, -0.75cm) circle (\unit) -- (\layer, -0.75cm + \unit);
\draw (\layer + 0.05cm, -0.75cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [876 units]} -- (\layer + 0.10cm, -0.75cm) -- (\layer + 0.15cm, -0.75cm + 0.05cm);
\node[anchor=base, scale=0.35] at (\layer, -0.75cm + 1.25 * \unit) {$\vdots$};
\foreach \x in {0,...,5} {
\filldraw[fill=cyan!10, draw=black] (\layer, 0.5cm * \x - \unit) -- (\layer, 0.5cm * \x) circle (\unit) -- (\layer, 0.5cm * \x + \unit);
\draw (\layer + 0.05cm, 0.5cm * \x) -- (\layer + 0.10cm, 0.5cm * \x) -- (\layer + 0.15cm, 0.5cm * \x + 0.05cm);
};
\filldraw[fill=cyan!10, draw=black] (\layer, 3.25cm - \unit) -- (\layer, 3.25cm) circle (\unit) -- (\layer, 3.25cm + \unit);
\draw (\layer + 0.05cm, 3.25cm) -- (\layer + 0.10cm, 3.25cm) -- (\layer + 0.15cm, 3.25cm + 0.05cm);
\node[anchor=base, scale=0.35] at (\layer, 3.25cm - 2\unit) {$\vdots$};
% draw the second layer
\filldraw[fill=cyan!10, draw=black] (2 * \layer, -\unit) -- (2 * \layer, 0cm) circle (\unit) -- (2 * \layer, \unit);
\draw (2 * \layer + 0.05cm, 0cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [461 units]} -- (2 * \layer + 0.10cm, 0cm) -- (2 * \layer + 0.15cm, 0.05cm);
\node[anchor=base, scale=0.35] at (2 * \layer, 1.25 * \unit) {$\vdots$};
\foreach \x in {1.5,...,3.5} {
\filldraw[fill=cyan!10, draw=black] (2 * \layer, 0.5cm * \x - \unit) -- (2 * \layer, 0.5cm * \x) circle (\unit) -- (2 * \layer, 0.5cm * \x + \unit);
\draw (2 * \layer + 0.05cm, 0.5cm * \x) -- (2 * \layer + 0.10cm, 0.5cm * \x) -- (2 * \layer + 0.15cm, 0.5cm * \x + 0.05cm);
};
\filldraw[fill=cyan!10, draw=black] (2 * \layer, 2.5cm - \unit) -- (2 * \layer, 2.5cm) circle (\unit) -- (2 * \layer, 2.5cm + \unit);
\draw (2 * \layer + 0.05cm, 2.5cm) -- (2 * \layer + 0.10cm, 2.5cm) -- (2 * \layer + 0.15cm, 2.5cm + 0.05cm);
\node[anchor=base, scale=0.35] at (2 * \layer, 2.5cm - 2\unit) {$\vdots$};
% draw the third layer
\filldraw[fill=cyan!10, draw=black] (3 * \layer, -\unit) -- (3 * \layer, 0cm) circle (\unit) -- (3 * \layer, \unit);
\draw (3 * \layer + 0.05cm, 0cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [437 units]} -- (3 * \layer + 0.10cm, 0cm) -- (3 * \layer + 0.15cm, 0.05cm);
\node[anchor=base, scale=0.35] at (3 * \layer, 1.25 * \unit) {$\vdots$};
\foreach \x in {1.5,...,3.5} {
\filldraw[fill=cyan!10, draw=black] (3 * \layer, 0.5cm * \x - \unit) -- (3 * \layer, 0.5cm * \x) circle (\unit) -- (3 * \layer, 0.5cm * \x + \unit);
\draw (3 * \layer + 0.05cm, 0.5cm * \x) -- (3 * \layer + 0.10cm, 0.5cm * \x) -- (3 * \layer + 0.15cm, 0.5cm * \x + 0.05cm);
};
\filldraw[fill=cyan!10, draw=black] (3 * \layer, 2.5cm - \unit) -- (3 * \layer, 2.5cm) circle (\unit) -- (3 * \layer, 2.5cm + \unit);
\draw (3 * \layer + 0.05cm, 2.5cm) -- (3 * \layer + 0.10cm, 2.5cm) -- (3 * \layer + 0.15cm, 2.5cm + 0.05cm);
\node[anchor=base, scale=0.35] at (3 * \layer, 2.5cm - 2\unit) {$\vdots$};
% draw the fourth layer
\filldraw[fill=cyan!10, draw=black] (4 * \layer, -0.75cm - \unit) -- (4 * \layer, -0.75cm) circle (\unit) -- (4 * \layer, -0.75cm + \unit);
\draw (4 * \layer + 0.05cm, -0.75cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [929 units]} -- (4 * \layer + 0.10cm, -0.75cm) -- (4 * \layer + 0.15cm, -0.75cm + 0.05cm);
\node[anchor=base, scale=0.35] at (4 * \layer, -0.75cm + 1.25 * \unit) {$\vdots$};
\foreach \x in {0,...,5} {
\filldraw[fill=cyan!10, draw=black] (4 * \layer, 0.5cm * \x - \unit) -- (4 * \layer, 0.5cm * \x) circle (\unit) -- (4 * \layer, 0.5cm * \x + \unit);
\draw (4 * \layer + 0.05cm, 0.5cm * \x) -- (4 * \layer + 0.10cm, 0.5cm * \x) -- (4 * \layer + 0.15cm, 0.5cm * \x + 0.05cm);
};
\filldraw[fill=cyan!10, draw=black] (4 * \layer, 3.25cm - \unit) -- (4 * \layer, 3.25cm) circle (\unit) -- (4 * \layer, 3.25cm + \unit);
\draw (4 * \layer + 0.05cm, 3.25cm) -- (4 * \layer + 0.10cm, 3.25cm) -- (4 * \layer + 0.15cm, 3.25cm + 0.05cm);
\node[anchor=base, scale=0.35] at (4 * \layer, 3.25cm - 2\unit) {$\vdots$};
% draw the fifth layer
\filldraw[fill=cyan!10, draw=black] (5 * \layer, -\unit) -- (5 * \layer, 0cm) circle (\unit) -- (5 * \layer, \unit);
\draw (5 * \layer + 0.05cm, 0cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [404 units]} -- (5 * \layer + 0.10cm, 0cm) -- (5 * \layer + 0.15cm, 0.05cm);
\node[anchor=base, scale=0.35] at (5 * \layer, 1.25 * \unit) {$\vdots$};
\foreach \x in {1.5,...,3.5} {
\filldraw[fill=cyan!10, draw=black] (5 * \layer, 0.5cm * \x - \unit) -- (5 * \layer, 0.5cm * \x) circle (\unit) -- (5 * \layer, 0.5cm * \x + \unit);
\draw (5 * \layer + 0.05cm, 0.5cm * \x) -- (5 * \layer + 0.10cm, 0.5cm * \x) -- (5 * \layer + 0.15cm, 0.5cm * \x + 0.05cm);
};
\filldraw[fill=cyan!10, draw=black] (5 * \layer, 2.5cm - \unit) -- (5 * \layer, 2.5cm) circle (\unit) -- (5 * \layer, 2.5cm + \unit);
\draw (5 * \layer + 0.05cm, 2.5cm) -- (5 * \layer + 0.10cm, 2.5cm) -- (5 * \layer + 0.15cm, 2.5cm + 0.05cm);
\node[anchor=base, scale=0.35] at (5 * \layer, 2.5cm - 2\unit) {$\vdots$};
% draw the output layer
\filldraw[fill=cyan!10, draw=black] (6 * \layer, 1.25cm - \unit) -- (6 * \layer, 1.25cm) circle (\unit) -- (6 * \layer, 1.25cm + \unit);
\draw (6 * \layer + 0.05cm, 1.25cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {output layer [1 unit]} -- (6 * \layer + 0.10cm, 1.25cm) -- (6 * \layer + 0.15cm, 1.25cm + 0.05cm);
% draw weights 1 --> 2 and 4 --> 5
\foreach \x in {\layer, 4 * \layer} {
\foreach \y in {-0.75cm, 3.25cm} {
\foreach \z in {0cm, 2.5cm} {
\draw (\x + \unit, \y) -- (\x + \layer - \unit, \z);
};
};
\foreach \y in {0,...,5} {
\foreach \z in {1.5,...,3.5} {
\draw (\x + \unit, 0.5cm * \y) -- (\x + \layer - \unit, 0.5cm * \z);
};
\foreach \z in {0cm, 2.5cm} {
\draw (\x + \unit, 0.5 * \y) -- (\x + \layer - \unit, \z);
};
};
\foreach \y in {1.5,...,3.5} {
\draw (\x + \unit, 3.25cm) -- (\x + \layer - \unit, 0.5cm * \y);
\draw (\x + \unit, -0.75cm) -- (\x + \layer - \unit, 0.5cm * \y);
};
};
% draw weights 2 --> 3
\foreach \y in {0cm, 2.5cm} {
\foreach \z in {0cm, 2.5cm} {
\draw (2 * \layer + \unit, \y) -- (2 * \layer + \layer - \unit, \z);
};
};
\foreach \y in {1.5,...,3.5} {
\foreach \z in {1.5,...,3.5} {
\draw (2 * \layer + \unit, 0.5cm * \y) -- (2 * \layer + \layer - \unit, 0.5cm * \z);
};
\foreach \z in {0cm, 2.5cm} {
\draw (2 * \layer + \unit, 0.5cm * \y) -- (2 * \layer + \layer - \unit, \z);
};
};
\foreach \y in {1.5,...,3.5} {
\draw (2 * \layer + \unit, 2.5cm) -- (2 * \layer + \layer - \unit, 0.5cm * \y);
\draw (2 * \layer + \unit, 0cm) -- (2 * \layer + \layer - \unit, 0.5cm * \y);
};
% draw weights 3 --> 4
\foreach \y in {0cm, 2.5cm} {
\foreach \z in {-0.75cm, 3.25cm} {
\draw (3 * \layer + \unit, \y) -- (3 * \layer + \layer - \unit, \z);
};
};
\foreach \y in {1.5,...,3.5} {
\foreach \z in {0,...,5} {
\draw (3 * \layer + \unit, 0.5cm * \y) -- (3 * \layer + \layer - \unit, 0.5cm * \z);
};
\foreach \z in {0cm, 2.5cm} {
\draw (3 * \layer + \unit, 0.5cm * \y) -- (3 * \layer + \layer - \unit, \z);
};
};
\foreach \y in {0,...,5} {
\draw (3 * \layer + \unit, 2.5cm) -- (3 * \layer + \layer - \unit, 0.5cm * \y);
\draw (3 * \layer + \unit, 0cm) -- (3 * \layer + \layer - \unit, 0.5cm * \y);
};
% draw weights 5 --> output
\foreach \y in {0cm, 2.5cm} {
\draw (5 * \layer + \unit, \y) -- (5 * \layer + \layer - \unit, 1.25cm);
};
\foreach \y in {1.5,...,3.5} {
\draw (5 * \layer + \unit, 0.5cm * \y) -- (5 * \layer + \layer - \unit, 1.25cm);
};
% draw hidden layers legend
\node[anchor=base, align=center, text width=3.5cm, scale=0.5] (h) at (4cm, 4.5cm) {hidden layers (ReLU activation)};
\draw[->] (h) -- (\layer + \unit, 3.6cm);
\draw[->] (h) -- (2 * \layer + \unit, 2.85cm);
\draw[->] (h) -- (3 * \layer + 0.5 * \unit, 2.85cm);
\draw[->] (h) -- (4 * \layer, 3.6cm);
\draw[->] (h) -- (5 * \layer - 0.5 * \unit, 2.85cm);
\end{tikzpicture}
% vim: ft=tex

193
tikz/icnn.pgf Normal file
View File

@@ -0,0 +1,193 @@
%\newlength{\layer}
%\newlength{\layerheight}
%\newlength{\perspective}
%\newlength{\filters}
%\newlength{\unit}
\newlength{\upperlevel}
\newlength{\bottomlevel}
\newlength{\concatheight}
\setlength{\layer}{3cm}
\setlength{\layerheight}{3cm}
\setlength{\perspective}{1cm}
\setlength{\filters}{0.01cm}
\setlength{\unit}{0.225cm}
\setlength{\upperlevel}{2.25cm}
\setlength{\bottomlevel}{-2.25cm}
\setlength{\concatheight}{0cm}
\usetikzlibrary{decorations.pathreplacing}
\begin{tikzpicture}
% input layer
\filldraw[fill=cyan!20, draw=black, fill opacity=0.5] (1cm, 0cm) -- (1cm + \perspective, \perspective) -- (1cm + \perspective, \perspective + \layerheight) -- (1cm, \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (1cm, \layerheight) {$1 @ 12 \times 15$};
\node[anchor=north west, scale=0.65] at (1cm, 0cm) {input layer};
% first layer
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \upperlevel) -- (\layer + 32 * \filters, \upperlevel) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (\layer + \perspective, \upperlevel + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer + \perspective, \upperlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (\layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \upperlevel) -- (\layer + \perspective, \upperlevel + \perspective) -- (\layer + \perspective, \upperlevel + \perspective + \layerheight) -- (\layer, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \upperlevel) -- (\layer + 32 * \filters, \upperlevel) -- (\layer + 32 * \filters, \upperlevel + \layerheight) -- (\layer, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer + 32 * \filters, \upperlevel) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (\layer + 32 * \filters, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \upperlevel + \layerheight) -- (\layer + 32 * \filters, \upperlevel + \layerheight) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (\layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (\layer, \upperlevel + \layerheight) {$32 @ 12 \times 15$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \bottomlevel) -- (\layer + 32 * \filters, \bottomlevel) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (\layer + \perspective, \bottomlevel + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer + \perspective, \bottomlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (\layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \bottomlevel) -- (\layer + \perspective, \bottomlevel + \perspective) -- (\layer + \perspective, \bottomlevel + \perspective + \layerheight) -- (\layer, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \bottomlevel) -- (\layer + 32 * \filters, \bottomlevel) -- (\layer + 32 * \filters, \bottomlevel + \layerheight) -- (\layer, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer + 32 * \filters, \bottomlevel) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (\layer + 32 * \filters, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \bottomlevel + \layerheight) -- (\layer + 32 * \filters, \bottomlevel + \layerheight) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (\layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (\layer, \bottomlevel + \layerheight) {$32 @ 12 \times 15$};
% first concatenation
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \concatheight) -- (2 * \layer + 64 * \filters, \concatheight) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (2 * \layer + \perspective, \concatheight + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + \perspective, \concatheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (2 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \concatheight) -- (2 * \layer + \perspective, \concatheight + \perspective) -- (2 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- (2 * \layer, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \concatheight) -- (2 * \layer + 64 * \filters, \concatheight) -- (2 * \layer + 64 * \filters, \concatheight + \layerheight) -- (2 * \layer, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + 64 * \filters, \concatheight) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (2 * \layer + 64 * \filters, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \concatheight + \layerheight) -- (2 * \layer + 64 * \filters, \concatheight + \layerheight) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (2 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (2 * \layer, \concatheight + \layerheight) {$64 @ 12 \times 15$};
\draw (\layer + 32 * \filters + 1.2 * \perspective, \upperlevel + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective, \upperlevel + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective, \bottomlevel + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.2 * \perspective, \bottomlevel + 0.5 * \layerheight);
\filldraw[fill=red!20, draw=black] (\layer + 32 * \filters + 1.7 * \perspective, \concatheight + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\unit);
\draw[-latex] (\layer + 32 * \filters + 1.7 * \perspective + \unit, \concatheight + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective + 3 * \unit, \concatheight + 0.5 * \layerheight);
% second layer
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \upperlevel) -- (3 * \layer + 64 * \filters, \upperlevel) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective) -- (3 * \layer + \perspective, \upperlevel + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + \perspective, \upperlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (3 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \upperlevel) -- (3 * \layer + \perspective, \upperlevel + \perspective) -- (3 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- (3 * \layer, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \upperlevel) -- (3 * \layer + 64 * \filters, \upperlevel) -- (3 * \layer + 64 * \filters, \upperlevel + \layerheight) -- (3 * \layer, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + 64 * \filters, \upperlevel) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (3 * \layer + 64 * \filters, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \upperlevel + \layerheight) -- (3 * \layer + 64 * \filters, \upperlevel + \layerheight) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (3 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, \upperlevel + \layerheight) {$64 @ 12 \times 15$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \bottomlevel) -- (3 * \layer + 64 * \filters, \bottomlevel) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective) -- (3 * \layer + \perspective, \bottomlevel + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + \perspective, \bottomlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (3 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \bottomlevel) -- (3 * \layer + \perspective, \bottomlevel + \perspective) -- (3 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- (3 * \layer, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \bottomlevel) -- (3 * \layer + 64 * \filters, \bottomlevel) -- (3 * \layer + 64 * \filters, \bottomlevel + \layerheight) -- (3 * \layer, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + 64 * \filters, \bottomlevel) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (3 * \layer + 64 * \filters, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \bottomlevel + \layerheight) -- (3 * \layer + 64 * \filters, \bottomlevel + \layerheight) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (3 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, \bottomlevel + \layerheight) {$64 @ 12 \times 15$};
% second concatenation
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \concatheight) -- (4 * \layer + 128 * \filters, \concatheight) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective) -- (4 * \layer + \perspective, \concatheight + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + \perspective, \concatheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (4 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \concatheight) -- (4 * \layer + \perspective, \concatheight + \perspective) -- (4 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- (4 * \layer, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \concatheight) -- (4 * \layer + 128 * \filters, \concatheight) -- (4 * \layer + 128 * \filters, \concatheight + \layerheight) -- (4 * \layer, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + 128 * \filters, \concatheight) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (4 * \layer + 128 * \filters, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \concatheight + \layerheight) -- (4 * \layer + 128 * \filters, \concatheight + \layerheight) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (4 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (4 * \layer, \concatheight + \layerheight) {$128 @ 12 \times 15$};
\draw (3 * \layer + 64 * \filters + 1.1 * \perspective, \upperlevel + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective, \upperlevel + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective, \bottomlevel + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.1 * \perspective, \bottomlevel + 0.5 * \layerheight);
\filldraw[fill=red!20, draw=black] (3 * \layer + 64 * \filters + 1.6 * \perspective, \concatheight + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\unit);
\draw[-latex] (3 * \layer + 64 * \filters + 1.6 * \perspective + \unit, \concatheight + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective + 3 * \unit, \concatheight + 0.5 * \layerheight);
% third layer
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \upperlevel) -- (5 * \layer + 32 * \filters, \upperlevel) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (5 * \layer + \perspective, \upperlevel + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + \perspective, \upperlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (5 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \upperlevel) -- (5 * \layer + \perspective, \upperlevel + \perspective) -- (5 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- (5 * \layer, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \upperlevel) -- (5 * \layer + 32 * \filters, \upperlevel) -- (5 * \layer + 32 * \filters, \upperlevel + \layerheight) -- (5 * \layer, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + 32 * \filters, \upperlevel) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (5 * \layer + 32 * \filters, \upperlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \upperlevel + \layerheight) -- (5 * \layer + 32 * \filters, \upperlevel + \layerheight) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (5 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, \upperlevel + \layerheight) {$32 @ 12 \times 15$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \bottomlevel) -- (5 * \layer + 32 * \filters, \bottomlevel) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (5 * \layer + \perspective, \bottomlevel + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + \perspective, \bottomlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (5 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \bottomlevel) -- (5 * \layer + \perspective, \bottomlevel + \perspective) -- (5 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- (5 * \layer, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \bottomlevel) -- (5 * \layer + 32 * \filters, \bottomlevel) -- (5 * \layer + 32 * \filters, \bottomlevel + \layerheight) -- (5 * \layer, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + 32 * \filters, \bottomlevel) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (5 * \layer + 32 * \filters, \bottomlevel + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \bottomlevel + \layerheight) -- (5 * \layer + 32 * \filters, \bottomlevel + \layerheight) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (5 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, \bottomlevel + \layerheight) {$32 @ 12 \times 15$};
% third concatenation
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, \concatheight) -- (6 * \layer + 64 * \filters, \concatheight) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (6 * \layer + \perspective, \concatheight + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer + \perspective, \concatheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (6 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, \concatheight) -- (6 * \layer + \perspective, \concatheight + \perspective) -- (6 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- (6 * \layer, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, \concatheight) -- (6 * \layer + 64 * \filters, \concatheight) -- (6 * \layer + 64 * \filters, \concatheight + \layerheight) -- (6 * \layer, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer + 64 * \filters, \concatheight) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (6 * \layer + 64 * \filters, \concatheight + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, \concatheight + \layerheight) -- (6 * \layer + 64 * \filters, \concatheight + \layerheight) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (6 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (6 * \layer, \concatheight + \layerheight) {$64 @ 12 \times 15$};
\draw (5 * \layer + 32 * \filters + 1.2 * \perspective, \upperlevel + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective, \upperlevel + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective, \bottomlevel + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.2 * \perspective, \bottomlevel + 0.5 * \layerheight);
\filldraw[fill=red!20, draw=black] (5 * \layer + 32 * \filters + 1.7 * \perspective, \concatheight + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\unit);
\draw[-latex] (5 * \layer + 32 * \filters + 1.7 * \perspective + \unit, \concatheight + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective + 3 * \unit, \concatheight + 0.5 * \layerheight);
% flatten layer
\foreach \x in {0,...,4} {
\filldraw[fill=cyan!10, draw=black] (6 * \layer + 3cm, \concatheight + \unit + 0.75 * \x cm) circle (\unit);
\draw (6 * \layer + 3cm + \unit, \concatheight + \unit + 0.75 * \x cm) -- (7 * \layer + 2cm - \unit, \concatheight + \unit + 0.5 * \layerheight);
};
\node[anchor=north, scale=0.5, below=15pt, align=center] at (6 * \layer + 3cm, \concatheight + \unit) {flatten};
% draw the "flatenisation"
\draw[dashed] (6 * \layer + 64 * \filters, \layerheight) -- (6 * \layer + 3 cm, 3cm + 2 * \unit) -- (6 * \layer + 64 * \filters + \perspective, \layerheight + \perspective) -- cycle;
\draw[dashed] (6 * \layer + 64 * \filters, 0cm) -- (6 * \layer + 3 cm, 0cm) -- (6 * \layer + 64 * \filters + \perspective, \perspective) -- cycle;
% output layer
\filldraw[fill=cyan!10, draw=black] (7 * \layer + 2cm, \concatheight + \unit + 0.5 * \layerheight - \unit) -- (7 * \layer + 2cm, \concatheight + \unit + 0.5 * \layerheight) circle (\unit) -- (7 * \layer + 2cm, \concatheight + \unit + 0.5 * \layerheight + \unit);
\draw (7 * \layer + 2cm + 0.05cm, \concatheight + \unit + 0.5 * \layerheight) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {output layer [1 unit]} -- (7 * \layer + 2cm + 0.10cm, \concatheight + \unit + 0.5 * \layerheight) -- (7 * \layer + 2cm + 0.15cm, \concatheight + \unit + 0.5 * \layerheight + 0.05cm);
% draw the first convolution
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0.9 * \layerheight) -- (1cm + \perspective, 0.9 * \layerheight + \perspective) -- (1cm + \perspective, \layerheight + \perspective) -- (1cm, \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0.9 * \layerheight) -- (\layer, \upperlevel + 0.9 * \layerheight) -- (1cm + \perspective, 0.9 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, \layerheight) -- (\layer, \upperlevel + 0.9 * \layerheight) -- (1cm + \perspective, \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm + \perspective, 0.9 * \layerheight + \perspective) -- (\layer, \upperlevel + 0.9 * \layerheight) -- (1cm + \perspective, \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0.9 * \layerheight) -- (\layer, \upperlevel + 0.9 * \layerheight) -- (1cm, \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (1cm + 0.2 * \perspective, 0.2 * \perspective) -- (1cm + 0.2 * \perspective, \layerheight + 0.2 * \perspective) -- (1cm, \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (\layer, \bottomlevel + 0.9 * \layerheight) -- (1cm + 0.2 * \perspective, 0.2 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm + 0.2 * \perspective, 0.2 * \perspective) -- (\layer, \bottomlevel + 0.9 * \layerheight) -- (1cm + 0.2 * \perspective, \layerheight + 0.2 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm + 0.2 * \perspective, \layerheight + 0.2 * \perspective) -- (\layer, \bottomlevel + 0.9 * \layerheight) -- (1cm, \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (\layer, \bottomlevel + 0.9 * \layerheight) -- (1cm, \layerheight) -- cycle;
% draw the second convolution
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
% draw the second convolution
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
% draw the third convolution
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters, 0.4 * \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- (4 * \layer + 128 * \filters, 0.5 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters, 0.4 * \layerheight) -- (5 * \layer, \upperlevel + 0.6 * \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters, 0.5 * \layerheight) -- (5 * \layer, \upperlevel + 0.6 * \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (5 * \layer, \upperlevel + 0.6 * \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters, 0.4 * \layerheight) -- (5 * \layer, \upperlevel + 0.6 * \layerheight) -- (4 * \layer + 128 * \filters, 0.5 * \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (4 * \layer + 128 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (4 * \layer + 128 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (4 * \layer + 128 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (5 * \layer, \bottomlevel + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (5 * \layer, \bottomlevel + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (5 * \layer, \bottomlevel + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (5 * \layer, \bottomlevel + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
% hidden layer labels
\draw[decorate, decoration={brace}] (\layer, \upperlevel + 1.25 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, \upperlevel + 1.25 * \layerheight + \perspective) node[midway, anchor=south, above=2cm, align=center] {concatenation module 1} node[midway, anchor=south, above=0.8cm, align=center, text width=4cm] {hor: $1 \times 15$ kernel ver: $12 \times 1$ kernel} node[midway, anchor=south] {(ReLU activation)};
\draw[decorate, decoration={brace}] (3 * \layer, \upperlevel + 1.25 * \layerheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, \upperlevel + 1.25 * \layerheight + \perspective) node[midway, anchor=south, above=2cm, align=center] {concatenation module 2} node[midway, anchor=south, above=0.8cm, align=center, text width=4cm] {hor: $1 \times 15$ kernel ver: $12 \times 1$ kernel} node[midway, anchor=south] {(ReLU activation)};
\draw[decorate, decoration={brace}] (5 * \layer, \upperlevel + 1.25 * \layerheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, \upperlevel + 1.25 * \layerheight + \perspective) node[midway, anchor=south, above=2cm, align=center] {concatenation module 3} node[midway, anchor=south, above=0.8cm, align=center, text width=4cm] {hor: $1 \times 15$ kernel ver: $12 \times 1$ kernel} node[midway, anchor=south] {(ReLU activation)};
\end{tikzpicture}
% vim: ft=texft=texft=texft=texft=tex

View File

@@ -0,0 +1,29 @@
\usetikzlibrary{patterns}
\begin{tikzpicture}
% fill the overlap area
\draw[black!0, pattern=north east lines, pattern color=black!15] (0cm, 0cm) rectangle (2cm, 2cm);
\node[anchor=base, text width=2cm, align=center] at (1cm, 1.4cm) {\textsc{Overlap Region}};
\node[anchor=base, text width=3cm, align=center, scale=0.5] at (1cm, 0.5cm) {\textsc{inconsistent theories}};
% draw the horizontal axis
\draw[thick, ->] (-3cm, 0cm) -- (4cm, 0cm) node[anchor=south west] {$n$};
% draw points
\node[anchor=north] at (-3cm, 0cm) {$\cdots$};
\filldraw[fill=white, draw=black] (-2cm,0cm) circle (2pt) node[anchor=north] {$-1$};
\filldraw[fill=white, draw=black] (-1cm,0cm) circle (2pt) node[anchor=north] {$0$};
\filldraw[fill=white, draw=black] (0cm,0cm) circle (2pt) node[anchor=north] {$1$};
\node[anchor=north] at (1cm, 0cm) {$\cdots$};
\filldraw[fill=white, draw=black] (2cm,0cm) circle (2pt) node[anchor=north] {$\rL$};
\filldraw[fill=white, draw=black] (3cm,0cm) circle (2pt) node[anchor=north] {$\rL+1$};
\node[anchor=north] at (4cm, 0cm) {$\cdots$};
% draw limits
\draw[->] (0cm, 2pt) -- (0cm, 2cm) -- (4cm, 2cm) node[midway, anchor=south west] {in-annihilators} node[anchor=north east] {$b_{n}$};
\draw[->] (2cm, 2pt) -- (2cm, 1.8cm) -- (-3cm, 1.8cm) node[midway, anchor=south east] {out-annihilators} node[anchor=north west] {$b^*_{\rL + 1 - n}$};
\end{tikzpicture}
% vim: ft=tex

View File

@@ -1,17 +1,14 @@
\usetikzlibrary{decorations.markings}
\usetikzlibrary{arrows}
\begin{tikzpicture}
\begin{tikzpicture}
% draw axis
\draw[thick, ->] (-3cm, 0cm) -- (3cm, 0cm) node[anchor=south] (ascissa) {$\Re z$};
\draw[thick, ->] (0cm, -3cm) -- (0cm, 3cm) node[anchor=east] (ordinata) {$\Im z$};
% draw isolated point
\draw[fill] (-1.5cm, 1.1cm) circle [radius=2pt] node[anchor=south west] (w) {$w$};
\draw[fill] (-1.5cm, 1.1cm) circle (2pt) node[anchor=south west] (w) {$w$};
% draw closed loops
\draw[dotted, decorate, decoration={markings, mark=at position 0.0 with {\arrow{latex}}}] (-1.5cm, 1.1cm) circle [radius=0.6cm];
\draw[dotted, -latex] (-0.9cm, 1.1cm) arc (0:360:0.6cm);
% draw the names of the paths (use $\mathcal{C}$ instead of $\ccC$ if it does not compile)
\node (c0) at (-2.1cm, 0.3cm) {$\ccC_{(w)}$};

43
tikz/stacking.pgf Normal file
View File

@@ -0,0 +1,43 @@
\begin{tikzpicture}
% draw first level
\filldraw[thick, fill=cyan!20, draw=black] (0cm, 0cm) -- (7cm, 0cm) node[midway, anchor=south, align=center, text width=3cm, above=5pt] {training set} -- (7cm, 1cm) -- (0cm, 1cm) -- cycle;
\filldraw[thick, fill=orange!20, draw=black] (7.1cm, 0cm) -- (10cm, 0cm) node[midway, anchor=south, align=center, text width=2cm, above=8pt] {test set} -- (10cm, 1cm) -- (7.1cm, 1cm) -- cycle;
\draw[-latex] (3.5cm, 0cm) -- (1.75cm, -0.8cm);
\draw[-latex] (3.5cm, 0cm) -- (5.25cm, -0.8cm);
% draw second level
\filldraw[thick, fill=cyan!20, draw=black] (0cm, -2cm) -- (3.45cm, -2cm) node[midway, anchor=south, align=center, text width=3cm, above=5pt] {training set 1} -- (3.45cm, -1cm) -- (0cm, -1cm) -- cycle;
\filldraw[thick, fill=cyan!20, draw=black] (3.55cm, -2cm) -- (7cm, -2cm) node[midway, anchor=south, align=center, text width=3cm, above=5pt] {training set 2} -- (7cm, -1cm) -- (3.55cm, -1cm) -- cycle;
\filldraw[thick, fill=orange!20, draw=black] (7.1cm, -2cm) -- (10cm, -2cm) node[midway, anchor=south, align=center, text width=2cm, above=8pt] {test set} -- (10cm, -1cm) -- (7.1cm, -1cm) -- cycle;
\draw[-latex] (1.75cm, -2cm) -- (1.75cm, -2.65cm) node[anchor=south west] {training};
% 1st level trainers
\filldraw[thick, fill=green!20, draw=black] (1.725cm, -3.5cm) ellipse [x radius=1.5cm,y radius=0.75cm] node[anchor=center, align=center, text width=3cm] {1st level learners};
\draw[-latex] (5.25cm, -2cm) -- (5.25cm, -4.85cm) node[anchor=south west] {predictions};
\draw[-latex] (8.5cm, -2cm) -- (8.5cm, -4.85cm) node[anchor=south west] {predictions};
\filldraw (3.25cm, -3.5cm) -- (8.5cm, -3.5cm) circle (2pt);
\draw (1.75cm, -4.25cm) -- (1.75cm, -4.45cm) -- (5.25cm, -4.45cm);
\filldraw (5.25cm, -4.45cm) circle (2pt);
% 1st level labels
\filldraw[thick, fill=red!20, draw=black] (3.55cm, -6cm) -- (7cm, -6cm) node[midway, anchor=south, align=center, scale=0.8] {\begin{tabular}{c} test set 2 \\ (1st level labels) \\ \end{tabular}} -- (7cm, -5cm) -- (3.55cm, -5cm) -- cycle;
\filldraw[thick, fill=blue!20, draw=black] (7.1cm, -6cm) -- (10cm, -6cm) node[midway, anchor=south, align=center, scale=0.8] {\begin{tabular}{c} test set 1 \\ (1st level labels) \\ \end{tabular}} -- (10cm, -5cm) -- (7.1cm, -5cm) -- cycle;
\draw[-latex] (5.25cm, -6cm) -- (5.25cm, -6.65cm);
\draw[-latex] (8.5cm, -6cm) -- (8.5cm, -8.85cm) node[anchor=south west] {predictions};
\filldraw (6.75cm, -7.5cm) -- (8.5cm, -7.5cm) circle (2pt);
% 2nd level trainers
\filldraw[thick, fill=black!20, draw=black] (5.25cm, -7.5cm) ellipse [x radius=1.5cm,y radius=0.75cm] node[anchor=center, align=center, text width=3cm] {meta learner};
% final predictions
\filldraw[thick, fill=yellow!20, draw=black] (7.1cm, -10cm) -- (10cm, -10cm) node[midway, anchor=south, align=center, scale=0.8] {\begin{tabular}{c} test set 1 \\ (1st level labels) \\ \end{tabular}} -- (10cm, -9cm) -- (7.1cm, -9cm) -- cycle;
\end{tikzpicture}
% vim: ft=tex

View File

@@ -0,0 +1,21 @@
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{decorations.pathmorphing}
\begin{tikzpicture}
% draw axis
\draw[thick, ->] (-0.5cm, 0cm) -- (5cm, 0cm) node[anchor=south] {$\Re \omega$};
\draw[thick, ->] (0cm, -1cm) -- (0cm, 3cm) node[anchor=east] {$\Im \omega$};
% draw branching cuts
\filldraw[fill=black!30, draw=black, dashed] (0cm, 2pt) rectangle (4.8cm, -2pt);
\filldraw[fill=black!10, draw=black, dashed] (1cm, 1pt) rectangle (4.8cm, -1pt);
% draw branching points
\filldraw[fill=white, draw=black] (4.8cm, 0cm) circle (2pt) node[anchor=north] (x1) {$\infty$};
\filldraw[fill=white, draw=black] (1cm, 0cm) circle (2pt) node[anchor=north] (x2) {$1$};
\filldraw[fill=white, draw=black] (0cm, 0cm) circle (2pt) node[anchor=north east] (x3) {$0$};
\end{tikzpicture}
% vim: ft=tex

View File

@@ -0,0 +1,15 @@
\begin{tikzpicture}
% draw D-branes
\draw[thick] (-0.5cm, -0.5cm) -- (4cm, 2cm) node[anchor=west] {$D_{(t)}$};
\draw[thick] (0cm, -1cm) -- (1.7cm, 4cm) node[anchor=west] {$D_{(t+1)}$};
% draw baseline and angles
\draw[dotted] (-1cm, -0.05cm) -- (5cm, -0.05cm);
\draw[->] (1.5cm, -0.05cm) node[anchor=north] {$\alpha_{(t)}$} arc (0:22:1.6cm);
\draw[->] (2.5cm, -0.05cm) node[anchor=north] {$\alpha_{(t+1)}$} arc (0:62:2.6cm);
\draw[->] (3.5cm, 1.7cm) arc (22:76:2.9cm) node[anchor=east] {$\varepsilon_{(t)}$};
\end{tikzpicture}
% vim: ft=tex

View File

@@ -0,0 +1,15 @@
\begin{tikzpicture}
% draw D-branes
\draw[thick] (0cm, -1cm) -- (1.7cm, 4cm) node[anchor=west] {$D_{(t)}$};
\draw[thick] (-0.5cm, -0.5cm) -- (4cm, 2cm) node[anchor=west] {$D_{(t+1)}$};
% draw baseline and angles
\draw[dotted] (-1cm, -0.05cm) -- (5cm, -0.05cm);
\draw[->] (2.5cm, -0.05cm) node[anchor=north] {$\alpha_{(t)}$} arc (0:62:2.6cm);
\draw[->] (1.5cm, -0.05cm) node[anchor=north] {$\alpha_{(t+1)}$} arc (0:22:1.6cm);
\draw[->] (0.55cm, 0.6cm) node[anchor=south east] {$\varepsilon_{(t)}$} arc (76:210:0.6cm);
\end{tikzpicture}
% vim: ft=tex