Zum Inhalt

Machine Learning

Maschinelles Lernen ist omnipresent und in aller Munde. Wer mit Daten zu tun hat, kommt nicht mehr um dieses Konzept herum.

TensorFlow

Ein beliebtes und weitverbreitetes Framework im Bereich Maschinelles Lernen ist TensorFlow. Über Python-Programme wird in der Regel das Lernen realisiert. Es gibt mittlerweile auch eine Javascript basierte Version: nämlich TensorFlow.js. Damit kann man Maschinelles Lernen direkt im Browser ausführen lassen.


CUDA Installation

Damit man die Grafikkarte in seinem Rechner für ML verwenden möchte, so müssen einige Voraussetzungen gegeben sein.

Zunächst braucht man eine GPU von NVIDIA, die CUDA unterstützt. Des Weiteren sind einige Programme notwendig. Beispielsweise findet man in der NVIDIA Dokumentation eine Anleitung.

Nach der Installation der notwendigen Komponenten, kann man in der Konsole testen, ob die Installation korrekt verlief.

Im Verzeichnis der mitgelieferten Beispiele kann man sich die Solution deviceQuery in Visual Studio erstellen und anschließend in der Konsole ausführen lassen. Wichtig hierbei ist, dass Result = PASS ausgegeben wird.

p1_


Zudem kann man analog zum obigen Vorgehen das Projekt bandwidthTest aufrufen lassen, um die Bandbreite der GPU ausgeben zu lassen.

p2_


Zu guter Letzt kann man noch die Solution particles ausführen lassen.

p3_

Im Task Manager kann man die Auslastung der GPU sehen.

p4_

Auch der MSI Afterburner zeigt die Tätigkeit der Grafikkarte bei Ausführung der Partikel-Anwendung.

p5_

p6_


GPU für ML mit TensorFlow unter Windows

Für Windows ist es vergleichsweise schwierig, eine Entwicklungsumgebung zu kreieren, in der man mit TensorFlow auf die GPU zurückgreifen kann.

Eine gute und vor allem prägnante Anleitung für die TensorFlow Installation gibt thehardwareguy.

Hierfür wird ein eigenes Kernel für ein Jupyter Notebook definiert. Die obige Anleitung beschreibt die einzelnen Schritte für das Aufsetzen. Nun kann man geschriebenen Python-Code ausführen:

p10

p11

p12


Im MSI Afterburner kann man die Aktivität während der Ausführung des Skriptes beobachten.

p9


Beispiele

Vorhersage anhand von stetigen Merkmalen

Dieses Beispiel orientiert sich am folgenden Codelab und demonstriert wie ein Modell trainiert werden kann, um für numerische Daten Vorhersagen zu machen:

Google-Codelab1

Hinweis

Die verlinkte Demo1 zeigt das beschriebene Beispiel. Nach etwa 30 Sekunden sind die Visualisierung fertig gestellt.

Zunächst sollte man die Daten visualisieren, um zu sehen, ob ein Zusammenhang zwischen den Merkmalen bestehen könnte.

p1

Beim Trainieren dieses Modells sollte der loss und mse Wert geringer werden.

p2

Über eine lineare Regression wird das Modell trainiert, welche die vorhergesagten Werte im Diagramm ausgibt.

p3

In diesem Beispiel wird ausgehend vom Merkmal "Pferdestärke" das Merkmal "Hubraum" eines Fahrzeuges vorhergesagt. Weist ein Auto z.B. eine Pferdestärke von 150 auf, so wird ein Hubraum von etwa 298 prognostiziert.


Erkennen von handgeschriebenen Ziffern mit CNNs

Ein gutes Google-Codelab2 demonstriert, wie maschinelles Lernen mit einem Convolutional Neural Network (CNN) handgeschriebene Zahlen erkennen und zuordnen kann.

Hinweis

Die verlinkte Demo2 zeigt das beschriebene Beispiel. Nach etwa 60 Sekunden sind die Visualisierung fertig gestellt.

Das Beispiel zeigt, dass CNNs gut geeignet sind, Aufgaben mit Bildern zu realisieren. Wichtig hierbei ist immer das Modell zu evaluieren, nachdem es trainiert wurde, um die Akkuratheit einschätzen zu können.


p4

p5

p6

p7

p8