Update workflow and distribution
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Compile PDF / Compile-PDF (push) Successful in 2m57s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Compile PDF / Compile-PDF (push) Successful in 2m57s
				
			This commit is contained in:
		
							
								
								
									
										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
										
									
								
								thesis.pdf
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								thesis.pdf
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										15
									
								
								thesis.tex
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								thesis.tex
									
									
									
									
									
								
							| @@ -1,3 +1,5 @@ | |||||||
|  | % !TeX root = thesis.tex | ||||||
|  | % !TeX program = xelatex | ||||||
| \documentclass[10pt, aspectratio=169, compress]{beamer} | \documentclass[10pt, aspectratio=169, compress]{beamer} | ||||||
|  |  | ||||||
| \usepackage[utf8]{inputenc} | \usepackage[utf8]{inputenc} | ||||||
| @@ -14,7 +16,6 @@ | |||||||
| \usepackage{tensor} | \usepackage{tensor} | ||||||
| \usepackage{animate} | \usepackage{animate} | ||||||
| \usepackage{graphicx} | \usepackage{graphicx} | ||||||
| \usepackage{transparent} |  | ||||||
| \usepackage{tikz} | \usepackage{tikz} | ||||||
| \usepackage{import} | \usepackage{import} | ||||||
| \usepackage{booktabs} | \usepackage{booktabs} | ||||||
| @@ -136,8 +137,7 @@ | |||||||
|   {% |   {% | ||||||
|     \setbeamertemplate{footline}{} |     \setbeamertemplate{footline}{} | ||||||
|     \usebackgroundtemplate{% |     \usebackgroundtemplate{% | ||||||
|       \transparent{0.1} |       \tikz\node[opacity=0.1]{\includegraphics[width=\paperwidth]{img/torino.png}}; | ||||||
|       \includegraphics[width=\paperwidth]{img/torino.png} |  | ||||||
|     } |     } | ||||||
|     \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{} |     \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{} | ||||||
|     \begin{frame}[noframenumbering]{\contentsname} |     \begin{frame}[noframenumbering]{\contentsname} | ||||||
| @@ -151,8 +151,7 @@ | |||||||
|  |  | ||||||
|   {% |   {% | ||||||
|     \usebackgroundtemplate{% |     \usebackgroundtemplate{% | ||||||
|       \transparent{0.1} |       \tikz\node[opacity=0.1]{\includegraphics[width=\paperwidth]{img/torino.png}}; | ||||||
|       \includegraphics[width=\paperwidth]{img/torino.png} |  | ||||||
|     } |     } | ||||||
|     \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{} |     \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{} | ||||||
|     \begin{frame}[noframenumbering, plain] |     \begin{frame}[noframenumbering, plain] | ||||||
| @@ -163,8 +162,7 @@ | |||||||
|   {% |   {% | ||||||
|     \setbeamertemplate{footline}{} |     \setbeamertemplate{footline}{} | ||||||
|     \usebackgroundtemplate{% |     \usebackgroundtemplate{% | ||||||
|       \transparent{0.1} |       \tikz\node[opacity=0.1]{\includegraphics[width=\paperwidth]{img/torino.png}}; | ||||||
|       \includegraphics[width=\paperwidth]{img/torino.png} |  | ||||||
|     } |     } | ||||||
|     \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{} |     \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{} | ||||||
|     \begin{frame}[noframenumbering]{\contentsname} |     \begin{frame}[noframenumbering]{\contentsname} | ||||||
| @@ -1757,8 +1755,7 @@ | |||||||
|   {% |   {% | ||||||
|     \setbeamertemplate{footline}{} |     \setbeamertemplate{footline}{} | ||||||
|     \usebackgroundtemplate{% |     \usebackgroundtemplate{% | ||||||
|       \transparent{0.1} |       \tikz\node[opacity=0.1]{\includegraphics[width=\paperwidth]{img/torino.png}}; | ||||||
|       \includegraphics[width=\paperwidth]{img/torino.png} |  | ||||||
|     } |     } | ||||||
|     \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{} |     \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{} | ||||||
|     \begin{frame}[noframenumbering]{The End?} |     \begin{frame}[noframenumbering]{The End?} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Riccardo Finotello
					Riccardo Finotello