removed LaTex related files
This commit is contained in:
parent
eea9a6c035
commit
a94b410344
40 changed files with 0 additions and 15001 deletions
|
|
@ -1,192 +0,0 @@
|
||||||
\relax
|
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
|
||||||
\catcode `"\active
|
|
||||||
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
|
|
||||||
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
|
|
||||||
\global\let\oldcontentsline\contentsline
|
|
||||||
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
|
|
||||||
\global\let\oldnewlabel\newlabel
|
|
||||||
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
|
|
||||||
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
|
|
||||||
\AtEndDocument{\ifx\hyper@anchor\@undefined
|
|
||||||
\let\contentsline\oldcontentsline
|
|
||||||
\let\newlabel\oldnewlabel
|
|
||||||
\fi}
|
|
||||||
\fi}
|
|
||||||
\global\let\hyper@last\relax
|
|
||||||
\gdef\HyperFirstAtBeginDocument#1{#1}
|
|
||||||
\providecommand\HyField@AuxAddToFields[1]{}
|
|
||||||
\providecommand\HyField@AuxAddToCoFields[2]{}
|
|
||||||
\abx@aux@refcontext{nty/global//global/global}
|
|
||||||
\@writefile{toc}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
|
|
||||||
\@writefile{lof}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
|
|
||||||
\@writefile{lot}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
|
|
||||||
\babel@aux{ngerman}{}
|
|
||||||
\abx@aux@cite{1}
|
|
||||||
\abx@aux@segm{0}{0}{1}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1}Was ist maschinelles Lernen?}{3}{section.1}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Klassifizierungsaufgaben}{3}{subsection.1.1}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Die zwei Klassen w\IeC {\"a}ren hier \glqq gr\IeC {\"u}n'' und \glqq blau''. Die Linie stellt die Klassengrenze dar, die die zwei Klassen unterscheidet. Es sind au\IeC {\ss }erdem einige Ausrei\IeC {\ss }er in den Daten vorhanden. \relax }}{4}{figure.caption.2}\protected@file@percent }
|
|
||||||
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
|
|
||||||
\newlabel{Classification}{{1}{4}{Die zwei Klassen wären hier \glqq grün'' und \glqq blau''. Die Linie stellt die Klassengrenze dar, die die zwei Klassen unterscheidet. Es sind außerdem einige Ausreißer in den Daten vorhanden. \relax }{figure.caption.2}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Regressionsprobleme}{4}{subsection.1.2}\protected@file@percent }
|
|
||||||
\abx@aux@cite{4}
|
|
||||||
\abx@aux@segm{0}{0}{4}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Die Kurve stellt hier keine Grenze, sondern die Funktion, die die Werte approximiert, dar. Die Punkte repr\IeC {\"a}sentieren die Eingabedaten, wobei auch hier einige Ausrei\IeC {\ss }er erkennbar sind.\relax }}{5}{figure.caption.3}\protected@file@percent }
|
|
||||||
\newlabel{Regression}{{2}{5}{Die Kurve stellt hier keine Grenze, sondern die Funktion, die die Werte approximiert, dar. Die Punkte repräsentieren die Eingabedaten, wobei auch hier einige Ausreißer erkennbar sind.\relax }{figure.caption.3}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Gefahren von maschinellem Lernen}{5}{subsection.1.3}\protected@file@percent }
|
|
||||||
\abx@aux@cite{5}
|
|
||||||
\abx@aux@segm{0}{0}{5}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.1}Datens\IeC {\"a}tze f\IeC {\"u}r maschinelles Lernen}{6}{subsubsection.1.3.1}\protected@file@percent }
|
|
||||||
\abx@aux@cite{8}
|
|
||||||
\abx@aux@segm{0}{0}{8}
|
|
||||||
\abx@aux@cite{9}
|
|
||||||
\abx@aux@segm{0}{0}{9}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.2}Overfitting}{7}{subsubsection.1.3.2}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Klassengrenzen mit und ohne Overfitting\relax }}{7}{figure.caption.4}\protected@file@percent }
|
|
||||||
\newlabel{Overfitting}{{3}{7}{Klassengrenzen mit und ohne Overfitting\relax }{figure.caption.4}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Adversarial attacks}{7}{subsection.1.4}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {2}Verschiedene Techniken maschinellen Lernens}{8}{section.2}\protected@file@percent }
|
|
||||||
\newlabel{sec:verschiedene-techniken-maschinellen-lernens}{{2}{8}{Verschiedene Techniken maschinellen Lernens}{section.2}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}\IeC {\"U}berwachtes Lernen}{8}{subsection.2.1}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Un\IeC {\"u}berwachtes Lernen}{8}{subsection.2.2}\protected@file@percent }
|
|
||||||
\abx@aux@cite{2}
|
|
||||||
\abx@aux@segm{0}{0}{2}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Best\IeC {\"a}rkendes Lernen}{9}{subsection.2.3}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3}Neuronale Netze}{9}{section.3}\protected@file@percent }
|
|
||||||
\newlabel{sec:neuronale-netze}{{3}{9}{Neuronale Netze}{section.3}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Maschinelles Lernen und menschliches Lernen}{9}{subsection.3.1}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Neuron \newline Quelle: simple.wikipedia.org/wiki/File:Neuron.svg\newline Copyright: CC Attribution-Share Alike von Nutzer Dhp1080,\newline bearbeitet}}{10}{figure.caption.5}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Der Aufbau eines neuronalen Netzes}{10}{subsection.3.2}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Schematische Darstellung eines einfachen neuronalen Netzes\relax }}{11}{figure.caption.6}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Berechnung des Ausgabevektors}{12}{subsection.3.3}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Darstellung der Sigmoid-Funktion $\sigma (x)=\frac {e^x}{e^x+1}$ im Intervall $[-5, 5]$\relax }}{12}{figure.caption.7}\protected@file@percent }
|
|
||||||
\newlabel{Sigmoid}{{6}{12}{Darstellung der Sigmoid-Funktion $\sigma (x)=\frac {e^x}{e^x+1}$ im Intervall $[-5, 5]$\relax }{figure.caption.7}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Formel zur Berechnung eines Ausgabevektors aus einem Eingabevektor durch eine Schicht von Neuronen. \relax }}{14}{figure.caption.8}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Der Lernprozess}{14}{subsection.3.4}\protected@file@percent }
|
|
||||||
\abx@aux@cite{3}
|
|
||||||
\abx@aux@segm{0}{0}{3}
|
|
||||||
\abx@aux@segm{0}{0}{3}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Fehlerfunktionen}{15}{subsection.3.5}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1}MSE -- Durchschnittlicher quadratischer Fehler}{15}{subsubsection.3.5.1}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Die Gleichung f\IeC {\"u}r den durchschnittlichen quadratischen Fehler\relax }}{15}{figure.caption.9}\protected@file@percent }
|
|
||||||
\newlabel{MSE_equation}{{8}{15}{Die Gleichung für den durchschnittlichen quadratischen Fehler\relax }{figure.caption.9}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2}MAE -- Durchschnittlicher absoluter Fehler}{15}{subsubsection.3.5.2}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Die Gleichung f\IeC {\"u}r den durchschnittlichen absoluten Fehler\relax }}{16}{figure.caption.10}\protected@file@percent }
|
|
||||||
\newlabel{MAE_equation}{{9}{16}{Die Gleichung für den durchschnittlichen absoluten Fehler\relax }{figure.caption.10}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3}Kreuzentropiefehler}{16}{subsubsection.3.5.3}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Der Graph der Kreuzentropie-Fehlerfunktion, wenn das tats\IeC {\"a}chliche Label 1 ist\relax }}{16}{figure.caption.11}\protected@file@percent }
|
|
||||||
\newlabel{CEL_Graph}{{10}{16}{Der Graph der Kreuzentropie-Fehlerfunktion, wenn das tatsächliche Label 1 ist\relax }{figure.caption.11}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Die Gleichung f\IeC {\"u}r den Kreuzentropiefehler\relax }}{17}{figure.caption.12}\protected@file@percent }
|
|
||||||
\newlabel{CEL_Function}{{11}{17}{Die Gleichung für den Kreuzentropiefehler\relax }{figure.caption.12}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces Die Gleichung f\IeC {\"u}r den durchschnittlichen absoluten Fehler\relax }}{17}{figure.caption.13}\protected@file@percent }
|
|
||||||
\newlabel{CEL_Function_cummulative}{{12}{17}{Die Gleichung für den durchschnittlichen absoluten Fehler\relax }{figure.caption.13}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Gradientenverfahren und Backpropagation}{17}{subsection.3.6}\protected@file@percent }
|
|
||||||
\newlabel{Gradient_section}{{3.6}{17}{Gradientenverfahren und Backpropagation}{subsection.3.6}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces Die Gleichung f\IeC {\"u}r den Gradienten der Fehlerfunktion\relax }}{18}{figure.caption.14}\protected@file@percent }
|
|
||||||
\newlabel{Gradient_Function}{{13}{18}{Die Gleichung für den Gradienten der Fehlerfunktion\relax }{figure.caption.14}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}Lernrate}{18}{subsubsection.3.6.1}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Die Gleichung f\IeC {\"u}r die Anpassung eines einzelnen Parameters\relax }}{18}{figure.caption.15}\protected@file@percent }
|
|
||||||
\newlabel{Learning_Rate_Function}{{14}{18}{Die Gleichung für die Anpassung eines einzelnen Parameters\relax }{figure.caption.15}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces $\eta $ ist hier zu gro\IeC {\ss } gew\IeC {\"a}hlt, sodass das Minimum stets \IeC {\"u}bersprungen wird.\relax }}{19}{figure.caption.16}\protected@file@percent }
|
|
||||||
\newlabel{Learning_Rate_Graphic}{{15}{19}{$\eta $ ist hier zu groß gewählt, sodass das Minimum stets übersprungen wird.\relax }{figure.caption.16}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Verschiedene Layerarten}{19}{subsection.3.7}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.1}Convolutional Layers}{19}{subsubsection.3.7.1}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces Eine Verbildlichung der Vorg\IeC {\"a}nge in einem convolutional Layer\newline Aus einer Animation von\newline https://github.com/vdumoulin/conv\_arithmetic/blob/master/README.md Vincent Dumoulin, Francesco Visin - A guide to convolution arithmetic for deep learning (BibTeX)}}{20}{figure.caption.17}\protected@file@percent }
|
|
||||||
\newlabel{Convolution_illustration}{{16}{20}{Eine Verbildlichung der Vorgänge in einem convolutional Layer\newline Aus einer Animation von\newline https://github.com/vdumoulin/conv\_arithmetic/blob/master/README.md\\ Vincent Dumoulin, Francesco Visin - A guide to convolution arithmetic for deep learning (BibTeX)}{figure.caption.17}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces Erkennt obere horizontale Kanten\relax }}{20}{figure.caption.18}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {18}{\ignorespaces Erkennt linke vertikale Kanten\relax }}{20}{figure.caption.18}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {19}{\ignorespaces Erkennt untere horizontale Kanten\relax }}{20}{figure.caption.18}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {20}{\ignorespaces Erkennt rechte vertikale Kanten\relax }}{20}{figure.caption.18}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {21}{\ignorespaces Das Beispielbild aus dem Mnist Datensatz\relax }}{21}{figure.caption.19}\protected@file@percent }
|
|
||||||
\newlabel{Filter_Example_raw}{{21}{21}{Das Beispielbild aus dem Mnist Datensatz\relax }{figure.caption.19}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {22}{\ignorespaces Die jeweils oben stehenden Filter wurden auf das Beispielbild angewandt.\relax }}{21}{figure.caption.20}\protected@file@percent }
|
|
||||||
\newlabel{Filter_output dargestellt}{{22}{21}{Die jeweils oben stehenden Filter wurden auf das Beispielbild angewandt.\relax }{figure.caption.20}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {23}{\ignorespaces Beispiele f\IeC {\"u}r low-, mid- und high-level Features in Convolutional Neural Nets\newline Quelle: https://tvirdi.github.io/2017-10-29/cnn/}}{22}{figure.caption.21}\protected@file@percent }
|
|
||||||
\newlabel{HL_features_conv}{{23}{22}{Beispiele für low-, mid- und high-level Features in Convolutional Neural Nets\newline Quelle: https://tvirdi.github.io/2017-10-29/cnn/}{figure.caption.21}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Pooling Layers}{22}{subsubsection.3.7.2}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {24}{\ignorespaces Max Pooling mit $2\times 2$ gro\IeC {\ss }en Submatrizen\newline Quelle: https://computersciencewiki.org/index.php/Max-pooling\_/\_Pooling CC BY NC SA Lizenz}}{23}{figure.caption.22}\protected@file@percent }
|
|
||||||
\newlabel{Maxpool}{{24}{23}{Max Pooling mit $2\times 2$ großen Submatrizen\newline Quelle: https://computersciencewiki.org/index.php/Max-pooling\_/\_Pooling\\ CC BY NC SA Lizenz}{figure.caption.22}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {25}{\ignorespaces Average-Pooling mit $2\times 2$ gro\IeC {\ss }en Submatrizen\newline Aus: Dominguez-Morales, Juan Pedro. (2018). Neuromorphic audio processing through real-time embedded spiking neural networks. Abbildung 33}}{23}{figure.caption.23}\protected@file@percent }
|
|
||||||
\newlabel{AvgPool}{{25}{23}{Average-Pooling mit $2\times 2$ großen Submatrizen\newline Aus: Dominguez-Morales, Juan Pedro. (2018). Neuromorphic audio processing through real-time embedded spiking neural networks. Abbildung 33}{figure.caption.23}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {26}{\ignorespaces Gegen\IeC {\"u}berstellung von Max- und Average-Pooling\relax }}{24}{figure.caption.24}\protected@file@percent }
|
|
||||||
\newlabel{Pooling_Mnist}{{26}{24}{Gegenüberstellung von Max- und Average-Pooling\relax }{figure.caption.24}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {4}PyTorch}{24}{section.4}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{25}{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 }}{26}{figure.caption.25}\protected@file@percent }
|
|
||||||
\newlabel{MNIST_Dataloader_Code}{{27}{26}{Der Code zum Laden des MNIST Datensatzes\relax }{figure.caption.25}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{27}{subsection.4.2}\protected@file@percent }
|
|
||||||
\abx@aux@cite{6}
|
|
||||||
\abx@aux@segm{0}{0}{6}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {28}{\ignorespaces Code, um ein einfaches Netz in Pytorch zu definieren\relax }}{28}{figure.caption.26}\protected@file@percent }
|
|
||||||
\newlabel{Net_simple_definition}{{28}{28}{Code, um ein einfaches Netz in Pytorch zu definieren\relax }{figure.caption.26}{}}
|
|
||||||
\abx@aux@cite{7}
|
|
||||||
\abx@aux@segm{0}{0}{7}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{29}{subsection.4.3}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {29}{\ignorespaces Code, um das Netz auf einem Datensatz zu trainieren\relax }}{29}{figure.caption.27}\protected@file@percent }
|
|
||||||
\newlabel{Code_train_loop}{{29}{29}{Code, um das Netz auf einem Datensatz zu trainieren\relax }{figure.caption.27}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Pytorch und weights and biases}{31}{subsection.4.4}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {5}Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{31}{section.5}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Aufgabe}{31}{subsection.5.1}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{31}{subsection.5.2}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Das Netz}{32}{subsection.5.3}\protected@file@percent }
|
|
||||||
\newlabel{sec:das-netz}{{5.3}{32}{Das Netz}{subsection.5.3}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {30}{\ignorespaces Der Code, um das in diesem Projekt genutzte Klassifizierungsnetz zu definieren.\relax }}{32}{figure.caption.28}\protected@file@percent }
|
|
||||||
\newlabel{net}{{30}{32}{Der Code, um das in diesem Projekt genutzte Klassifizierungsnetz zu definieren.\relax }{figure.caption.28}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {31}{\ignorespaces Der Graph der ReLu Aktivierungsfunktion\relax }}{33}{figure.caption.29}\protected@file@percent }
|
|
||||||
\newlabel{ReLu}{{31}{33}{Der Graph der ReLu Aktivierungsfunktion\relax }{figure.caption.29}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Ergebnis}{33}{subsection.5.4}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {32}{\ignorespaces Ein Plot der Trefferquote, aufgetragen gegen die Trainingszeit\relax }}{34}{figure.caption.30}\protected@file@percent }
|
|
||||||
\newlabel{accuracy}{{32}{34}{Ein Plot der Trefferquote, aufgetragen gegen die Trainingszeit\relax }{figure.caption.30}{}}
|
|
||||||
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {33}{\ignorespaces Ein Plot des Kreuzentropiefehlers aufgetragen gegen die Trainingszeit\relax }}{34}{figure.caption.31}\protected@file@percent }
|
|
||||||
\newlabel{loss}{{33}{34}{Ein Plot des Kreuzentropiefehlers aufgetragen gegen die Trainingszeit\relax }{figure.caption.31}{}}
|
|
||||||
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}Schluss}{35}{section.6}\protected@file@percent }
|
|
||||||
\bibcite{1}{1}
|
|
||||||
\bibcite{2}{2}
|
|
||||||
\bibcite{3}{3}
|
|
||||||
\bibcite{4}{4}
|
|
||||||
\bibcite{5}{5}
|
|
||||||
\bibcite{6}{6}
|
|
||||||
\bibcite{7}{7}
|
|
||||||
\bibcite{8}{8}
|
|
||||||
\bibcite{9}{9}
|
|
||||||
\gdef\minted@oldcachelist{,
|
|
||||||
default-pyg-prefix.pygstyle,
|
|
||||||
default.pygstyle,
|
|
||||||
3689BC65F2D8327A52B99A4D4543798E53A0C9FE66949F8EC4BED65B31F6975B.pygtex,
|
|
||||||
A4B374C1656F7019947BB217D7D8C34BF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
6E136E4601877EDF7BAFA4E113440C09F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
269EB77B41B74A0DDA1E98D8C4CCFD9DF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
9B331F10CD24BEF694DFB75FBF495B69F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
E569CCE4C53760D94B3D7D8143D84D55F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
FAA14B25340C2458FD5D369A042116ABF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
745405EA92794205A61C3062FFF26B3CF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
2310AA0C124794A026E719F78EC1B44DF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
EDB0BACF1F2CD448B8D22F1A9B4F026EF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
9A791CC5219F6F4D627591113AE747DBF6C426F58C5CCC27D3C7BD698FEC22DB.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,
|
|
||||||
966BC12992AE07118A5C030A258708A853A0C9FE66949F8EC4BED65B31F6975B.pygtex,
|
|
||||||
6843D04ED2E2C37F8AF3EB0462FB514BF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
00B37D79FD3312AD6F59A2B37BA81087F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
684559E268B2B047D1C82BB00E985301F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
ECDE410C14A506CF9F77A687B26F5474F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
30299FD7E2187F6D53ED8A608F3958F2F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
458D5F1AFC81AE7291A7AAAD852DC12AF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
B51E2DE1996D35173C012720F7A4FDA4F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
|
|
||||||
91DA331C052E3A07FD9B933AC7C049B253A0C9FE66949F8EC4BED65B31F6975B.pygtex,
|
|
||||||
A26181649063E5A564A34B0EBDE29E28F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex}
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,68 +0,0 @@
|
||||||
\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax
|
|
||||||
\babel@toc {ngerman}{}
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {1}{\ignorespaces Die zwei Klassen w\IeC {\"a}ren hier \glqq gr\IeC {\"u}n'' und \glqq blau''. Die Linie stellt die Klassengrenze dar, die die zwei Klassen unterscheidet. Es sind au\IeC {\ss }erdem einige Ausrei\IeC {\ss }er in den Daten vorhanden. \relax }}{4}{figure.caption.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {2}{\ignorespaces Die Kurve stellt hier keine Grenze, sondern die Funktion, die die Werte approximiert, dar. Die Punkte repr\IeC {\"a}sentieren die Eingabedaten, wobei auch hier einige Ausrei\IeC {\ss }er erkennbar sind.\relax }}{5}{figure.caption.3}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {3}{\ignorespaces Klassengrenzen mit und ohne Overfitting\relax }}{7}{figure.caption.4}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {4}{\ignorespaces Neuron \newline Quelle: simple.wikipedia.org/wiki/File:Neuron.svg\newline Copyright: CC Attribution-Share Alike von Nutzer Dhp1080,\newline bearbeitet}}{10}{figure.caption.5}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {5}{\ignorespaces Schematische Darstellung eines einfachen neuronalen Netzes\relax }}{11}{figure.caption.6}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {6}{\ignorespaces Darstellung der Sigmoid-Funktion $\sigma (x)=\frac {e^x}{e^x+1}$ im Intervall $[-5, 5]$\relax }}{12}{figure.caption.7}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {7}{\ignorespaces Formel zur Berechnung eines Ausgabevektors aus einem Eingabevektor durch eine Schicht von Neuronen. \relax }}{14}{figure.caption.8}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {8}{\ignorespaces Die Gleichung f\IeC {\"u}r den durchschnittlichen quadratischen Fehler\relax }}{15}{figure.caption.9}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {9}{\ignorespaces Die Gleichung f\IeC {\"u}r den durchschnittlichen absoluten Fehler\relax }}{16}{figure.caption.10}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {10}{\ignorespaces Der Graph der Kreuzentropie-Fehlerfunktion, wenn das tats\IeC {\"a}chliche Label 1 ist\relax }}{16}{figure.caption.11}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {11}{\ignorespaces Die Gleichung f\IeC {\"u}r den Kreuzentropiefehler\relax }}{17}{figure.caption.12}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {12}{\ignorespaces Die Gleichung f\IeC {\"u}r den durchschnittlichen absoluten Fehler\relax }}{17}{figure.caption.13}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {13}{\ignorespaces Die Gleichung f\IeC {\"u}r den Gradienten der Fehlerfunktion\relax }}{18}{figure.caption.14}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {14}{\ignorespaces Die Gleichung f\IeC {\"u}r die Anpassung eines einzelnen Parameters\relax }}{18}{figure.caption.15}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {15}{\ignorespaces $\eta $ ist hier zu gro\IeC {\ss } gew\IeC {\"a}hlt, sodass das Minimum stets \IeC {\"u}bersprungen wird.\relax }}{19}{figure.caption.16}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {16}{\ignorespaces Eine Verbildlichung der Vorg\IeC {\"a}nge in einem convolutional Layer\newline Aus einer Animation von\newline https://github.com/vdumoulin/conv\_arithmetic/blob/master/README.md Vincent Dumoulin, Francesco Visin - A guide to convolution arithmetic for deep learning (BibTeX)}}{20}{figure.caption.17}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {17}{\ignorespaces Erkennt obere horizontale Kanten\relax }}{20}{figure.caption.18}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {18}{\ignorespaces Erkennt linke vertikale Kanten\relax }}{20}{figure.caption.18}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {19}{\ignorespaces Erkennt untere horizontale Kanten\relax }}{20}{figure.caption.18}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {20}{\ignorespaces Erkennt rechte vertikale Kanten\relax }}{20}{figure.caption.18}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {21}{\ignorespaces Das Beispielbild aus dem Mnist Datensatz\relax }}{21}{figure.caption.19}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {22}{\ignorespaces Die jeweils oben stehenden Filter wurden auf das Beispielbild angewandt.\relax }}{21}{figure.caption.20}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {23}{\ignorespaces Beispiele f\IeC {\"u}r low-, mid- und high-level Features in Convolutional Neural Nets\newline Quelle: https://tvirdi.github.io/2017-10-29/cnn/}}{22}{figure.caption.21}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {24}{\ignorespaces Max Pooling mit $2\times 2$ gro\IeC {\ss }en Submatrizen\newline Quelle: https://computersciencewiki.org/index.php/Max-pooling\_/\_Pooling CC BY NC SA Lizenz}}{23}{figure.caption.22}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {25}{\ignorespaces Average-Pooling mit $2\times 2$ gro\IeC {\ss }en Submatrizen\newline Aus: Dominguez-Morales, Juan Pedro. (2018). Neuromorphic audio processing through real-time embedded spiking neural networks. Abbildung 33}}{23}{figure.caption.23}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {26}{\ignorespaces Gegen\IeC {\"u}berstellung von Max- und Average-Pooling\relax }}{24}{figure.caption.24}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {27}{\ignorespaces Der Code zum Laden des MNIST Datensatzes\relax }}{26}{figure.caption.25}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {28}{\ignorespaces Code, um ein einfaches Netz in Pytorch zu definieren\relax }}{28}{figure.caption.26}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {29}{\ignorespaces Code, um das Netz auf einem Datensatz zu trainieren\relax }}{29}{figure.caption.27}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {30}{\ignorespaces Der Code, um das in diesem Projekt genutzte Klassifizierungsnetz zu definieren.\relax }}{32}{figure.caption.28}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {31}{\ignorespaces Der Graph der ReLu Aktivierungsfunktion\relax }}{33}{figure.caption.29}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {32}{\ignorespaces Ein Plot der Trefferquote, aufgetragen gegen die Trainingszeit\relax }}{34}{figure.caption.30}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {figure}{\numberline {33}{\ignorespaces Ein Plot des Kreuzentropiefehlers aufgetragen gegen die Trainingszeit\relax }}{34}{figure.caption.31}%
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,36 +0,0 @@
|
||||||
\BOOKMARK [1][-]{section.1}{Was ist maschinelles Lernen?}{}% 1
|
|
||||||
\BOOKMARK [2][-]{subsection.1.1}{Klassifizierungsaufgaben}{section.1}% 2
|
|
||||||
\BOOKMARK [2][-]{subsection.1.2}{Regressionsprobleme}{section.1}% 3
|
|
||||||
\BOOKMARK [2][-]{subsection.1.3}{Gefahren von maschinellem Lernen}{section.1}% 4
|
|
||||||
\BOOKMARK [3][-]{subsubsection.1.3.1}{Datens\344tze f\374r maschinelles Lernen}{subsection.1.3}% 5
|
|
||||||
\BOOKMARK [3][-]{subsubsection.1.3.2}{Overfitting}{subsection.1.3}% 6
|
|
||||||
\BOOKMARK [2][-]{subsection.1.4}{Adversarial attacks}{section.1}% 7
|
|
||||||
\BOOKMARK [1][-]{section.2}{Verschiedene Techniken maschinellen Lernens}{}% 8
|
|
||||||
\BOOKMARK [2][-]{subsection.2.1}{\334berwachtes Lernen}{section.2}% 9
|
|
||||||
\BOOKMARK [2][-]{subsection.2.2}{Un\374berwachtes Lernen}{section.2}% 10
|
|
||||||
\BOOKMARK [2][-]{subsection.2.3}{Best\344rkendes Lernen}{section.2}% 11
|
|
||||||
\BOOKMARK [1][-]{section.3}{Neuronale Netze}{}% 12
|
|
||||||
\BOOKMARK [2][-]{subsection.3.1}{Maschinelles Lernen und menschliches Lernen}{section.3}% 13
|
|
||||||
\BOOKMARK [2][-]{subsection.3.2}{Der Aufbau eines neuronalen Netzes}{section.3}% 14
|
|
||||||
\BOOKMARK [2][-]{subsection.3.3}{Berechnung des Ausgabevektors}{section.3}% 15
|
|
||||||
\BOOKMARK [2][-]{subsection.3.4}{Der Lernprozess}{section.3}% 16
|
|
||||||
\BOOKMARK [2][-]{subsection.3.5}{Fehlerfunktionen}{section.3}% 17
|
|
||||||
\BOOKMARK [3][-]{subsubsection.3.5.1}{MSE \205 Durchschnittlicher quadratischer Fehler}{subsection.3.5}% 18
|
|
||||||
\BOOKMARK [3][-]{subsubsection.3.5.2}{MAE \205 Durchschnittlicher absoluter Fehler}{subsection.3.5}% 19
|
|
||||||
\BOOKMARK [3][-]{subsubsection.3.5.3}{Kreuzentropiefehler}{subsection.3.5}% 20
|
|
||||||
\BOOKMARK [2][-]{subsection.3.6}{Gradientenverfahren und Backpropagation}{section.3}% 21
|
|
||||||
\BOOKMARK [3][-]{subsubsection.3.6.1}{Lernrate}{subsection.3.6}% 22
|
|
||||||
\BOOKMARK [2][-]{subsection.3.7}{Verschiedene Layerarten}{section.3}% 23
|
|
||||||
\BOOKMARK [3][-]{subsubsection.3.7.1}{Convolutional Layers}{subsection.3.7}% 24
|
|
||||||
\BOOKMARK [3][-]{subsubsection.3.7.2}{Pooling Layers}{subsection.3.7}% 25
|
|
||||||
\BOOKMARK [1][-]{section.4}{PyTorch}{}% 26
|
|
||||||
\BOOKMARK [2][-]{subsection.4.1}{Datenvorbereitung}{section.4}% 27
|
|
||||||
\BOOKMARK [2][-]{subsection.4.2}{Definieren des Netzes}{section.4}% 28
|
|
||||||
\BOOKMARK [2][-]{subsection.4.3}{Trainieren des Netzes}{section.4}% 29
|
|
||||||
\BOOKMARK [2][-]{subsection.4.4}{Pytorch und weights and biases}{section.4}% 30
|
|
||||||
\BOOKMARK [1][-]{section.5}{Ein Klassifizierungsnetzwerk f\374r handgeschriebene Ziffern}{}% 31
|
|
||||||
\BOOKMARK [2][-]{subsection.5.1}{Aufgabe}{section.5}% 32
|
|
||||||
\BOOKMARK [2][-]{subsection.5.2}{Der MNIST Datensatz}{section.5}% 33
|
|
||||||
\BOOKMARK [2][-]{subsection.5.3}{Das Netz}{section.5}% 34
|
|
||||||
\BOOKMARK [2][-]{subsection.5.4}{Ergebnis}{section.5}% 35
|
|
||||||
\BOOKMARK [1][-]{section.6}{Schluss}{}% 36
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
<?xml version="1.0" standalone="yes"?>
|
|
||||||
<!-- logreq request file -->
|
|
||||||
<!-- logreq version 1.0 / dtd version 1.0 -->
|
|
||||||
<!-- Do not edit this file! -->
|
|
||||||
<!DOCTYPE requests [
|
|
||||||
<!ELEMENT requests (internal | external)*>
|
|
||||||
<!ELEMENT internal (generic, (provides | requires)*)>
|
|
||||||
<!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)>
|
|
||||||
<!ELEMENT cmdline (binary, (option | infile | outfile)*)>
|
|
||||||
<!ELEMENT input (file)+>
|
|
||||||
<!ELEMENT output (file)+>
|
|
||||||
<!ELEMENT provides (file)+>
|
|
||||||
<!ELEMENT requires (file)+>
|
|
||||||
<!ELEMENT generic (#PCDATA)>
|
|
||||||
<!ELEMENT binary (#PCDATA)>
|
|
||||||
<!ELEMENT option (#PCDATA)>
|
|
||||||
<!ELEMENT infile (#PCDATA)>
|
|
||||||
<!ELEMENT outfile (#PCDATA)>
|
|
||||||
<!ELEMENT file (#PCDATA)>
|
|
||||||
<!ATTLIST requests
|
|
||||||
version CDATA #REQUIRED
|
|
||||||
>
|
|
||||||
<!ATTLIST internal
|
|
||||||
package CDATA #REQUIRED
|
|
||||||
priority (9) #REQUIRED
|
|
||||||
active (0 | 1) #REQUIRED
|
|
||||||
>
|
|
||||||
<!ATTLIST external
|
|
||||||
package CDATA #REQUIRED
|
|
||||||
priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED
|
|
||||||
active (0 | 1) #REQUIRED
|
|
||||||
>
|
|
||||||
<!ATTLIST provides
|
|
||||||
type (static | dynamic | editable) #REQUIRED
|
|
||||||
>
|
|
||||||
<!ATTLIST requires
|
|
||||||
type (static | dynamic | editable) #REQUIRED
|
|
||||||
>
|
|
||||||
<!ATTLIST file
|
|
||||||
type CDATA #IMPLIED
|
|
||||||
>
|
|
||||||
]>
|
|
||||||
<requests version="1.0">
|
|
||||||
<internal package="biblatex" priority="9" active="1">
|
|
||||||
<generic>latex</generic>
|
|
||||||
<provides type="dynamic">
|
|
||||||
<file>Grundlagen_des_maschinellen_lernens.bcf</file>
|
|
||||||
</provides>
|
|
||||||
<requires type="dynamic">
|
|
||||||
<file>Grundlagen_des_maschinellen_lernens.bbl</file>
|
|
||||||
</requires>
|
|
||||||
<requires type="static">
|
|
||||||
<file>blx-dm.def</file>
|
|
||||||
<file>blx-compat.def</file>
|
|
||||||
<file>biblatex.def</file>
|
|
||||||
<file>standard.bbx</file>
|
|
||||||
<file>numeric.bbx</file>
|
|
||||||
<file>numeric.cbx</file>
|
|
||||||
<file>biblatex.cfg</file>
|
|
||||||
<file>german.lbx</file>
|
|
||||||
<file>ngerman.lbx</file>
|
|
||||||
</requires>
|
|
||||||
</internal>
|
|
||||||
<external package="biblatex" priority="5" active="1">
|
|
||||||
<generic>biber</generic>
|
|
||||||
<cmdline>
|
|
||||||
<binary>biber</binary>
|
|
||||||
<infile>Grundlagen_des_maschinellen_lernens</infile>
|
|
||||||
</cmdline>
|
|
||||||
<input>
|
|
||||||
<file>Grundlagen_des_maschinellen_lernens.bcf</file>
|
|
||||||
</input>
|
|
||||||
<output>
|
|
||||||
<file>Grundlagen_des_maschinellen_lernens.bbl</file>
|
|
||||||
</output>
|
|
||||||
<provides type="dynamic">
|
|
||||||
<file>Grundlagen_des_maschinellen_lernens.bbl</file>
|
|
||||||
</provides>
|
|
||||||
<requires type="dynamic">
|
|
||||||
<file>Grundlagen_des_maschinellen_lernens.bcf</file>
|
|
||||||
</requires>
|
|
||||||
</external>
|
|
||||||
</requests>
|
|
||||||
Binary file not shown.
|
|
@ -1,74 +0,0 @@
|
||||||
\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax
|
|
||||||
\babel@toc {ngerman}{}
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {section}{\numberline {1}Was ist maschinelles Lernen?}{3}{section.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {1.1}Klassifizierungsaufgaben}{3}{subsection.1.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {1.2}Regressionsprobleme}{4}{subsection.1.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {1.3}Gefahren von maschinellem Lernen}{5}{subsection.1.3}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsubsection}{\numberline {1.3.1}Datens\IeC {\"a}tze f\IeC {\"u}r maschinelles Lernen}{6}{subsubsection.1.3.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsubsection}{\numberline {1.3.2}Overfitting}{7}{subsubsection.1.3.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {1.4}Adversarial attacks}{7}{subsection.1.4}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {section}{\numberline {2}Verschiedene Techniken maschinellen Lernens}{8}{section.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {2.1}\IeC {\"U}berwachtes Lernen}{8}{subsection.2.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {2.2}Un\IeC {\"u}berwachtes Lernen}{8}{subsection.2.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {2.3}Best\IeC {\"a}rkendes Lernen}{9}{subsection.2.3}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {section}{\numberline {3}Neuronale Netze}{9}{section.3}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {3.1}Maschinelles Lernen und menschliches Lernen}{9}{subsection.3.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {3.2}Der Aufbau eines neuronalen Netzes}{10}{subsection.3.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {3.3}Berechnung des Ausgabevektors}{12}{subsection.3.3}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {3.4}Der Lernprozess}{14}{subsection.3.4}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {3.5}Fehlerfunktionen}{15}{subsection.3.5}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsubsection}{\numberline {3.5.1}MSE -- Durchschnittlicher quadratischer Fehler}{15}{subsubsection.3.5.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsubsection}{\numberline {3.5.2}MAE -- Durchschnittlicher absoluter Fehler}{15}{subsubsection.3.5.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsubsection}{\numberline {3.5.3}Kreuzentropiefehler}{16}{subsubsection.3.5.3}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {3.6}Gradientenverfahren und Backpropagation}{17}{subsection.3.6}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsubsection}{\numberline {3.6.1}Lernrate}{18}{subsubsection.3.6.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {3.7}Verschiedene Layerarten}{19}{subsection.3.7}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsubsection}{\numberline {3.7.1}Convolutional Layers}{19}{subsubsection.3.7.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsubsection}{\numberline {3.7.2}Pooling Layers}{22}{subsubsection.3.7.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {section}{\numberline {4}PyTorch}{24}{section.4}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{25}{subsection.4.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{27}{subsection.4.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{29}{subsection.4.3}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {4.4}Pytorch und weights and biases}{31}{subsection.4.4}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {section}{\numberline {5}Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{31}{section.5}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {5.1}Aufgabe}{31}{subsection.5.1}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{31}{subsection.5.2}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {5.3}Das Netz}{32}{subsection.5.3}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {subsection}{\numberline {5.4}Ergebnis}{33}{subsection.5.4}%
|
|
||||||
\defcounter {refsection}{0}\relax
|
|
||||||
\contentsline {section}{\numberline {6}Schluss}{35}{section.6}%
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{X}\PYG{o}{.}\PYG{n}{view}\PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{1}\PYG{p}{,} \PYG{n}{n} \PYG{o}{*} \PYG{n}{n}\PYG{p}{)}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n+nf+fm}{\PYGZus{}\PYGZus{}iter\PYGZus{}\PYGZus{}}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{nn}\PYG{o}{.}\PYG{n}{Module}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{transforms}\PYG{o}{.}\PYG{n}{ToTensor}\PYG{p}{()}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{train}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{wandb}\PYG{o}{.}\PYG{n}{watch}\PYG{p}{(}\PYG{n}{model}\PYG{p}{)}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{k+kn}{from} \PYG{n+nn}{torchvision} \PYG{k+kn}{import} \PYG{n}{transforms}\PYG{p}{,} \PYG{n}{datasets}
|
|
||||||
|
|
||||||
\PYG{n}{train} \PYG{o}{=} \PYG{n}{datasets}\PYG{o}{.}\PYG{n}{MNIST}\PYG{p}{(}\PYG{l+s+s1}{\PYGZsq{}./datasets\PYGZsq{}}\PYG{p}{,} \PYG{n}{train}\PYG{o}{=}\PYG{n+nb+bp}{True}\PYG{p}{,} \PYG{n}{download}\PYG{o}{=}\PYG{n+nb+bp}{True}\PYG{p}{,}
|
|
||||||
\PYG{n}{transform}\PYG{o}{=}\PYG{n}{transforms}\PYG{o}{.}\PYG{n}{Compose}\PYG{p}{([}
|
|
||||||
\PYG{n}{transforms}\PYG{o}{.}\PYG{n}{ToTensor}\PYG{p}{()}
|
|
||||||
\PYG{p}{]))}
|
|
||||||
|
|
||||||
\PYG{n}{test} \PYG{o}{=} \PYG{n}{datasets}\PYG{o}{.}\PYG{n}{MNIST}\PYG{p}{(}\PYG{l+s+s1}{\PYGZsq{}./datasets\PYGZsq{}}\PYG{p}{,} \PYG{n}{train}\PYG{o}{=}\PYG{n+nb+bp}{False}\PYG{p}{,} \PYG{n}{download}\PYG{o}{=}\PYG{n+nb+bp}{True}\PYG{p}{,}
|
|
||||||
\PYG{n}{transform}\PYG{o}{=}\PYG{n}{transforms}\PYG{o}{.}\PYG{n}{Compose}\PYG{p}{([}
|
|
||||||
\PYG{n}{transforms}\PYG{o}{.}\PYG{n}{ToTensor}\PYG{p}{()}
|
|
||||||
\PYG{p}{]))}
|
|
||||||
|
|
||||||
\PYG{n}{trainset} \PYG{o}{=} \PYG{n}{torch}\PYG{o}{.}\PYG{n}{utils}\PYG{o}{.}\PYG{n}{data}\PYG{o}{.}\PYG{n}{DataLoader}\PYG{p}{(}\PYG{n}{train}\PYG{p}{,} \PYG{n}{batch\PYGZus{}size}\PYG{o}{=}\PYG{l+m+mi}{200}\PYG{p}{,} \PYG{n}{shuffle}\PYG{o}{=}\PYG{n+nb+bp}{True}\PYG{p}{)}
|
|
||||||
\PYG{n}{testset} \PYG{o}{=} \PYG{n}{torch}\PYG{o}{.}\PYG{n}{utils}\PYG{o}{.}\PYG{n}{data}\PYG{o}{.}\PYG{n}{DataLoader}\PYG{p}{(}\PYG{n}{test}\PYG{p}{,} \PYG{n}{batch\PYGZus{}size}\PYG{o}{=}\PYG{l+m+mi}{10}\PYG{p}{,} \PYG{n}{shuffle}\PYG{o}{=}\PYG{n+nb+bp}{False}\PYG{p}{)}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{model}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{x} \PYG{o}{=} \PYG{n}{x} \PYG{o}{*} \PYG{l+m+mi}{2}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{F}\PYG{o}{.}\PYG{n}{log\PYGZus{}softmax}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{output} \PYG{o}{=} \PYG{n}{net}\PYG{p}{(}\PYG{n+nb}{input}\PYG{p}{)}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{loss}\PYG{o}{.}\PYG{n}{backward}\PYG{p}{()}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{fc1}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{o}{./}\PYG{n}{datasets}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{transforms}\PYG{o}{.}\PYG{n}{Compose}\PYG{p}{()}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{fc0}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{forward}\PYG{p}{(}\PYG{n+nb+bp}{self}\PYG{p}{,} \PYG{n}{x}\PYG{p}{)}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
\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}{fc1} \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}{fc2} \PYG{o}{=} \PYG{n}{nn}\PYG{o}{.}\PYG{n}{Linear}\PYG{p}{(}\PYG{l+m+mi}{64}\PYG{p}{,} \PYG{l+m+mi}{1260}\PYG{p}{)}
|
|
||||||
\PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc3} \PYG{o}{=} \PYG{n}{nn}\PYG{o}{.}\PYG{n}{Linear}\PYG{p}{(}\PYG{l+m+mi}{120}\PYG{p}{,} \PYG{l+m+mi}{120}\PYG{p}{)}
|
|
||||||
\PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc4} \PYG{o}{=} \PYG{n}{nn}\PYG{o}{.}\PYG{n}{Linear}\PYG{p}{(}\PYG{l+m+mi}{120}\PYG{p}{,} \PYG{l+m+mi}{64}\PYG{p}{)}
|
|
||||||
\PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc5} \PYG{o}{=} \PYG{n}{nn}\PYG{o}{.}\PYG{n}{Linear}\PYG{p}{(}\PYG{l+m+mi}{64}\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}{fc1}\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}{fc2}\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}{fc3}\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}{fc4}\PYG{p}{(}\PYG{n}{x}\PYG{p}{))}
|
|
||||||
\PYG{n}{x} \PYG{o}{=} \PYG{n+nb+bp}{self}\PYG{o}{.}\PYG{n}{fc5}\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}{,} \PYG{n}{dim}\PYG{o}{=}\PYG{l+m+mi}{1}\PYG{p}{)}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{net} \PYG{o}{=} \PYG{n}{Net}\PYG{p}{()}
|
|
||||||
|
|
||||||
\PYG{n}{device} \PYG{o}{=} \PYG{n}{torch}\PYG{o}{.}\PYG{n}{device}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}cuda:0\PYGZdq{}} \PYG{k}{if} \PYG{n}{torch}\PYG{o}{.}\PYG{n}{cuda}\PYG{o}{.}\PYG{n}{is\PYGZus{}available}\PYG{p}{()} \PYG{k}{else} \PYG{l+s+s2}{\PYGZdq{}cpu\PYGZdq{}}\PYG{p}{)}
|
|
||||||
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s1}{\PYGZsq{}runnning on }\PYG{l+s+si}{\PYGZpc{}s}\PYG{l+s+s1}{\PYGZsq{}} \PYG{o}{\PYGZpc{}} \PYG{n}{device}\PYG{p}{)}
|
|
||||||
\PYG{n}{net} \PYG{o}{=} \PYG{n}{net}\PYG{o}{.}\PYG{n}{to}\PYG{p}{(}\PYG{n}{device}\PYG{p}{)}
|
|
||||||
|
|
||||||
\PYG{n}{loss\PYGZus{}function} \PYG{o}{=} \PYG{n}{nn}\PYG{o}{.}\PYG{n}{CrossEntropyLoss}\PYG{p}{()}
|
|
||||||
\PYG{n}{optimizer} \PYG{o}{=} \PYG{n}{optim}\PYG{o}{.}\PYG{n}{Adam}\PYG{p}{(}\PYG{n}{net}\PYG{o}{.}\PYG{n}{parameters}\PYG{p}{(),} \PYG{n}{lr}\PYG{o}{=}\PYG{n}{LEARNING\PYGZus{}RATE}\PYG{p}{)}
|
|
||||||
|
|
||||||
\PYG{k}{for} \PYG{n}{epoch} \PYG{o+ow}{in} \PYG{n+nb}{range}\PYG{p}{(}\PYG{n}{EPOCHS}\PYG{p}{):}
|
|
||||||
\PYG{k}{for} \PYG{n}{data} \PYG{o+ow}{in} \PYG{n}{trainset}\PYG{p}{:}
|
|
||||||
\PYG{n}{X}\PYG{p}{,} \PYG{n}{y} \PYG{o}{=} \PYG{n}{data}
|
|
||||||
\PYG{n}{net}\PYG{o}{.}\PYG{n}{zero\PYGZus{}grad}\PYG{p}{()}
|
|
||||||
\PYG{n}{X} \PYG{o}{=} \PYG{n}{X}\PYG{o}{.}\PYG{n}{to}\PYG{p}{(}\PYG{n}{device}\PYG{p}{)}
|
|
||||||
\PYG{n}{output} \PYG{o}{=} \PYG{n}{net}\PYG{p}{(}\PYG{n}{X}\PYG{o}{.}\PYG{n}{view}\PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{1}\PYG{p}{,} \PYG{n}{n} \PYG{o}{*} \PYG{n}{n}\PYG{p}{))}
|
|
||||||
\PYG{n}{output} \PYG{o}{=} \PYG{n}{output}\PYG{o}{.}\PYG{n}{cpu}\PYG{p}{()}
|
|
||||||
\PYG{n}{loss} \PYG{o}{=} \PYG{n}{loss\PYGZus{}function}\PYG{p}{(}\PYG{n}{output}\PYG{p}{,} \PYG{n}{y}\PYG{p}{)}
|
|
||||||
\PYG{n}{loss}\PYG{o}{.}\PYG{n}{backward}\PYG{p}{()}
|
|
||||||
\PYG{n}{optimizer}\PYG{o}{.}\PYG{n}{step}\PYG{p}{()}
|
|
||||||
|
|
||||||
\PYG{n}{net} \PYG{o}{=} \PYG{n}{net}\PYG{o}{.}\PYG{n}{cpu}\PYG{p}{()}
|
|
||||||
\PYG{n}{torch}\PYG{o}{.}\PYG{n}{save}\PYG{p}{(}\PYG{n}{net}\PYG{p}{,} \PYG{l+s+s1}{\PYGZsq{}./nets/net\PYGZus{}\PYGZsq{}} \PYG{o}{+} \PYG{n+nb}{str}\PYG{p}{(}\PYG{n}{epoch}\PYG{p}{)} \PYG{o}{+} \PYG{l+s+s2}{\PYGZdq{}.pt\PYGZdq{}}\PYG{p}{)}
|
|
||||||
\PYG{n}{net} \PYG{o}{=} \PYG{n}{net}\PYG{o}{.}\PYG{n}{to}\PYG{p}{(}\PYG{n}{device}\PYG{p}{)}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{shuffle}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{download}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{forward}\PYG{p}{()}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{datasets}\PYG{o}{.}\PYG{n}{MNIST}\PYG{p}{()}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{wandb}\PYG{o}{.}\PYG{n}{log}\PYG{p}{(\PYGZob{}}\PYG{l+s+s1}{\PYGZsq{}loss\PYGZsq{}}\PYG{p}{:} \PYG{n}{loss}\PYG{p}{\PYGZcb{})}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{fc2}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
\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}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{transform}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{wandb}\PYG{o}{.}\PYG{n}{init}\PYG{p}{(}\PYG{n}{project}\PYG{o}{=}\PYG{l+s+s1}{\PYGZsq{}Beispielprojekt\PYGZsq{}}\PYG{p}{)}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{batch\PYGZus{}size}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
|
||||||
\PYG{n}{transforms}\PYG{o}{.}\PYG{n}{Compose}\PYG{p}{([}\PYG{n}{transforms}\PYG{o}{.}\PYG{n}{ToTensor}\PYG{p}{()])}
|
|
||||||
\end{Verbatim}
|
|
||||||
|
|
@ -1,101 +0,0 @@
|
||||||
|
|
||||||
\makeatletter
|
|
||||||
\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
|
|
||||||
\let\PYG@ul=\relax \let\PYG@tc=\relax%
|
|
||||||
\let\PYG@bc=\relax \let\PYG@ff=\relax}
|
|
||||||
\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
|
|
||||||
\def\PYG@toks#1+{\ifx\relax#1\empty\else%
|
|
||||||
\PYG@tok{#1}\expandafter\PYG@toks\fi}
|
|
||||||
\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
|
|
||||||
\PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
|
|
||||||
\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
|
|
||||||
|
|
||||||
\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@c\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@kp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@kt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@nf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@ne\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@no\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@nl\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@nt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@nd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@sd\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@si\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@m\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
|
|
||||||
\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
|
|
||||||
\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@fm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@vg\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@vm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@sa\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@dl\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@mb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@mf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@mh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@mi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@il\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@mo\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@ch\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@cm\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@cpf\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@c1\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYG@tok@cs\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
|
|
||||||
\def\PYGZbs{\char`\\}
|
|
||||||
\def\PYGZus{\char`\_}
|
|
||||||
\def\PYGZob{\char`\{}
|
|
||||||
\def\PYGZcb{\char`\}}
|
|
||||||
\def\PYGZca{\char`\^}
|
|
||||||
\def\PYGZam{\char`\&}
|
|
||||||
\def\PYGZlt{\char`\<}
|
|
||||||
\def\PYGZgt{\char`\>}
|
|
||||||
\def\PYGZsh{\char`\#}
|
|
||||||
\def\PYGZpc{\char`\%}
|
|
||||||
\def\PYGZdl{\char`\$}
|
|
||||||
\def\PYGZhy{\char`\-}
|
|
||||||
\def\PYGZsq{\char`\'}
|
|
||||||
\def\PYGZdq{\char`\"}
|
|
||||||
\def\PYGZti{\char`\~}
|
|
||||||
% for compatibility with earlier versions
|
|
||||||
\def\PYGZat{@}
|
|
||||||
\def\PYGZlb{[}
|
|
||||||
\def\PYGZrb{]}
|
|
||||||
\makeatother
|
|
||||||
|
|
||||||
|
|
@ -1,101 +0,0 @@
|
||||||
|
|
||||||
\makeatletter
|
|
||||||
\def\PYGdefault@reset{\let\PYGdefault@it=\relax \let\PYGdefault@bf=\relax%
|
|
||||||
\let\PYGdefault@ul=\relax \let\PYGdefault@tc=\relax%
|
|
||||||
\let\PYGdefault@bc=\relax \let\PYGdefault@ff=\relax}
|
|
||||||
\def\PYGdefault@tok#1{\csname PYGdefault@tok@#1\endcsname}
|
|
||||||
\def\PYGdefault@toks#1+{\ifx\relax#1\empty\else%
|
|
||||||
\PYGdefault@tok{#1}\expandafter\PYGdefault@toks\fi}
|
|
||||||
\def\PYGdefault@do#1{\PYGdefault@bc{\PYGdefault@tc{\PYGdefault@ul{%
|
|
||||||
\PYGdefault@it{\PYGdefault@bf{\PYGdefault@ff{#1}}}}}}}
|
|
||||||
\def\PYGdefault#1#2{\PYGdefault@reset\PYGdefault@toks#1+\relax+\PYGdefault@do{#2}}
|
|
||||||
|
|
||||||
\expandafter\def\csname PYGdefault@tok@w\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@c\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@cp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@k\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@kp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@kt\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@o\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@ow\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@nb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@nf\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@nc\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@nn\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@ne\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@nv\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@no\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@nl\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@ni\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@na\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@nt\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@nd\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@s\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@sd\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@si\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@se\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@sr\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@ss\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@sx\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@m\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@gh\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@gu\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@gd\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@gi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@gr\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@ge\endcsname{\let\PYGdefault@it=\textit}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@gs\endcsname{\let\PYGdefault@bf=\textbf}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@gp\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@go\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@gt\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@err\endcsname{\def\PYGdefault@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@kc\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@kd\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@kn\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@kr\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@bp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@fm\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@vc\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@vg\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@vi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@vm\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@sa\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@sb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@sc\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@dl\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@s2\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@sh\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@s1\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@mb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@mf\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@mh\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@mi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@il\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@mo\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@ch\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@cm\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@cpf\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@c1\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
\expandafter\def\csname PYGdefault@tok@cs\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
|
||||||
|
|
||||||
\def\PYGdefaultZbs{\char`\\}
|
|
||||||
\def\PYGdefaultZus{\char`\_}
|
|
||||||
\def\PYGdefaultZob{\char`\{}
|
|
||||||
\def\PYGdefaultZcb{\char`\}}
|
|
||||||
\def\PYGdefaultZca{\char`\^}
|
|
||||||
\def\PYGdefaultZam{\char`\&}
|
|
||||||
\def\PYGdefaultZlt{\char`\<}
|
|
||||||
\def\PYGdefaultZgt{\char`\>}
|
|
||||||
\def\PYGdefaultZsh{\char`\#}
|
|
||||||
\def\PYGdefaultZpc{\char`\%}
|
|
||||||
\def\PYGdefaultZdl{\char`\$}
|
|
||||||
\def\PYGdefaultZhy{\char`\-}
|
|
||||||
\def\PYGdefaultZsq{\char`\'}
|
|
||||||
\def\PYGdefaultZdq{\char`\"}
|
|
||||||
\def\PYGdefaultZti{\char`\~}
|
|
||||||
% for compatibility with earlier versions
|
|
||||||
\def\PYGdefaultZat{@}
|
|
||||||
\def\PYGdefaultZlb{[}
|
|
||||||
\def\PYGdefaultZrb{]}
|
|
||||||
\makeatother
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue