Compare commits
	
		
			10 Commits
		
	
	
		
			a64089cb56
			...
			f11def51ce
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | f11def51ce | ||
| fb2fe7b6c6 | |||
| c7c972c423 | |||
| 2bb3e82da4 | |||
| 8217370bd5 | |||
| b5ca88d432 | |||
| 284840990b | |||
| 4cf246f755 | |||
| 330130b662 | |||
| e2f4bae156 | 
							
								
								
									
										44
									
								
								.gitea/workflows/xelatex.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								.gitea/workflows/xelatex.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | name: Compile PDF | ||||||
|  | run-name: ${{ gitea.actor }} is compiling a PDF 🚀 | ||||||
|  | on: [push] | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   Compile-PDF: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." | ||||||
|  |       - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" | ||||||
|  |       - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." | ||||||
|  |       - name: Check out repository code | ||||||
|  |         uses: actions/checkout@v4 | ||||||
|  |       - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." | ||||||
|  |       - run: echo "🖥️ The workflow is now ready to test your code on the runner." | ||||||
|  |       - name: List files in the repository | ||||||
|  |         run: | | ||||||
|  |           ls ${{ gitea.workspace }} | ||||||
|  |       - name: Compile LaTeX document | ||||||
|  |         uses: xu-cheng/latex-action@v2 | ||||||
|  |         with: | ||||||
|  |           root_file: thesis.tex | ||||||
|  |           latexmk_use_xelatex: true | ||||||
|  |       - name: List files in the repository | ||||||
|  |         run: | | ||||||
|  |           ls ${{ gitea.workspace }} | ||||||
|  |       - name: Archive artifacs | ||||||
|  |         uses: christopherhx/gitea-upload-artifact@v4 | ||||||
|  |         with: | ||||||
|  |           name: thesis | ||||||
|  |           path: thesis.pdf | ||||||
|  |       - name: Upload to S3 | ||||||
|  |         uses: bxb100/action-upload@main | ||||||
|  |         with: | ||||||
|  |           provider: s3 | ||||||
|  |           provider_options: | | ||||||
|  |             root=/ | ||||||
|  |             region=${{ secrets.S3REGION }} | ||||||
|  |             bucket=${{ secrets.S3BUCKET }} | ||||||
|  |             endpoint=${{ secrets.S3ENDPOINT }} | ||||||
|  |             access_key_id=${{ secrets.S3ACCESSKEY }} | ||||||
|  |             secret_access_key=${{ secrets.S3ACCESSSECRET }} | ||||||
|  |           include: '*.pdf' | ||||||
|  |       - run: echo "🍏 This job's status is ${{ job.status }}." | ||||||
							
								
								
									
										316
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										316
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,16 +1,308 @@ | |||||||
| img/*.xcf | ## Core latex/pdflatex auxiliary files: | ||||||
|  | *.pdf | ||||||
| *.aux | *.aux | ||||||
| *.fdb_latexmk | *.lof | ||||||
| *.fls |  | ||||||
| *.log | *.log | ||||||
| *.nav | *.lot | ||||||
|  | *.fls | ||||||
| *.out | *.out | ||||||
| *.snm |  | ||||||
| *.synctex.gz |  | ||||||
| *.thm |  | ||||||
| *.toc | *.toc | ||||||
| img/animation/*.aux | *.fmt | ||||||
| img/animation/*.fdb_latexmk | *.fot | ||||||
| img/animation/*.fls | *.cb | ||||||
| img/animation/*.log | *.cb2 | ||||||
| img/animation/*.synctex.gz | .*.lb | ||||||
|  |  | ||||||
|  | ## Intermediate documents: | ||||||
|  | *.dvi | ||||||
|  | *.xdv | ||||||
|  | *-converted-to.* | ||||||
|  | # these rules might exclude image files for figures etc. | ||||||
|  | # *.ps | ||||||
|  | # *.eps | ||||||
|  | # *.pdf | ||||||
|  |  | ||||||
|  | ## Generated if empty string is given at "Please type another file name for output:" | ||||||
|  | .pdf | ||||||
|  |  | ||||||
|  | ## Bibliography auxiliary files (bibtex/biblatex/biber): | ||||||
|  | *.bbl | ||||||
|  | *.bbl-SAVE-ERROR | ||||||
|  | *.bcf | ||||||
|  | *.blg | ||||||
|  | *-blx.aux | ||||||
|  | *-blx.bib | ||||||
|  | *.run.xml | ||||||
|  |  | ||||||
|  | ## Build tool auxiliary files: | ||||||
|  | *.fdb_latexmk | ||||||
|  | *.synctex | ||||||
|  | *.synctex(busy) | ||||||
|  | *.synctex.gz | ||||||
|  | *.synctex.gz(busy) | ||||||
|  | *.pdfsync | ||||||
|  | *.rubbercache | ||||||
|  | rubber.cache | ||||||
|  |  | ||||||
|  | ## Build tool directories for auxiliary files | ||||||
|  | # latexrun | ||||||
|  | latex.out/ | ||||||
|  |  | ||||||
|  | ## Auxiliary and intermediate files from other packages: | ||||||
|  | # algorithms | ||||||
|  | *.alg | ||||||
|  | *.loa | ||||||
|  |  | ||||||
|  | # achemso | ||||||
|  | acs-*.bib | ||||||
|  |  | ||||||
|  | # amsthm | ||||||
|  | *.thm | ||||||
|  |  | ||||||
|  | # beamer | ||||||
|  | *.nav | ||||||
|  | *.pre | ||||||
|  | *.snm | ||||||
|  | *.vrb | ||||||
|  |  | ||||||
|  | # changes | ||||||
|  | *.soc | ||||||
|  |  | ||||||
|  | # comment | ||||||
|  | *.cut | ||||||
|  |  | ||||||
|  | # cprotect | ||||||
|  | *.cpt | ||||||
|  |  | ||||||
|  | # elsarticle (documentclass of Elsevier journals) | ||||||
|  | *.spl | ||||||
|  |  | ||||||
|  | # endnotes | ||||||
|  | *.ent | ||||||
|  |  | ||||||
|  | # fixme | ||||||
|  | *.lox | ||||||
|  |  | ||||||
|  | # feynmf/feynmp | ||||||
|  | *.mf | ||||||
|  | *.mp | ||||||
|  | *.t[1-9] | ||||||
|  | *.t[1-9][0-9] | ||||||
|  | *.tfm | ||||||
|  |  | ||||||
|  | #(r)(e)ledmac/(r)(e)ledpar | ||||||
|  | *.end | ||||||
|  | *.?end | ||||||
|  | *.[1-9] | ||||||
|  | *.[1-9][0-9] | ||||||
|  | *.[1-9][0-9][0-9] | ||||||
|  | *.[1-9]R | ||||||
|  | *.[1-9][0-9]R | ||||||
|  | *.[1-9][0-9][0-9]R | ||||||
|  | *.eledsec[1-9] | ||||||
|  | *.eledsec[1-9]R | ||||||
|  | *.eledsec[1-9][0-9] | ||||||
|  | *.eledsec[1-9][0-9]R | ||||||
|  | *.eledsec[1-9][0-9][0-9] | ||||||
|  | *.eledsec[1-9][0-9][0-9]R | ||||||
|  |  | ||||||
|  | # glossaries | ||||||
|  | *.acn | ||||||
|  | *.acr | ||||||
|  | *.glg | ||||||
|  | *.glo | ||||||
|  | *.gls | ||||||
|  | *.glsdefs | ||||||
|  | *.lzo | ||||||
|  | *.lzs | ||||||
|  | *.slg | ||||||
|  | *.slo | ||||||
|  | *.sls | ||||||
|  |  | ||||||
|  | # uncomment this for glossaries-extra (will ignore makeindex's style files!) | ||||||
|  | # *.ist | ||||||
|  |  | ||||||
|  | # gnuplot | ||||||
|  | *.gnuplot | ||||||
|  | *.table | ||||||
|  |  | ||||||
|  | # gnuplottex | ||||||
|  | *-gnuplottex-* | ||||||
|  |  | ||||||
|  | # gregoriotex | ||||||
|  | *.gaux | ||||||
|  | *.glog | ||||||
|  | *.gtex | ||||||
|  |  | ||||||
|  | # htlatex | ||||||
|  | *.4ct | ||||||
|  | *.4tc | ||||||
|  | *.idv | ||||||
|  | *.lg | ||||||
|  | *.trc | ||||||
|  | *.xref | ||||||
|  |  | ||||||
|  | # hypdoc | ||||||
|  | *.hd | ||||||
|  |  | ||||||
|  | # hyperref | ||||||
|  | *.brf | ||||||
|  |  | ||||||
|  | # knitr | ||||||
|  | *-concordance.tex | ||||||
|  | # TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files | ||||||
|  | # *.tikz | ||||||
|  | *-tikzDictionary | ||||||
|  |  | ||||||
|  | # listings | ||||||
|  | *.lol | ||||||
|  |  | ||||||
|  | # luatexja-ruby | ||||||
|  | *.ltjruby | ||||||
|  |  | ||||||
|  | # makeidx | ||||||
|  | *.idx | ||||||
|  | *.ilg | ||||||
|  | *.ind | ||||||
|  |  | ||||||
|  | # minitoc | ||||||
|  | *.maf | ||||||
|  | *.mlf | ||||||
|  | *.mlt | ||||||
|  | *.mtc[0-9]* | ||||||
|  | *.slf[0-9]* | ||||||
|  | *.slt[0-9]* | ||||||
|  | *.stc[0-9]* | ||||||
|  |  | ||||||
|  | # minted | ||||||
|  | _minted* | ||||||
|  | *.pyg | ||||||
|  |  | ||||||
|  | # morewrites | ||||||
|  | *.mw | ||||||
|  |  | ||||||
|  | # newpax | ||||||
|  | *.newpax | ||||||
|  |  | ||||||
|  | # nomencl | ||||||
|  | *.nlg | ||||||
|  | *.nlo | ||||||
|  | *.nls | ||||||
|  |  | ||||||
|  | # pax | ||||||
|  | *.pax | ||||||
|  |  | ||||||
|  | # pdfpcnotes | ||||||
|  | *.pdfpc | ||||||
|  |  | ||||||
|  | # sagetex | ||||||
|  | *.sagetex.sage | ||||||
|  | *.sagetex.py | ||||||
|  | *.sagetex.scmd | ||||||
|  |  | ||||||
|  | # scrwfile | ||||||
|  | *.wrt | ||||||
|  |  | ||||||
|  | # svg | ||||||
|  | svg-inkscape/ | ||||||
|  |  | ||||||
|  | # sympy | ||||||
|  | *.sout | ||||||
|  | *.sympy | ||||||
|  | sympy-plots-for-*.tex/ | ||||||
|  |  | ||||||
|  | # pdfcomment | ||||||
|  | *.upa | ||||||
|  | *.upb | ||||||
|  |  | ||||||
|  | # pythontex | ||||||
|  | *.pytxcode | ||||||
|  | pythontex-files-*/ | ||||||
|  |  | ||||||
|  | # tcolorbox | ||||||
|  | *.listing | ||||||
|  |  | ||||||
|  | # thmtools | ||||||
|  | *.loe | ||||||
|  |  | ||||||
|  | # TikZ & PGF | ||||||
|  | *.dpth | ||||||
|  | *.md5 | ||||||
|  | *.auxlock | ||||||
|  |  | ||||||
|  | # titletoc | ||||||
|  | *.ptc | ||||||
|  |  | ||||||
|  | # todonotes | ||||||
|  | *.tdo | ||||||
|  |  | ||||||
|  | # vhistory | ||||||
|  | *.hst | ||||||
|  | *.ver | ||||||
|  |  | ||||||
|  | # easy-todo | ||||||
|  | *.lod | ||||||
|  |  | ||||||
|  | # xcolor | ||||||
|  | *.xcp | ||||||
|  |  | ||||||
|  | # xmpincl | ||||||
|  | *.xmpi | ||||||
|  |  | ||||||
|  | # xindy | ||||||
|  | *.xdy | ||||||
|  |  | ||||||
|  | # xypic precompiled matrices and outlines | ||||||
|  | *.xyc | ||||||
|  | *.xyd | ||||||
|  |  | ||||||
|  | # endfloat | ||||||
|  | *.ttt | ||||||
|  | *.fff | ||||||
|  |  | ||||||
|  | # Latexian | ||||||
|  | TSWLatexianTemp* | ||||||
|  |  | ||||||
|  | ## Editors: | ||||||
|  | # WinEdt | ||||||
|  | *.bak | ||||||
|  | *.sav | ||||||
|  |  | ||||||
|  | # Texpad | ||||||
|  | .texpadtmp | ||||||
|  |  | ||||||
|  | # LyX | ||||||
|  | *.lyx~ | ||||||
|  |  | ||||||
|  | # Kile | ||||||
|  | *.backup | ||||||
|  |  | ||||||
|  | # gummi | ||||||
|  | .*.swp | ||||||
|  |  | ||||||
|  | # KBibTeX | ||||||
|  | *~[0-9]* | ||||||
|  |  | ||||||
|  | # TeXnicCenter | ||||||
|  | *.tps | ||||||
|  |  | ||||||
|  | # auto folder when using emacs and auctex | ||||||
|  | ./auto/* | ||||||
|  | *.el | ||||||
|  |  | ||||||
|  | # expex forward references with \gathertags | ||||||
|  | *-tags.tex | ||||||
|  |  | ||||||
|  | # standalone packages | ||||||
|  | *.sta | ||||||
|  |  | ||||||
|  | # Makeindex log files | ||||||
|  | *.lpz | ||||||
|  |  | ||||||
|  | # xwatermark package | ||||||
|  | *.xwm | ||||||
|  |  | ||||||
|  | # REVTeX puts footnotes in the bibliography by default, unless the nofootinbib | ||||||
|  | # option is specified. Footnotes are the stored in a file with suffix Notes.bib. | ||||||
|  | # Uncomment the next line to have this generated file ignored. | ||||||
|  | #*Notes.bib | ||||||
|   | |||||||
							
								
								
									
										26
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | # Ph.D. Thesis | ||||||
|  |  | ||||||
|  | This project contains the LaTeX code of the **Beamer presentation** of the thesis of my Ph.D. defence. | ||||||
|  |  | ||||||
|  | The LaTeX file compiles using PDFLaTeX as backend. | ||||||
|  | Make sure to download all the style files (`debug.sty` and `sciencestuff.sty`) and the class `thesis.cls`. | ||||||
|  |  | ||||||
|  | ## Abstract | ||||||
|  |  | ||||||
|  | We present topics of (semi-)phenomenological relevance in string theory ranging from particle physics amplitudes and Big Bang-like singularities to the study of state-of-the-art deep learning techniques for string compactifications based on recent advancements in artificial intelligence. | ||||||
|  |  | ||||||
|  | We show the computation of the leading contribution to amplitudes in the presence of non Abelian twist fields in intersecting D-branes scenarios in non factorised tori. | ||||||
|  | This is a generalisation to the current literature which mainly covers factorised internal spaces. | ||||||
|  | We also study a new method to compute amplitudes in the presence of an arbitrary number of spin fields introducing point-like defects on the string worldsheet. | ||||||
|  | The procedure can then be treated as an alternative computation with respect to bosonization and approaches based on the Reggeon vertex. | ||||||
|  | We then present an analysis of Big Bang-like cosmological divergences in string theory on time-dependent orbifolds. | ||||||
|  | We show that divergences are not due to gravitational feedback but to the lack of an underlying effective field theory. | ||||||
|  | We also introduce a new orbifold structure capable of fixing the issue and reinstate a distributional interpretation to field theory amplitudes. | ||||||
|  |  | ||||||
|  | We finally present a new artificial intelligence approach to algebraic geometry and string compactifications. | ||||||
|  | We compute the Hodge numbers of Complete Intersection Calabi-Yau 3-folds using deep learning techniques based on computer vision and object recognition techniques. | ||||||
|  | We also include a methodological study of machine learning applied to data in string theory: as in most applications machine learning almost never relies on the blind application of algorithms to the data but it requires a careful exploratory analysis and feature engineering. | ||||||
|  | We thus show how such an approach can help in improving results by processing the data before utilising them. | ||||||
|  | We then show that deep learning the configuration matrix of the manifolds reaches the highest accuracy in the task with smaller networks, less parameters and less data. | ||||||
|  | This is a novel approach to the task: differently from previous attempts we focus on using convolutional neural networks capable of reaching higher accuracy on the predictions and ensuring phenomenological relevance to results. | ||||||
|  | In fact parameter sharing and concurrent scans of the configuration matrix retain better generalisation properties and adapt better to the task than fully connected networks. | ||||||
							
								
								
									
										22
									
								
								img/ccnn.pgf
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								img/ccnn.pgf
									
									
									
									
									
								
							| @@ -2,13 +2,13 @@ | |||||||
| \newlength{\layerheight} | \newlength{\layerheight} | ||||||
| \newlength{\perspective} | \newlength{\perspective} | ||||||
| \newlength{\filters} | \newlength{\filters} | ||||||
| %\newlength{\unit} | %\newlength{\myunit} | ||||||
|  |  | ||||||
| \setlength{\layer}{3cm} | \setlength{\layer}{3cm} | ||||||
| \setlength{\layerheight}{3cm} | \setlength{\layerheight}{3cm} | ||||||
| \setlength{\perspective}{1cm} | \setlength{\perspective}{1cm} | ||||||
| \setlength{\filters}{0.01cm} | \setlength{\filters}{0.01cm} | ||||||
| \setlength{\unit}{0.225cm} | \setlength{\myunit}{0.225cm} | ||||||
|  |  | ||||||
| \begin{tikzpicture} | \begin{tikzpicture} | ||||||
|  |  | ||||||
| @@ -50,13 +50,13 @@ | |||||||
|  |  | ||||||
| % flatten layer | % flatten layer | ||||||
| \foreach \x in {2,...,7} { | \foreach \x in {2,...,7} { | ||||||
| 	\filldraw[fill=cyan!10, draw=black] (4 * \layer + 3cm, 0.5cm * \x) circle (\unit); | 	\filldraw[fill=cyan!10, draw=black] (4 * \layer + 3cm, 0.5cm * \x) circle (\myunit); | ||||||
| 	\draw (4 * \layer + 3cm + \unit, 0.5cm * \x) -- (5 * \layer + 2cm - \unit, 2.5cm); | 	\draw (4 * \layer + 3cm + \myunit, 0.5cm * \x) -- (5 * \layer + 2cm - \myunit, 2.5cm); | ||||||
| }; | }; | ||||||
| \node[anchor=north, scale=0.5, below=15pt, align=center] at (4 * \layer + 3cm, 1cm) {flatten}; | \node[anchor=north, scale=0.5, below=15pt, align=center] at (4 * \layer + 3cm, 1cm) {flatten}; | ||||||
|  |  | ||||||
| % output layer | % 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); | \filldraw[fill=cyan!10, draw=black] (5 * \layer + 2cm, 2.5cm - \myunit) -- (5 * \layer + 2cm, 2.5cm) circle (\myunit) -- (5 * \layer + 2cm, 2.5cm + \myunit); | ||||||
| \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 (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 | % draw first convolution | ||||||
| @@ -81,15 +81,15 @@ | |||||||
| \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; | \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 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, \layerheight) -- (4 * \layer + 3 cm, 3.5cm + \myunit) -- (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; | \draw[dashed] (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 3 cm, 1cm - \myunit) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- cycle; | ||||||
|  |  | ||||||
| % hidden layer labels | % 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)}; | \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) -- (\layer + 180 * \filters + \perspective, \layerheight + \perspective + \myunit); | ||||||
| \draw[->] (c) -- (2 * \layer + 100 * \filters + \perspective, \layerheight + \perspective + \unit); | \draw[->] (c) -- (2 * \layer + 100 * \filters + \perspective, \layerheight + \perspective + \myunit); | ||||||
| \draw[->] (c) -- (3 * \layer + 40 * \filters + \perspective, \layerheight + \perspective + \unit); | \draw[->] (c) -- (3 * \layer + 40 * \filters + \perspective, \layerheight + \perspective + \myunit); | ||||||
| \draw[->] (c) -- (4 * \layer + 0.5 * \perspective, \layerheight + \perspective + \unit); | \draw[->] (c) -- (4 * \layer + 0.5 * \perspective, \layerheight + \perspective + \myunit); | ||||||
|  |  | ||||||
| \end{tikzpicture} | \end{tikzpicture} | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										98
									
								
								img/fc.pgf
									
									
									
									
									
								
							
							
						
						
									
										98
									
								
								img/fc.pgf
									
									
									
									
									
								
							| @@ -1,159 +1,159 @@ | |||||||
| \newlength{\unit} | \newlength{\myunit} | ||||||
| \newlength{\layer} | \newlength{\layer} | ||||||
|  |  | ||||||
| \setlength{\unit}{0.225cm} | \setlength{\myunit}{0.225cm} | ||||||
| \setlength{\layer}{1cm} | \setlength{\layer}{1cm} | ||||||
|  |  | ||||||
| \begin{tikzpicture} | \begin{tikzpicture} | ||||||
|  |  | ||||||
| % draw the first layer | % draw the first layer | ||||||
| \filldraw[fill=cyan!10, draw=black] (\layer, -0.75cm - \unit) -- (\layer, -0.75cm) circle (\unit) -- (\layer, -0.75cm + \unit); | \filldraw[fill=cyan!10, draw=black] (\layer, -0.75cm - \myunit) -- (\layer, -0.75cm) circle (\myunit) -- (\layer, -0.75cm + \myunit); | ||||||
| \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); | \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$}; | \node[anchor=base, scale=0.35] at (\layer, -0.75cm + 1.25 * \myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| \foreach \x in {0,...,5} { | \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); | 	\filldraw[fill=cyan!10, draw=black] (\layer, 0.5cm * \x - \myunit) -- (\layer, 0.5cm * \x) circle (\myunit) -- (\layer, 0.5cm * \x + \myunit); | ||||||
| 	\draw (\layer + 0.05cm, 0.5cm * \x) -- (\layer + 0.10cm, 0.5cm * \x) -- (\layer + 0.15cm, 0.5cm * \x + 0.05cm); | 	\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); | \filldraw[fill=cyan!10, draw=black] (\layer, 3.25cm - \myunit) -- (\layer, 3.25cm) circle (\myunit) -- (\layer, 3.25cm + \myunit); | ||||||
| \draw (\layer + 0.05cm, 3.25cm) -- (\layer + 0.10cm, 3.25cm) -- (\layer + 0.15cm, 3.25cm + 0.05cm); | \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$}; | \node[anchor=base, scale=0.35] at (\layer, 3.25cm - 2\myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| % draw the second layer | % draw the second layer | ||||||
| \filldraw[fill=cyan!10, draw=black] (2 * \layer, -\unit) -- (2 * \layer, 0cm) circle (\unit) -- (2 * \layer, \unit); | \filldraw[fill=cyan!10, draw=black] (2 * \layer, -\myunit) -- (2 * \layer, 0cm) circle (\myunit) -- (2 * \layer, \myunit); | ||||||
| \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); | \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$}; | \node[anchor=base, scale=0.35] at (2 * \layer, 1.25 * \myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| \foreach \x in {1.5,...,3.5} { | \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); | 	\filldraw[fill=cyan!10, draw=black] (2 * \layer, 0.5cm * \x - \myunit) -- (2 * \layer, 0.5cm * \x) circle (\myunit) -- (2 * \layer, 0.5cm * \x + \myunit); | ||||||
| 	\draw (2 * \layer + 0.05cm, 0.5cm * \x) -- (2 * \layer + 0.10cm, 0.5cm * \x) -- (2 * \layer + 0.15cm, 0.5cm * \x + 0.05cm); | 	\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); | \filldraw[fill=cyan!10, draw=black] (2 * \layer, 2.5cm - \myunit) -- (2 * \layer, 2.5cm) circle (\myunit) -- (2 * \layer, 2.5cm + \myunit); | ||||||
| \draw (2 * \layer + 0.05cm, 2.5cm) -- (2 * \layer + 0.10cm, 2.5cm) -- (2 * \layer + 0.15cm, 2.5cm + 0.05cm); | \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$}; | \node[anchor=base, scale=0.35] at (2 * \layer, 2.5cm - 2\myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| % draw the third layer | % draw the third layer | ||||||
| \filldraw[fill=cyan!10, draw=black] (3 * \layer, -\unit) -- (3 * \layer, 0cm) circle (\unit) -- (3 * \layer, \unit); | \filldraw[fill=cyan!10, draw=black] (3 * \layer, -\myunit) -- (3 * \layer, 0cm) circle (\myunit) -- (3 * \layer, \myunit); | ||||||
| \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); | \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$}; | \node[anchor=base, scale=0.35] at (3 * \layer, 1.25 * \myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| \foreach \x in {1.5,...,3.5} { | \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); | 	\filldraw[fill=cyan!10, draw=black] (3 * \layer, 0.5cm * \x - \myunit) -- (3 * \layer, 0.5cm * \x) circle (\myunit) -- (3 * \layer, 0.5cm * \x + \myunit); | ||||||
| 	\draw (3 * \layer + 0.05cm, 0.5cm * \x) -- (3 * \layer + 0.10cm, 0.5cm * \x) -- (3 * \layer + 0.15cm, 0.5cm * \x + 0.05cm); | 	\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); | \filldraw[fill=cyan!10, draw=black] (3 * \layer, 2.5cm - \myunit) -- (3 * \layer, 2.5cm) circle (\myunit) -- (3 * \layer, 2.5cm + \myunit); | ||||||
| \draw (3 * \layer + 0.05cm, 2.5cm) -- (3 * \layer + 0.10cm, 2.5cm) -- (3 * \layer + 0.15cm, 2.5cm + 0.05cm); | \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$}; | \node[anchor=base, scale=0.35] at (3 * \layer, 2.5cm - 2\myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| % draw the fourth layer | % 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); | \filldraw[fill=cyan!10, draw=black] (4 * \layer, -0.75cm - \myunit) -- (4 * \layer, -0.75cm) circle (\myunit) -- (4 * \layer, -0.75cm + \myunit); | ||||||
| \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); | \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$}; | \node[anchor=base, scale=0.35] at (4 * \layer, -0.75cm + 1.25 * \myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| \foreach \x in {0,...,5} { | \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); | 	\filldraw[fill=cyan!10, draw=black] (4 * \layer, 0.5cm * \x - \myunit) -- (4 * \layer, 0.5cm * \x) circle (\myunit) -- (4 * \layer, 0.5cm * \x + \myunit); | ||||||
| 	\draw (4 * \layer + 0.05cm, 0.5cm * \x) -- (4 * \layer + 0.10cm, 0.5cm * \x) -- (4 * \layer + 0.15cm, 0.5cm * \x + 0.05cm); | 	\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); | \filldraw[fill=cyan!10, draw=black] (4 * \layer, 3.25cm - \myunit) -- (4 * \layer, 3.25cm) circle (\myunit) -- (4 * \layer, 3.25cm + \myunit); | ||||||
| \draw (4 * \layer + 0.05cm, 3.25cm) -- (4 * \layer + 0.10cm, 3.25cm) -- (4 * \layer + 0.15cm, 3.25cm + 0.05cm); | \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$}; | \node[anchor=base, scale=0.35] at (4 * \layer, 3.25cm - 2\myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| % draw the fifth layer | % draw the fifth layer | ||||||
| \filldraw[fill=cyan!10, draw=black] (5 * \layer, -\unit) -- (5 * \layer, 0cm) circle (\unit) -- (5 * \layer, \unit); | \filldraw[fill=cyan!10, draw=black] (5 * \layer, -\myunit) -- (5 * \layer, 0cm) circle (\myunit) -- (5 * \layer, \myunit); | ||||||
| \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); | \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$}; | \node[anchor=base, scale=0.35] at (5 * \layer, 1.25 * \myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| \foreach \x in {1.5,...,3.5} { | \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); | 	\filldraw[fill=cyan!10, draw=black] (5 * \layer, 0.5cm * \x - \myunit) -- (5 * \layer, 0.5cm * \x) circle (\myunit) -- (5 * \layer, 0.5cm * \x + \myunit); | ||||||
| 	\draw (5 * \layer + 0.05cm, 0.5cm * \x) -- (5 * \layer + 0.10cm, 0.5cm * \x) -- (5 * \layer + 0.15cm, 0.5cm * \x + 0.05cm); | 	\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); | \filldraw[fill=cyan!10, draw=black] (5 * \layer, 2.5cm - \myunit) -- (5 * \layer, 2.5cm) circle (\myunit) -- (5 * \layer, 2.5cm + \myunit); | ||||||
| \draw (5 * \layer + 0.05cm, 2.5cm) -- (5 * \layer + 0.10cm, 2.5cm) -- (5 * \layer + 0.15cm, 2.5cm + 0.05cm); | \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$}; | \node[anchor=base, scale=0.35] at (5 * \layer, 2.5cm - 2\myunit) {$\vdots$}; | ||||||
|  |  | ||||||
| % draw the output layer | % 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); | \filldraw[fill=cyan!10, draw=black] (6 * \layer, 1.25cm - \myunit) -- (6 * \layer, 1.25cm) circle (\myunit) -- (6 * \layer, 1.25cm + \myunit); | ||||||
| \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 (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 | % draw weights 1 --> 2 and 4 --> 5 | ||||||
| \foreach \x in {\layer, 4 * \layer} { | \foreach \x in {\layer, 4 * \layer} { | ||||||
| 	\foreach \y in {-0.75cm, 3.25cm} { | 	\foreach \y in {-0.75cm, 3.25cm} { | ||||||
| 		\foreach \z in {0cm, 2.5cm} { | 		\foreach \z in {0cm, 2.5cm} { | ||||||
| 			\draw (\x + \unit, \y) -- (\x + \layer - \unit, \z); | 			\draw (\x + \myunit, \y) -- (\x + \layer - \myunit, \z); | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
| 	\foreach \y in {0,...,5} { | 	\foreach \y in {0,...,5} { | ||||||
| 		\foreach \z in {1.5,...,3.5} { | 		\foreach \z in {1.5,...,3.5} { | ||||||
| 			\draw (\x + \unit, 0.5cm * \y) -- (\x + \layer - \unit, 0.5cm * \z); | 			\draw (\x + \myunit, 0.5cm * \y) -- (\x + \layer - \myunit, 0.5cm * \z); | ||||||
| 		}; | 		}; | ||||||
| 		\foreach \z in {0cm, 2.5cm} { | 		\foreach \z in {0cm, 2.5cm} { | ||||||
| 			\draw (\x + \unit, 0.5 * \y) -- (\x + \layer - \unit, \z); | 			\draw (\x + \myunit, 0.5 * \y) -- (\x + \layer - \myunit, \z); | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
| 	\foreach \y in {1.5,...,3.5} { | 	\foreach \y in {1.5,...,3.5} { | ||||||
| 		\draw (\x + \unit, 3.25cm) -- (\x + \layer - \unit, 0.5cm * \y); | 		\draw (\x + \myunit, 3.25cm) -- (\x + \layer - \myunit, 0.5cm * \y); | ||||||
| 		\draw (\x + \unit, -0.75cm) -- (\x + \layer - \unit, 0.5cm * \y); | 		\draw (\x + \myunit, -0.75cm) -- (\x + \layer - \myunit, 0.5cm * \y); | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| % draw weights 2 --> 3 | % draw weights 2 --> 3 | ||||||
| \foreach \y in {0cm, 2.5cm} { | \foreach \y in {0cm, 2.5cm} { | ||||||
| 	\foreach \z in {0cm, 2.5cm} { | 	\foreach \z in {0cm, 2.5cm} { | ||||||
| 		\draw (2 * \layer + \unit, \y) -- (2 * \layer + \layer - \unit, \z); | 		\draw (2 * \layer + \myunit, \y) -- (2 * \layer + \layer - \myunit, \z); | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| \foreach \y in {1.5,...,3.5} { | \foreach \y in {1.5,...,3.5} { | ||||||
| 	\foreach \z 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); | 		\draw (2 * \layer + \myunit, 0.5cm * \y) -- (2 * \layer + \layer - \myunit, 0.5cm * \z); | ||||||
| 	}; | 	}; | ||||||
| 	\foreach \z in {0cm, 2.5cm} { | 	\foreach \z in {0cm, 2.5cm} { | ||||||
| 		\draw (2 * \layer + \unit, 0.5cm * \y) -- (2 * \layer + \layer - \unit, \z); | 		\draw (2 * \layer + \myunit, 0.5cm * \y) -- (2 * \layer + \layer - \myunit, \z); | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| \foreach \y in {1.5,...,3.5} { | \foreach \y in {1.5,...,3.5} { | ||||||
| 	\draw (2 * \layer + \unit, 2.5cm) -- (2 * \layer + \layer - \unit, 0.5cm * \y); | 	\draw (2 * \layer + \myunit, 2.5cm) -- (2 * \layer + \layer - \myunit, 0.5cm * \y); | ||||||
| 	\draw (2 * \layer + \unit, 0cm) -- (2 * \layer + \layer - \unit, 0.5cm * \y); | 	\draw (2 * \layer + \myunit, 0cm) -- (2 * \layer + \layer - \myunit, 0.5cm * \y); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| % draw weights 3 --> 4 | % draw weights 3 --> 4 | ||||||
| \foreach \y in {0cm, 2.5cm} { | \foreach \y in {0cm, 2.5cm} { | ||||||
| 	\foreach \z in {-0.75cm, 3.25cm} { | 	\foreach \z in {-0.75cm, 3.25cm} { | ||||||
| 		\draw (3 * \layer + \unit, \y) -- (3 * \layer + \layer - \unit, \z); | 		\draw (3 * \layer + \myunit, \y) -- (3 * \layer + \layer - \myunit, \z); | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| \foreach \y in {1.5,...,3.5} { | \foreach \y in {1.5,...,3.5} { | ||||||
| 	\foreach \z in {0,...,5} { | 	\foreach \z in {0,...,5} { | ||||||
| 		\draw (3 * \layer + \unit, 0.5cm * \y) -- (3 * \layer + \layer - \unit, 0.5cm * \z); | 		\draw (3 * \layer + \myunit, 0.5cm * \y) -- (3 * \layer + \layer - \myunit, 0.5cm * \z); | ||||||
| 	}; | 	}; | ||||||
| 	\foreach \z in {0cm, 2.5cm} { | 	\foreach \z in {0cm, 2.5cm} { | ||||||
| 		\draw (3 * \layer + \unit, 0.5cm * \y) -- (3 * \layer + \layer - \unit, \z); | 		\draw (3 * \layer + \myunit, 0.5cm * \y) -- (3 * \layer + \layer - \myunit, \z); | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| \foreach \y in {0,...,5} { | \foreach \y in {0,...,5} { | ||||||
| 	\draw (3 * \layer + \unit, 2.5cm) -- (3 * \layer + \layer - \unit, 0.5cm * \y); | 	\draw (3 * \layer + \myunit, 2.5cm) -- (3 * \layer + \layer - \myunit, 0.5cm * \y); | ||||||
| 	\draw (3 * \layer + \unit, 0cm) -- (3 * \layer + \layer - \unit, 0.5cm * \y); | 	\draw (3 * \layer + \myunit, 0cm) -- (3 * \layer + \layer - \myunit, 0.5cm * \y); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| % draw weights 5 --> output | % draw weights 5 --> output | ||||||
| \foreach \y in {0cm, 2.5cm} { | \foreach \y in {0cm, 2.5cm} { | ||||||
| 	\draw (5 * \layer + \unit, \y) -- (5 * \layer + \layer - \unit, 1.25cm); | 	\draw (5 * \layer + \myunit, \y) -- (5 * \layer + \layer - \myunit, 1.25cm); | ||||||
| }; | }; | ||||||
| \foreach \y in {1.5,...,3.5} { | \foreach \y in {1.5,...,3.5} { | ||||||
| 	\draw (5 * \layer + \unit, 0.5cm * \y) -- (5 * \layer + \layer - \unit, 1.25cm); | 	\draw (5 * \layer + \myunit, 0.5cm * \y) -- (5 * \layer + \layer - \myunit, 1.25cm); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| % draw hidden layers legend | % 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)}; | \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) -- (\layer + \myunit, 3.6cm); | ||||||
| \draw[->] (h) -- (2 * \layer + \unit, 2.85cm); | \draw[->] (h) -- (2 * \layer + \myunit, 2.85cm); | ||||||
| \draw[->] (h) -- (3 * \layer + 0.5 * \unit, 2.85cm); | \draw[->] (h) -- (3 * \layer + 0.5 * \myunit, 2.85cm); | ||||||
| \draw[->] (h) -- (4 * \layer, 3.6cm); | \draw[->] (h) -- (4 * \layer, 3.6cm); | ||||||
| \draw[->] (h) -- (5 * \layer - 0.5 * \unit, 2.85cm); | \draw[->] (h) -- (5 * \layer - 0.5 * \myunit, 2.85cm); | ||||||
|  |  | ||||||
| \end{tikzpicture} | \end{tikzpicture} | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										236
									
								
								img/icnn.pgf
									
									
									
									
									
								
							
							
						
						
									
										236
									
								
								img/icnn.pgf
									
									
									
									
									
								
							| @@ -2,19 +2,13 @@ | |||||||
| %\newlength{\layerheight} | %\newlength{\layerheight} | ||||||
| %\newlength{\perspective} | %\newlength{\perspective} | ||||||
| %\newlength{\filters} | %\newlength{\filters} | ||||||
| %\newlength{\unit} | %\newlength{\myunit} | ||||||
| \newlength{\upperlevel} |  | ||||||
| \newlength{\bottomlevel} |  | ||||||
| \newlength{\concatheight} |  | ||||||
|  |  | ||||||
| \setlength{\layer}{3cm} | \setlength{\layer}{3cm} | ||||||
| \setlength{\layerheight}{3cm} | \setlength{\layerheight}{3cm} | ||||||
| \setlength{\perspective}{1cm} | \setlength{\perspective}{1cm} | ||||||
| \setlength{\filters}{0.01cm} | \setlength{\filters}{0.01cm} | ||||||
| \setlength{\unit}{0.225cm} | \setlength{\myunit}{0.225cm} | ||||||
| \setlength{\upperlevel}{2.25cm} |  | ||||||
| \setlength{\bottomlevel}{-2.25cm} |  | ||||||
| \setlength{\concatheight}{0cm} |  | ||||||
|  |  | ||||||
| \usetikzlibrary{decorations.pathreplacing} | \usetikzlibrary{decorations.pathreplacing} | ||||||
|  |  | ||||||
| @@ -26,166 +20,166 @@ | |||||||
| \node[anchor=north west, scale=0.65] at (1cm, 0cm) {input layer}; | \node[anchor=north west, scale=0.65] at (1cm, 0cm) {input layer}; | ||||||
|  |  | ||||||
| % first 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, 2.25cm) -- (\layer + 32 * \filters, 2.25cm) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (\layer + \perspective, 2.25cm + \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 + \perspective, 2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (\layer + \perspective, 2.25cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 2.25cm) -- (\layer + \perspective, 2.25cm + \perspective) -- (\layer + \perspective, 2.25cm + \perspective + \layerheight) -- (\layer, 2.25cm + \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, 2.25cm) -- (\layer + 32 * \filters, 2.25cm) -- (\layer + 32 * \filters, 2.25cm + \layerheight) -- (\layer, 2.25cm + \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 + 32 * \filters, 2.25cm) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (\layer + 32 * \filters, 2.25cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 2.25cm + \layerheight) -- (\layer + 32 * \filters, 2.25cm + \layerheight) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (\layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (\layer, \upperlevel + \layerheight) {$32 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (\layer, 2.25cm + \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, -2.25cm) -- (\layer + 32 * \filters, -2.25cm) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (\layer + \perspective, -2.25cm + \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 + \perspective, -2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (\layer + \perspective, -2.25cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, -2.25cm) -- (\layer + \perspective, -2.25cm + \perspective) -- (\layer + \perspective, -2.25cm + \perspective + \layerheight) -- (\layer, -2.25cm + \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, -2.25cm) -- (\layer + 32 * \filters, -2.25cm) -- (\layer + 32 * \filters, -2.25cm + \layerheight) -- (\layer, -2.25cm + \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 + 32 * \filters, -2.25cm) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (\layer + 32 * \filters, -2.25cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, -2.25cm + \layerheight) -- (\layer + 32 * \filters, -2.25cm + \layerheight) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (\layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (\layer, \bottomlevel + \layerheight) {$32 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (\layer, -2.25cm + \layerheight) {$32 @ 12 \times 15$}; | ||||||
|  |  | ||||||
| % first concatenation | % 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, 0cm) -- (2 * \layer + 64 * \filters, 0cm) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (2 * \layer + \perspective, 0cm + \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 + \perspective, 0cm + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (2 * \layer + \perspective, 0cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + \perspective, 0cm + \perspective) -- (2 * \layer + \perspective, 0cm + \perspective + \layerheight) -- (2 * \layer, 0cm + \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, 0cm) -- (2 * \layer + 64 * \filters, 0cm) -- (2 * \layer + 64 * \filters, 0cm + \layerheight) -- (2 * \layer, 0cm + \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 + 64 * \filters, 0cm) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (2 * \layer + 64 * \filters, 0cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm + \layerheight) -- (2 * \layer + 64 * \filters, 0cm + \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (2 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (2 * \layer, \concatheight + \layerheight) {$64 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (2 * \layer, 0cm + \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); | \draw (\layer + 32 * \filters + 1.2 * \perspective, 2.25cm + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective, 2.25cm + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective, -2.25cm + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.2 * \perspective, -2.25cm + 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); | \filldraw[fill=red!20, draw=black] (\layer + 32 * \filters + 1.7 * \perspective, 0cm + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\myunit); | ||||||
| \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); | \draw[-latex] (\layer + 32 * \filters + 1.7 * \perspective + \myunit, 0cm + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective + 3 * \myunit, 0cm + 0.5 * \layerheight); | ||||||
|  |  | ||||||
| % second layer | % 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, 2.25cm) -- (3 * \layer + 64 * \filters, 2.25cm) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective) -- (3 * \layer + \perspective, 2.25cm + \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 + \perspective, 2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (3 * \layer + \perspective, 2.25cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 2.25cm) -- (3 * \layer + \perspective, 2.25cm + \perspective) -- (3 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- (3 * \layer, 2.25cm + \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, 2.25cm) -- (3 * \layer + 64 * \filters, 2.25cm) -- (3 * \layer + 64 * \filters, 2.25cm + \layerheight) -- (3 * \layer, 2.25cm + \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 + 64 * \filters, 2.25cm) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (3 * \layer + 64 * \filters, 2.25cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 2.25cm + \layerheight) -- (3 * \layer + 64 * \filters, 2.25cm + \layerheight) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (3 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, \upperlevel + \layerheight) {$64 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, 2.25cm + \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, -2.25cm) -- (3 * \layer + 64 * \filters, -2.25cm) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective) -- (3 * \layer + \perspective, -2.25cm + \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 + \perspective, -2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (3 * \layer + \perspective, -2.25cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, -2.25cm) -- (3 * \layer + \perspective, -2.25cm + \perspective) -- (3 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- (3 * \layer, -2.25cm + \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, -2.25cm) -- (3 * \layer + 64 * \filters, -2.25cm) -- (3 * \layer + 64 * \filters, -2.25cm + \layerheight) -- (3 * \layer, -2.25cm + \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 + 64 * \filters, -2.25cm) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (3 * \layer + 64 * \filters, -2.25cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, -2.25cm + \layerheight) -- (3 * \layer + 64 * \filters, -2.25cm + \layerheight) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (3 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, \bottomlevel + \layerheight) {$64 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, -2.25cm + \layerheight) {$64 @ 12 \times 15$}; | ||||||
|  |  | ||||||
| % second concatenation | % 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, 0cm) -- (4 * \layer + 128 * \filters, 0cm) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective) -- (4 * \layer + \perspective, 0cm + \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 + \perspective, 0cm + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (4 * \layer + \perspective, 0cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + \perspective, 0cm + \perspective) -- (4 * \layer + \perspective, 0cm + \perspective + \layerheight) -- (4 * \layer, 0cm + \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, 0cm) -- (4 * \layer + 128 * \filters, 0cm) -- (4 * \layer + 128 * \filters, 0cm + \layerheight) -- (4 * \layer, 0cm + \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 + 128 * \filters, 0cm) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (4 * \layer + 128 * \filters, 0cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm + \layerheight) -- (4 * \layer + 128 * \filters, 0cm + \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (4 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (4 * \layer, \concatheight + \layerheight) {$128 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (4 * \layer, 0cm + \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); | \draw (3 * \layer + 64 * \filters + 1.1 * \perspective, 2.25cm + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective, 2.25cm + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective, -2.25cm + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.1 * \perspective, -2.25cm + 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); | \filldraw[fill=red!20, draw=black] (3 * \layer + 64 * \filters + 1.6 * \perspective, 0cm + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\myunit); | ||||||
| \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); | \draw[-latex] (3 * \layer + 64 * \filters + 1.6 * \perspective + \myunit, 0cm + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective + 3 * \myunit, 0cm + 0.5 * \layerheight); | ||||||
|  |  | ||||||
| % third layer | % 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, 2.25cm) -- (5 * \layer + 32 * \filters, 2.25cm) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (5 * \layer + \perspective, 2.25cm + \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 + \perspective, 2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (5 * \layer + \perspective, 2.25cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, 2.25cm) -- (5 * \layer + \perspective, 2.25cm + \perspective) -- (5 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- (5 * \layer, 2.25cm + \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, 2.25cm) -- (5 * \layer + 32 * \filters, 2.25cm) -- (5 * \layer + 32 * \filters, 2.25cm + \layerheight) -- (5 * \layer, 2.25cm + \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 + 32 * \filters, 2.25cm) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (5 * \layer + 32 * \filters, 2.25cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, 2.25cm + \layerheight) -- (5 * \layer + 32 * \filters, 2.25cm + \layerheight) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (5 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, \upperlevel + \layerheight) {$32 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, 2.25cm + \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, -2.25cm) -- (5 * \layer + 32 * \filters, -2.25cm) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (5 * \layer + \perspective, -2.25cm + \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 + \perspective, -2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (5 * \layer + \perspective, -2.25cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, -2.25cm) -- (5 * \layer + \perspective, -2.25cm + \perspective) -- (5 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- (5 * \layer, -2.25cm + \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, -2.25cm) -- (5 * \layer + 32 * \filters, -2.25cm) -- (5 * \layer + 32 * \filters, -2.25cm + \layerheight) -- (5 * \layer, -2.25cm + \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 + 32 * \filters, -2.25cm) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (5 * \layer + 32 * \filters, -2.25cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, -2.25cm + \layerheight) -- (5 * \layer + 32 * \filters, -2.25cm + \layerheight) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (5 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, \bottomlevel + \layerheight) {$32 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, -2.25cm + \layerheight) {$32 @ 12 \times 15$}; | ||||||
|  |  | ||||||
| % third concatenation | % 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, 0cm) -- (6 * \layer + 64 * \filters, 0cm) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (6 * \layer + \perspective, 0cm + \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 + \perspective, 0cm + \perspective) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (6 * \layer + \perspective, 0cm + \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[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, 0cm) -- (6 * \layer + \perspective, 0cm + \perspective) -- (6 * \layer + \perspective, 0cm + \perspective + \layerheight) -- (6 * \layer, 0cm + \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, 0cm) -- (6 * \layer + 64 * \filters, 0cm) -- (6 * \layer + 64 * \filters, 0cm + \layerheight) -- (6 * \layer, 0cm + \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 + 64 * \filters, 0cm) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (6 * \layer + 64 * \filters, 0cm + \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; | \filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, 0cm + \layerheight) -- (6 * \layer + 64 * \filters, 0cm + \layerheight) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (6 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle; | ||||||
| \node[anchor=south west, scale=0.65, rotate=45] at (6 * \layer, \concatheight + \layerheight) {$64 @ 12 \times 15$}; | \node[anchor=south west, scale=0.65, rotate=45] at (6 * \layer, 0cm + \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); | \draw (5 * \layer + 32 * \filters + 1.2 * \perspective, 2.25cm + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective, 2.25cm + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective, -2.25cm + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.2 * \perspective, -2.25cm + 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); | \filldraw[fill=red!20, draw=black] (5 * \layer + 32 * \filters + 1.7 * \perspective, 0cm + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\myunit); | ||||||
| \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); | \draw[-latex] (5 * \layer + 32 * \filters + 1.7 * \perspective + \myunit, 0cm + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective + 3 * \myunit, 0cm + 0.5 * \layerheight); | ||||||
|  |  | ||||||
| % flatten layer | % flatten layer | ||||||
| \foreach \x in {0,...,4} { | \foreach \x in {0,...,4} { | ||||||
| 	\filldraw[fill=cyan!10, draw=black] (6 * \layer + 3cm, \concatheight + \unit +  0.75  * \x cm) circle (\unit); | 	\filldraw[fill=cyan!10, draw=black] (6 * \layer + 3cm, 0cm + \myunit +  0.75  * \x cm) circle (\myunit); | ||||||
| 	\draw (6 * \layer + 3cm + \unit, \concatheight + \unit +  0.75  * \x cm) -- (7 * \layer + 2cm - \unit, \concatheight + \unit + 0.5 * \layerheight); | 	\draw (6 * \layer + 3cm + \myunit, 0cm + \myunit +  0.75  * \x cm) -- (7 * \layer + 2cm - \myunit, 0cm + \myunit + 0.5 * \layerheight); | ||||||
| }; | }; | ||||||
| \node[anchor=north, scale=0.5, below=15pt, align=center] at (6 * \layer + 3cm, \concatheight + \unit) {flatten}; | \node[anchor=north, scale=0.5, below=15pt, align=center] at (6 * \layer + 3cm, 0cm + \myunit) {flatten}; | ||||||
|  |  | ||||||
| % draw the "flatenisation" | % 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, \layerheight) -- (6 * \layer + 3 cm, 3cm + 2 * \myunit) -- (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; | \draw[dashed] (6 * \layer + 64 * \filters, 0cm) -- (6 * \layer + 3 cm, 0cm) -- (6 * \layer + 64 * \filters + \perspective, \perspective) -- cycle; | ||||||
|  |  | ||||||
| % output layer | % 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); | \filldraw[fill=cyan!10, draw=black] (7 * \layer + 2cm, 0cm + \myunit + 0.5 * \layerheight - \myunit) -- (7 * \layer + 2cm, 0cm + \myunit + 0.5 * \layerheight) circle (\myunit) -- (7 * \layer + 2cm, 0cm + \myunit + 0.5 * \layerheight + \myunit); | ||||||
| \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 (7 * \layer + 2cm + 0.05cm, 0cm + \myunit + 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, 0cm + \myunit + 0.5 * \layerheight) -- (7 * \layer + 2cm + 0.15cm, 0cm + \myunit + 0.5 * \layerheight + 0.05cm); | ||||||
|  |  | ||||||
| % draw the first convolution | % 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) -- (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, 0.9 * \layerheight) -- (\layer, 2.25cm + 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, \layerheight) -- (\layer, 2.25cm + 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 + \perspective, 0.9 * \layerheight + \perspective) -- (\layer, 2.25cm + 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, 0.9 * \layerheight) -- (\layer, 2.25cm + 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) -- (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, 0cm) -- (\layer, -2.25cm + 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, 0.2 * \perspective) -- (\layer, -2.25cm + 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 + 0.2 * \perspective, \layerheight + 0.2 * \perspective) -- (\layer, -2.25cm + 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; | \filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (\layer, -2.25cm + 0.9 * \layerheight) -- (1cm, \layerheight) -- cycle; | ||||||
|  |  | ||||||
| % draw the second convolution | % 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) -- (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.4 * \layerheight) -- (3 * \layer, 2.25cm + 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, 0.5 * \layerheight) -- (3 * \layer, 2.25cm + 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 + \perspective, 0.4 * \layerheight + \perspective) -- (3 * \layer, 2.25cm + 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.4 * \layerheight) -- (3 * \layer, 2.25cm + 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) -- (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.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, -2.25cm + 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, 0.4 * \perspective) -- (3 *  \layer, -2.25cm + 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.4 * \perspective, \layerheight + 0.4 * \perspective) -- (3 * \layer, -2.25cm + 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; | \filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, -2.25cm + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle; | ||||||
|  |  | ||||||
| % draw the second convolution | % 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) -- (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.4 * \layerheight) -- (3 * \layer, 2.25cm + 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, 0.5 * \layerheight) -- (3 * \layer, 2.25cm + 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 + \perspective, 0.4 * \layerheight + \perspective) -- (3 * \layer, 2.25cm + 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.4 * \layerheight) -- (3 * \layer, 2.25cm + 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) -- (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.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, -2.25cm + 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, 0.4 * \perspective) -- (3 *  \layer, -2.25cm + 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.4 * \perspective, \layerheight + 0.4 * \perspective) -- (3 * \layer, -2.25cm + 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; | \filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, -2.25cm + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle; | ||||||
|  |  | ||||||
| % draw the third convolution | % 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) -- (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.4 * \layerheight) -- (5 * \layer, 2.25cm + 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, 0.5 * \layerheight) -- (5 * \layer, 2.25cm + 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 + \perspective, 0.4 * \layerheight + \perspective) -- (5 * \layer, 2.25cm + 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.4 * \layerheight) -- (5 * \layer, 2.25cm + 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) -- (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.3 * \perspective, 0.3 * \perspective) -- (5 * \layer, -2.25cm + 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, 0.4 * \perspective) -- (5 *  \layer, -2.25cm + 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.4 * \perspective, \layerheight + 0.4 * \perspective) -- (5 * \layer, -2.25cm + 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; | \filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (5 * \layer, -2.25cm + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle; | ||||||
|  |  | ||||||
| % hidden layer labels | % 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}] (\layer, 2.25cm + 1.25 * \layerheight + \perspective) -- (2 * \layer + 64  * \filters + \perspective, 2.25cm + 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}] (3 * \layer, 2.25cm + 1.25 * \layerheight + \perspective) -- (4 * \layer + 128  * \filters + \perspective, 2.25cm + 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)}; | \draw[decorate, decoration={brace}] (5 * \layer, 2.25cm + 1.25 * \layerheight + \perspective) -- (6  * \layer + 64  * \filters + \perspective, 2.25cm + 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} | \end{tikzpicture} | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								img/unito.pdf
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								img/unito.pdf
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								img/unito.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								img/unito.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 199 KiB | 
							
								
								
									
										
											BIN
										
									
								
								img/vector-tensor-features_orig.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								img/vector-tensor-features_orig.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1009
									
								
								presentation.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1009
									
								
								presentation.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								thesis.pdf
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								thesis.pdf
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										612
									
								
								thesis.tex
									
									
									
									
									
								
							
							
						
						
									
										612
									
								
								thesis.tex
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user