Net definition section finished
This commit is contained in:
parent
4b80e7391f
commit
b061fd5a2f
17 changed files with 221 additions and 56 deletions
|
|
@ -108,23 +108,28 @@
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{22}{subsection.4.1}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{22}{subsection.4.1}\protected@file@percent }
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {27}{\ignorespaces Der Code zum Laden des MNIST Datensatzes\relax }}{22}{figure.caption.25}\protected@file@percent }
|
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {27}{\ignorespaces Der Code zum Laden des MNIST Datensatzes\relax }}{22}{figure.caption.25}\protected@file@percent }
|
||||||
\newlabel{MNIST_Dataloader_Code}{{27}{22}{Der Code zum Laden des MNIST Datensatzes\relax }{figure.caption.25}{}}
|
\newlabel{MNIST_Dataloader_Code}{{27}{22}{Der Code zum Laden des MNIST Datensatzes\relax }{figure.caption.25}{}}
|
||||||
|
\abx@aux@cite{6}
|
||||||
|
\abx@aux@segm{0}{0}{6}
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{23}{subsection.4.2}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{23}{subsection.4.2}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{24}{subsection.4.3}\protected@file@percent }
|
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {28}{\ignorespaces Code um ein einfaches Netz in Pytorch zu definieren\relax }}{24}{figure.caption.26}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {5}Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{24}{section.5}\protected@file@percent }
|
\newlabel{Net_simple_definition}{{28}{24}{Code um ein einfaches Netz in Pytorch zu definieren\relax }{figure.caption.26}{}}
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Aufgabe}{24}{subsection.5.1}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{25}{subsection.4.3}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{24}{subsection.5.2}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {5}Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{25}{section.5}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Ergebnis}{24}{subsection.5.3}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Aufgabe}{25}{subsection.5.1}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}Fallbeispiel II:\newline Eine selbsttrainierende KI f\IeC {\"u}r Tic-Tac-Toe}{24}{section.6}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{25}{subsection.5.2}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Das Prinzip}{24}{subsection.6.1}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Ergebnis}{25}{subsection.5.3}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Chance-Tree Optimierung}{24}{subsection.6.2}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}Fallbeispiel II:\newline Eine selbsttrainierende KI f\IeC {\"u}r Tic-Tac-Toe}{25}{section.6}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}L\IeC {\"o}sung mittels eines neuronalen Netzes}{24}{subsection.6.3}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Das Prinzip}{25}{subsection.6.1}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Vergleich}{24}{subsection.6.4}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Chance-Tree Optimierung}{25}{subsection.6.2}\protected@file@percent }
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {7}Schlusswort}{24}{section.7}\protected@file@percent }
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}L\IeC {\"o}sung mittels eines neuronalen Netzes}{25}{subsection.6.3}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Vergleich}{25}{subsection.6.4}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {7}Schlusswort}{25}{section.7}\protected@file@percent }
|
||||||
\bibcite{1}{1}
|
\bibcite{1}{1}
|
||||||
\bibcite{2}{2}
|
\bibcite{2}{2}
|
||||||
\bibcite{3}{3}
|
\bibcite{3}{3}
|
||||||
\bibcite{4}{4}
|
\bibcite{4}{4}
|
||||||
\bibcite{5}{5}
|
\bibcite{5}{5}
|
||||||
|
\bibcite{6}{6}
|
||||||
\gdef\minted@oldcachelist{,
|
\gdef\minted@oldcachelist{,
|
||||||
default-pyg-prefix.pygstyle,
|
default-pyg-prefix.pygstyle,
|
||||||
default.pygstyle,
|
default.pygstyle,
|
||||||
|
|
@ -137,6 +142,21 @@
|
||||||
FAA14B25340C2458FD5D369A042116ABF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
FAA14B25340C2458FD5D369A042116ABF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
745405EA92794205A61C3062FFF26B3CF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
745405EA92794205A61C3062FFF26B3CF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
2310AA0C124794A026E719F78EC1B44DF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
2310AA0C124794A026E719F78EC1B44DF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
81326AEB166BABDF0E8E9CFEEFD02903F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
EDB0BACF1F2CD448B8D22F1A9B4F026EF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
9A791CC5219F6F4D627591113AE747DBF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
9A791CC5219F6F4D627591113AE747DBF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
090D83D976E5CEECA0A0961BB3B3A5A6F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex}
|
090D83D976E5CEECA0A0961BB3B3A5A6F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
12F96C5C5DB151598C41F68BDCE383E2F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
7C08F8DDD5F5D41169EB51C2ADB3E0B1F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
D6B06E011A4BC083034B9BD6480B9AB253A0C9FE66949F8EC4BED65B31F6975B.pygtex,
|
||||||
|
7572134CCA2BA7D050325F33C4941E41F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
689375EA3B9C38D437AA368912E13885F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
B68FDDAFFF09CEFEB070EDD4AD4C96E1F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
B68FDDAFFF09CEFEB070EDD4AD4C96E1F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
689375EA3B9C38D437AA368912E13885F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
7C08F8DDD5F5D41169EB51C2ADB3E0B1F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
7572134CCA2BA7D050325F33C4941E41F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
7572134CCA2BA7D050325F33C4941E41F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
689375EA3B9C38D437AA368912E13885F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
6361598B18370336863B24D1B6FAE96EF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
7C08F8DDD5F5D41169EB51C2ADB3E0B1F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
||||||
|
5A0B7618927FB8AEA4B96F5552228CD8F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex}
|
||||||
|
|
|
||||||
|
|
@ -2000,6 +2000,7 @@
|
||||||
<bcf:citekey order="4">2</bcf:citekey>
|
<bcf:citekey order="4">2</bcf:citekey>
|
||||||
<bcf:citekey order="5">3</bcf:citekey>
|
<bcf:citekey order="5">3</bcf:citekey>
|
||||||
<bcf:citekey order="6">3</bcf:citekey>
|
<bcf:citekey order="6">3</bcf:citekey>
|
||||||
|
<bcf:citekey order="7">6</bcf:citekey>
|
||||||
</bcf:section>
|
</bcf:section>
|
||||||
<!-- SORTING TEMPLATES -->
|
<!-- SORTING TEMPLATES -->
|
||||||
<bcf:sortingtemplate name="nty">
|
<bcf:sortingtemplate name="nty">
|
||||||
|
|
|
||||||
|
|
@ -54,3 +54,5 @@
|
||||||
\contentsline {figure}{\numberline {26}{\ignorespaces Gegen\IeC {\"u}berstellung von Max und Average Pooling\relax }}{21}{figure.caption.24}%
|
\contentsline {figure}{\numberline {26}{\ignorespaces Gegen\IeC {\"u}berstellung von Max und Average Pooling\relax }}{21}{figure.caption.24}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {figure}{\numberline {27}{\ignorespaces Der Code zum Laden des MNIST Datensatzes\relax }}{22}{figure.caption.25}%
|
\contentsline {figure}{\numberline {27}{\ignorespaces Der Code zum Laden des MNIST Datensatzes\relax }}{22}{figure.caption.25}%
|
||||||
|
\defcounter {refsection}{0}\relax
|
||||||
|
\contentsline {figure}{\numberline {28}{\ignorespaces Code um ein einfaches Netz in Pytorch zu definieren\relax }}{24}{figure.caption.26}%
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.1.22) 29 JAN 2020 23:30
|
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.1.22) 30 JAN 2020 16:11
|
||||||
entering extended mode
|
entering extended mode
|
||||||
\write18 enabled.
|
\write18 enabled.
|
||||||
%&-line parsing enabled.
|
%&-line parsing enabled.
|
||||||
|
|
@ -1883,15 +1883,10 @@ F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
|
||||||
(./_minted-Grundlagen_des_maschinellen_lernens/2310AA0C124794A026E719F78EC1B44D
|
(./_minted-Grundlagen_des_maschinellen_lernens/2310AA0C124794A026E719F78EC1B44D
|
||||||
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
Overfull \hbox (90.20512pt too wide) in paragraph at lines 1--574
|
|
||||||
\T1/LinuxBiolinumT-TLF/m/n/10 ray zu kas-ka-die-ren, al-so nach ein-an-der auf
|
|
||||||
die Ein-ga-be-da-ten an-zu-wen-den. []
|
|
||||||
[]
|
|
||||||
|
|
||||||
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
(./_minted-Grundlagen_des_maschinellen_lernens/81326AEB166BABDF0E8E9CFEEFD02903
|
(./_minted-Grundlagen_des_maschinellen_lernens/EDB0BACF1F2CD448B8D22F1A9B4F026E
|
||||||
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
@ -1903,33 +1898,111 @@ F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
|
||||||
(./_minted-Grundlagen_des_maschinellen_lernens/090D83D976E5CEECA0A0961BB3B3A5A6
|
(./_minted-Grundlagen_des_maschinellen_lernens/090D83D976E5CEECA0A0961BB3B3A5A6
|
||||||
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/12F96C5C5DB151598C41F68BDCE383E2
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/7C08F8DDD5F5D41169EB51C2ADB3E0B1
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout5 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/D6B06E011A4BC083034B9BD6480B9AB2
|
||||||
|
53A0C9FE66949F8EC4BED65B31F6975B.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/7572134CCA2BA7D050325F33C4941E41
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/689375EA3B9C38D437AA368912E13885
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/B68FDDAFFF09CEFEB070EDD4AD4C96E1
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/B68FDDAFFF09CEFEB070EDD4AD4C96E1
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/689375EA3B9C38D437AA368912E13885
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/7C08F8DDD5F5D41169EB51C2ADB3E0B1
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/7572134CCA2BA7D050325F33C4941E41
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/7572134CCA2BA7D050325F33C4941E41
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/689375EA3B9C38D437AA368912E13885
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/6361598B18370336863B24D1B6FAE96E
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
|
||||||
|
LaTeX Warning: Citation '6' on page 23 undefined on input line 613.
|
||||||
|
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/7C08F8DDD5F5D41169EB51C2ADB3E0B1
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex)
|
||||||
|
\openout6 = `Grundlagen_des_maschinellen_lernens.pyg'.
|
||||||
|
|
||||||
|
|
||||||
|
(./_minted-Grundlagen_des_maschinellen_lernens/5A0B7618927FB8AEA4B96F5552228CD8
|
||||||
|
F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex) [23] [24]
|
||||||
|
|
||||||
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
|
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
|
||||||
(hyperref) removing `\newline' on input line 586.
|
(hyperref) removing `\newline' on input line 616.
|
||||||
|
|
||||||
|
|
||||||
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
|
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
|
||||||
(hyperref) removing `\newline' on input line 590.
|
(hyperref) removing `\newline' on input line 620.
|
||||||
|
|
||||||
[23] [24]
|
[25]
|
||||||
Underfull \hbox (badness 10000) in paragraph at lines 607--611
|
Underfull \hbox (badness 10000) in paragraph at lines 637--641
|
||||||
\T1/LinuxBiolinumT-TLF/m/n/10 Quelle: https://towardsdatascience.com/common-los
|
\T1/LinuxBiolinumT-TLF/m/n/10 Quelle: https://towardsdatascience.com/common-los
|
||||||
s-functions-in-machine-
|
s-functions-in-machine-
|
||||||
[]
|
[]
|
||||||
|
|
||||||
|
|
||||||
Underfull \hbox (badness 10000) in paragraph at lines 612--616
|
Underfull \hbox (badness 10000) in paragraph at lines 642--646
|
||||||
\T1/LinuxBiolinumT-TLF/m/n/10 https://www.bloomberg.com/news/articles/2019-12-1
|
\T1/LinuxBiolinumT-TLF/m/n/10 https://www.bloomberg.com/news/articles/2019-12-1
|
||||||
1/face-recognition-tech-
|
1/face-recognition-tech-
|
||||||
[]
|
[]
|
||||||
|
|
||||||
|
|
||||||
Underfull \hbox (badness 10000) in paragraph at lines 617--621
|
Underfull \hbox (badness 10000) in paragraph at lines 647--651
|
||||||
\T1/LinuxBiolinumT-TLF/m/n/10 https://www.technologyreview.com/f/614986/ai-face
|
\T1/LinuxBiolinumT-TLF/m/n/10 https://www.technologyreview.com/f/614986/ai-face
|
||||||
-recognition-racist-us-
|
-recognition-racist-us-
|
||||||
[]
|
[]
|
||||||
|
|
||||||
(./Grundlagen_des_maschinellen_lernens.lof [25]
|
(./Grundlagen_des_maschinellen_lernens.lof [26]
|
||||||
Overfull \hbox (21.8196pt too wide) in paragraph at lines 34--34
|
Overfull \hbox (21.8196pt too wide) in paragraph at lines 34--34
|
||||||
\T1/LinuxBiolinumT-TLF/m/n/10 https://github.com/vdumoulin/conv_arithmetic/blo
|
\T1/LinuxBiolinumT-TLF/m/n/10 https://github.com/vdumoulin/conv_arithmetic/blo
|
||||||
b/master/README.md
|
b/master/README.md
|
||||||
|
|
@ -1951,12 +2024,12 @@ p/Max-pooling_/_Pooling
|
||||||
\tf@lof=\write9
|
\tf@lof=\write9
|
||||||
\openout9 = `Grundlagen_des_maschinellen_lernens.lof'.
|
\openout9 = `Grundlagen_des_maschinellen_lernens.lof'.
|
||||||
|
|
||||||
[26]
|
[27]
|
||||||
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 623.
|
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 657.
|
||||||
Package atveryend Info: Empty hook `AfterLastShipout' on input line 623.
|
Package atveryend Info: Empty hook `AfterLastShipout' on input line 657.
|
||||||
(./Grundlagen_des_maschinellen_lernens.aux)
|
(./Grundlagen_des_maschinellen_lernens.aux)
|
||||||
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 623.
|
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 657.
|
||||||
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 623.
|
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 657.
|
||||||
Package rerunfilecheck Info: File `Grundlagen_des_maschinellen_lernens.out' has
|
Package rerunfilecheck Info: File `Grundlagen_des_maschinellen_lernens.out' has
|
||||||
not changed.
|
not changed.
|
||||||
(rerunfilecheck) Checksum: 55E78BB917E1CDC45B3A46532A965534;2804.
|
(rerunfilecheck) Checksum: 55E78BB917E1CDC45B3A46532A965534;2804.
|
||||||
|
|
@ -1977,10 +2050,10 @@ un.xml'.
|
||||||
|
|
||||||
)
|
)
|
||||||
Here is how much of TeX's memory you used:
|
Here is how much of TeX's memory you used:
|
||||||
41516 strings out of 492609
|
41567 strings out of 492609
|
||||||
925977 string characters out of 6131462
|
930705 string characters out of 6131462
|
||||||
1495365 words of memory out of 5000000
|
1496572 words of memory out of 5000000
|
||||||
44577 multiletter control sequences out of 15000+600000
|
44587 multiletter control sequences out of 15000+600000
|
||||||
96852 words of font info for 128 fonts, out of 8000000 for 9000
|
96852 words of font info for 128 fonts, out of 8000000 for 9000
|
||||||
1143 hyphenation exceptions out of 8191
|
1143 hyphenation exceptions out of 8191
|
||||||
62i,14n,100p,1509b,3452s stack positions out of 5000i,500n,10000p,200000b,80000s
|
62i,14n,100p,1509b,3452s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||||
|
|
@ -1998,11 +2071,11 @@ ist/fonts/type1/public/txfonts/txsy.pfb></usr/share/texlive/texmf-dist/fonts/ty
|
||||||
pe1/urw/times/utmb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/u
|
pe1/urw/times/utmb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/u
|
||||||
tmr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr
|
tmr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr
|
||||||
/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
|
/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
|
||||||
Output written on Grundlagen_des_maschinellen_lernens.pdf (27 pages, 1445355 by
|
Output written on Grundlagen_des_maschinellen_lernens.pdf (28 pages, 1450552 by
|
||||||
tes).
|
tes).
|
||||||
PDF statistics:
|
PDF statistics:
|
||||||
577 PDF objects out of 1000 (max. 8388607)
|
586 PDF objects out of 1000 (max. 8388607)
|
||||||
484 compressed objects within 5 object streams
|
492 compressed objects within 5 object streams
|
||||||
120 named destinations out of 1000 (max. 500000)
|
123 named destinations out of 1000 (max. 500000)
|
||||||
432 words of extra memory for PDF output out of 10000 (max. 10000000)
|
432 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -570,19 +570,49 @@ Die Funktion \mintinline{python}{datasets.MNIST()} nimmt dabei vier Parameter an
|
||||||
\item \mintinline{python}{'./datasets'} Dieser Parameter gibt den Speicherort für den heruntergeladenen Datensatz an
|
\item \mintinline{python}{'./datasets'} Dieser Parameter gibt den Speicherort für den heruntergeladenen Datensatz an
|
||||||
\item \mintinline{python}{train} Dieser Booleanparameter gibt an, ob es sich bei diesem Datensatz um den Trainingsdatensatz oder um den Testdatensatz handeln soll.
|
\item \mintinline{python}{train} Dieser Booleanparameter gibt an, ob es sich bei diesem Datensatz um den Trainingsdatensatz oder um den Testdatensatz handeln soll.
|
||||||
\item \mintinline{python}{download} Mit diesem Parameter wird festgelegt ob der Datensatz heruntergeladen werden soll, oder jedes mal erneut aus dem Internet abgerufen werden soll.
|
\item \mintinline{python}{download} Mit diesem Parameter wird festgelegt ob der Datensatz heruntergeladen werden soll, oder jedes mal erneut aus dem Internet abgerufen werden soll.
|
||||||
\item \mintinline{python}{transform} Hier werden die Transforms angegeben, die auf die geladenen Daten angewandt werden sollen. In diesem Fall wurde der Ansatz\\ \mintinline{python}{transforms.Compose([transforms.ToTensor()])} gewählt.\\ \mintinline{python}{transforms.Compose()} ist dabei dafür verantwortlich die Transforms im Array zu kaskadieren, also nach einander auf die Eingabedaten anzuwenden. \mintinline{python}{transforms.ToTensor()} ist der häufigste Transform. Er wird eingesetzt um Bilddaten in einen Tensor umzuwandeln.
|
\item \mintinline{python}{transform} Hier werden die Transforms angegeben, die auf die geladenen Daten angewandt werden sollen. In diesem Fall wurde der Ansatz\\ \mintinline{python}{transforms.Compose([transforms.ToTensor()])} gewählt.\\ \mintinline{python}{transforms.Compose()} ist dabei dafür verantwortlich die Transforms im Array zu kaskadieren, also nach einander auf die Eingabedaten anzuwenden. \\
|
||||||
|
\mintinline{python}{transforms.ToTensor()} ist der häufigste Transform. Er wird eingesetzt um Bilddaten in einen Tensor umzuwandeln.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
In Zeile 13 wird dann der DataLoader erstellt. Er nimmt folgende Parameter an:
|
In Zeile 13 wird dann der DataLoader erstellt. Er nimmt folgende Parameter an:
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Der erste Parameter ist der Datensatz aus dem der DataLoader erstellt werden soll
|
\item Der erste Parameter ist der Datensatz aus dem der DataLoader erstellt werden soll
|
||||||
\item \mintinline{python}{batch\_size} Ist ein Parameter, der eine ganz fundamentale Variable beim maschinellen Lernen durch neuronale Netze festlegt: die Batch size.\\
|
\item \mintinline{python}{batch_size} Ist ein Parameter, der eine ganz fundamentale Variable beim maschinellen Lernen durch neuronale Netze festlegt: die Batch size.\\
|
||||||
Die Tensoren werden nämlich nicht einzeln, sondern in sogenannten minibatches in das Netz gegeben. Es wird mit Durchschnittswerten über diese Tensoren in einer Minibatch gerechnet. Dies dient der Reduktion der Rechenzeit. Batching kann veranschaulicht werden, indem man sich vorstellt, dass die \glqq Eingabebilder'' hinter einander geklebt und alle gleichzeitzig betrachtet werden. Die Batch size gibt dann analog an, wie viele Bilder hinter einander geklebt werden. Je höher die Batch size, desto höher ist die Speicherauslastung auf der Grafikkarte und desto ungenauer ist das Ergebnis, da über mehr Werte der Durchschnitt gerechnet wird. Mit höherer Batch size sinkt allerdings auch die Rechenzeit massiv.
|
Die Tensoren werden nämlich nicht einzeln, sondern in sogenannten minibatches in das Netz gegeben. Es wird mit Durchschnittswerten über diese Tensoren in einer Minibatch gerechnet. Dies dient der Reduktion der Rechenzeit. Batching kann veranschaulicht werden, indem man sich vorstellt, dass die \glqq Eingabebilder'' hinter einander geklebt und alle gleichzeitzig betrachtet werden. Die Batch size gibt dann analog an, wie viele Bilder hinter einander geklebt werden. Je höher die Batch size, desto höher ist die Speicherauslastung auf der Grafikkarte und desto ungenauer ist das Ergebnis, da über mehr Werte der Durchschnitt gerechnet wird. Mit höherer Batch size sinkt allerdings auch die Rechenzeit massiv.
|
||||||
\item \mintinline{python}{shuffle} gibt lediglich an, ob die Reihenfolge der Daten randomisiert werden soll. Dies ist wie am Anfang bereits erwähnt ein sehr nützlicher Parameter um overfitting vorzubeugen.
|
\item \mintinline{python}{shuffle} gibt lediglich an, ob die Reihenfolge der Daten randomisiert werden soll. Dies ist wie am Anfang bereits erwähnt ein sehr nützlicher Parameter um overfitting vorzubeugen.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
Über den entstandenen DataLoader kann jetzt in einer konventionellen Schleife iteriert werden, da die Klasse DataLoader die MagicMethod \mintinline{python}{__iter__} implementiert. Der DataLoader gibt dabei Tupel der Form (Batch von Bildern als Tensoren, Batch von Labels als Klassenindices) zurück.
|
Über den entstandenen DataLoader kann jetzt in einer konventionellen Schleife iteriert werden, da die Klasse DataLoader die MagicMethod \mintinline{python}{__iter__} implementiert. Der DataLoader gibt dabei Tupel der Form (Batch von Bildern als Tensoren, Batch von Labels als Klassenindices) zurück.
|
||||||
\subsection{Definieren des Netzes}
|
\subsection{Definieren des Netzes}
|
||||||
Das Definieren des Netzes ist in Pytorch bereitsa sehr einfach möglich, bietet jedoch dennoch extreme individuelle Anpassungsmöglichkeiten.
|
Das Definieren des Netzes ist in Pytorch bereits sehr einfach möglich, bietet jedoch dennoch extreme individuelle Anpassungsmöglichkeiten. Um ein Netz zu definieren muss zunächst eine neue Klasse erstellt werden, die Subklkasse von \mintinline{python}{nn.Module} ist. Im Konstruktor wird dann angegeben, welche Layers das Netz haben soll. Es muss außerdem die Methode \mintinline{python}{forward(self, x)} implementiert werden. Diese spezifiziert, wie mit den Daten innerhalbn des Netzes verfahren wird. Eine möglichst einfache Definition eines Netzes ist in Abbildung \ref{Net_simple_definition} gegeben.
|
||||||
|
\begin{figure}[h]
|
||||||
|
\begin{minted}[
|
||||||
|
frame=lines,
|
||||||
|
framesep=2mm,
|
||||||
|
baselinestretch=1.2,
|
||||||
|
fontsize=\footnotesize,
|
||||||
|
linenos,
|
||||||
|
autogobble
|
||||||
|
]{python}
|
||||||
|
class Net(nn.Module):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.fc0 = nn.Linear(28 * 28, 64)
|
||||||
|
self.fc1 = nn.Linear(64, 120)
|
||||||
|
self.fc2 = nn.Linear(120, 10)
|
||||||
|
|
||||||
|
def forward(self, x):
|
||||||
|
x = F.relu(self.fc0(x))
|
||||||
|
x = F.relu(self.fc1(x))
|
||||||
|
x = self.fc2(x)
|
||||||
|
return F.log_softmax(x)
|
||||||
|
|
||||||
|
\end{minted}
|
||||||
|
\caption{Code um ein einfaches Netz in Pytorch zu definieren}
|
||||||
|
\label{Net_simple_definition}
|
||||||
|
\end{figure}\\
|
||||||
|
Dieses Netz hat nur drei Layers: Ein Eingabelayer (\mintinline{python}{fc0}), das genau die Größe der Eingabedaten ($28\times28$) aufweist, ein hidden Layer (\mintinline{python}{fc1}), das 64 Skalere annimmt und 120 Skalare ausgibt und ein Ausgabelayer (\mintinline{python}{fc2}), das 120 Skalare annimmt und 10 ausgibt. Dass \mintinline{python}{fc2} 10 Ausgabeneuronen besitzt ist kein Zufall, sondern liegt darin begründet, dass dieses Klassifizierungsnetz genau 10 Klassen unterscheiden soll. Die Größe von \mintinline{python}{fc1} ist jedoch völlig frei gewählt. Es ist allerdings wichtig Acht zu geben, dass die Layers die Daten auch an einander weitergeben können. Ein Layer muss also stets so viele Ausgaben aufweisen, wie das Layer, an das die Daten weitergegeben werden sollen, Eingaben besitzt.\\
|
||||||
|
Die \mintinline{python}{forward(self, x)} Funktion definiert, wie die Daten innerhalb des Netzes weitergegeben werden sollen. Hier werden sie erst in \mintinline{python}{fc0} gegeben, dann wird auf die Ausgabe aus \mintinline{python}{fc0} die Aktivierungsfunktion \glqq ReLu'' (REctified Linear Unit) angewandt. Die Ausgabe daraus wird dann in das hidden Layer \mintinline{python}{fc1} gegebnen und die Aktivierungsfunktion wird erneut angewandt. Im Output Layer geschieht dies nicht. Abschließend wird die Ausgabe von \mintinline{python}{F.log_softmax} zurück gegeben. Dies wendet erst einen SoftMax und dann einen Logarythmus auf die Daten an \cite{6} um diese zu normalisieren und ist in Klassifizierungsnetzwerken oft nötig. Da die Netze als Klassen definiert werden und der Interne Datenverkehr in der \mintinline{python}{forward(self, x)} Funktion abläuft, sind neuronale Netze in Pytorch also sehr anpassbar. So wäre es beispielsweise kein Problem zwischen Input und hidden Layer die Daten mit 2 zu multiplizieren (dafür würde man zwischen Zeile 9 und 10 den Code \glqq\mintinline{python}{x = x * 2}'' einfügen), auch wenn dies in den meißten Anwendungsbereichen keinen Sinn hätte. Pytorch kombiniert mit dieser Art Netze zu definieren also eine umfangreiche Flexibilität mit einfacher Bedienbartkeit.
|
||||||
\subsection{Trainieren des Netzes}
|
\subsection{Trainieren des Netzes}
|
||||||
|
Das Trainieren des Netzes erfolgt in der sogenannten \glqq Training Loop''. Also in einer Schleife, die über den Datensatz iteriert. Zumeißt steht diese noch in einer Schleife, die über die Epochenzahl iteriert.
|
||||||
\section{Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk für handgeschriebene Ziffern}
|
\section{Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk für handgeschriebene Ziffern}
|
||||||
\subsection{Aufgabe}
|
\subsection{Aufgabe}
|
||||||
\subsection{Der MNIST Datensatz}
|
\subsection{Der MNIST Datensatz}
|
||||||
|
|
@ -617,7 +647,11 @@ Das Definieren des Netzes ist in Pytorch bereitsa sehr einfach möglich, bietet
|
||||||
A US government study confirms most face recognition systems are racist\\
|
A US government study confirms most face recognition systems are racist\\
|
||||||
20.12.2019 MIT technology review\\
|
20.12.2019 MIT technology review\\
|
||||||
https://www.technologyreview.com/f/614986/ai-face-recognition-racist-us-government-nist-study/\\
|
https://www.technologyreview.com/f/614986/ai-face-recognition-racist-us-government-nist-study/\\
|
||||||
Abgerufen am 23.01.2019
|
Abgerufen am 23.01.2020
|
||||||
|
\bibitem{6}
|
||||||
|
Offizielle Dokumentation des PyTorch Frameworks\\
|
||||||
|
https://pytorch.org/docs/stable/nn.functional.html\\
|
||||||
|
Abgerufen am 30.01.2020
|
||||||
\end{thebibliography}
|
\end{thebibliography}
|
||||||
\listoffigures
|
\listoffigures
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
@ -55,24 +55,24 @@
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{23}{subsection.4.2}%
|
\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{23}{subsection.4.2}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{24}{subsection.4.3}%
|
\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{25}{subsection.4.3}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {section}{\numberline {5}Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{24}{section.5}%
|
\contentsline {section}{\numberline {5}Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{25}{section.5}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {5.1}Aufgabe}{24}{subsection.5.1}%
|
\contentsline {subsection}{\numberline {5.1}Aufgabe}{25}{subsection.5.1}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{24}{subsection.5.2}%
|
\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{25}{subsection.5.2}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {5.3}Ergebnis}{24}{subsection.5.3}%
|
\contentsline {subsection}{\numberline {5.3}Ergebnis}{25}{subsection.5.3}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {section}{\numberline {6}Fallbeispiel II:\newline Eine selbsttrainierende KI f\IeC {\"u}r Tic-Tac-Toe}{24}{section.6}%
|
\contentsline {section}{\numberline {6}Fallbeispiel II:\newline Eine selbsttrainierende KI f\IeC {\"u}r Tic-Tac-Toe}{25}{section.6}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {6.1}Das Prinzip}{24}{subsection.6.1}%
|
\contentsline {subsection}{\numberline {6.1}Das Prinzip}{25}{subsection.6.1}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {6.2}Chance-Tree Optimierung}{24}{subsection.6.2}%
|
\contentsline {subsection}{\numberline {6.2}Chance-Tree Optimierung}{25}{subsection.6.2}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {6.3}L\IeC {\"o}sung mittels eines neuronalen Netzes}{24}{subsection.6.3}%
|
\contentsline {subsection}{\numberline {6.3}L\IeC {\"o}sung mittels eines neuronalen Netzes}{25}{subsection.6.3}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {subsection}{\numberline {6.4}Vergleich}{24}{subsection.6.4}%
|
\contentsline {subsection}{\numberline {6.4}Vergleich}{25}{subsection.6.4}%
|
||||||
\defcounter {refsection}{0}\relax
|
\defcounter {refsection}{0}\relax
|
||||||
\contentsline {section}{\numberline {7}Schlusswort}{24}{section.7}%
|
\contentsline {section}{\numberline {7}Schlusswort}{25}{section.7}%
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
\PYG{n}{batch}\PYGZbs{}\PYG{n}{\PYGZus{}size}
|
\PYG{n}{nn}\PYG{o}{.}\PYG{n}{Module}
|
||||||
\end{Verbatim}
|
\end{Verbatim}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PYG{n}{x} \PYG{o}{=} \PYG{n}{x} \PYG{o}{*} \PYG{l+m+mi}{2}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PYG{n}{F}\PYG{o}{.}\PYG{n}{log\PYGZus{}softmax}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PYG{n}{fc1}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PYG{n}{fc0}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PYG{n}{forward}\PYG{p}{(}\PYG{n+nb+bp}{self}\PYG{p}{,} \PYG{n}{x}\PYG{p}{)}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PYG{n}{fc2}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PYG{k}{class} \PYG{n+nc}{Net}\PYG{p}{(}\PYG{n}{nn}\PYG{o}{.}\PYG{n}{Module}\PYG{p}{):}
|
||||||
|
\PYG{k}{def} \PYG{n+nf+fm}{\PYGZus{}\PYGZus{}init\PYGZus{}\PYGZus{}}\PYG{p}{(}\PYG{n+nb+bp}{self}\PYG{p}{):}
|
||||||
|
\PYG{n+nb}{super}\PYG{p}{()}\PYG{o}{.}\PYG{n+nf+fm}{\PYGZus{}\PYGZus{}init\PYGZus{}\PYGZus{}}\PYG{p}{()}
|
||||||
|
\PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc0} \PYG{o}{=} \PYG{n}{nn}\PYG{o}{.}\PYG{n}{Linear}\PYG{p}{(}\PYG{l+m+mi}{28} \PYG{o}{*} \PYG{l+m+mi}{28}\PYG{p}{,} \PYG{l+m+mi}{64}\PYG{p}{)}
|
||||||
|
\PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc1} \PYG{o}{=} \PYG{n}{nn}\PYG{o}{.}\PYG{n}{Linear}\PYG{p}{(}\PYG{l+m+mi}{64}\PYG{p}{,} \PYG{l+m+mi}{120}\PYG{p}{)}
|
||||||
|
\PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc2} \PYG{o}{=} \PYG{n}{nn}\PYG{o}{.}\PYG{n}{Linear}\PYG{p}{(}\PYG{l+m+mi}{120}\PYG{p}{,} \PYG{l+m+mi}{10}\PYG{p}{)}
|
||||||
|
|
||||||
|
\PYG{k}{def} \PYG{n+nf}{forward}\PYG{p}{(}\PYG{n+nb+bp}{self}\PYG{p}{,} \PYG{n}{x}\PYG{p}{):}
|
||||||
|
\PYG{n}{x} \PYG{o}{=} \PYG{n}{F}\PYG{o}{.}\PYG{n}{relu}\PYG{p}{(}\PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc0}\PYG{p}{(}\PYG{n}{x}\PYG{p}{))}
|
||||||
|
\PYG{n}{x} \PYG{o}{=} \PYG{n}{F}\PYG{o}{.}\PYG{n}{relu}\PYG{p}{(}\PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc1}\PYG{p}{(}\PYG{n}{x}\PYG{p}{))}
|
||||||
|
\PYG{n}{x} \PYG{o}{=} \PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc2}\PYG{p}{(}\PYG{n}{x}\PYG{p}{)}
|
||||||
|
\PYG{k}{return} \PYG{n}{F}\PYG{o}{.}\PYG{n}{log\PYGZus{}softmax}\PYG{p}{(}\PYG{n}{x}\PYG{p}{)}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PYG{n}{batch\PYGZus{}size}
|
||||||
|
\end{Verbatim}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue