Paul Dubs Selbstständig

„Dieser Artikel hat anhand eines Beispiels gezeigt, wie man mit den Bibliotheken der Deeplearning4J-Familie von Daten zu Training und Verwendung des Modells übergeht.“

Dieser Artikel zeigt, wie man in kürzester Zeit den Einstieg in Deeplearning4j (DL4J) schafft. Anhand eines Beispiels, in dem vorhergesagt werden soll, ob ein Kunde seine Bank verlassen wird, wird jeder Schritt eines typischen Arbeitsablaufs betrachtet.

Deep Learning, d. h. die Verwendung von tiefen, mehrschichtigen neuronalen Netzen, ist der große Treiber des aktuellen Booms rund um Machine Learning. Von großen Sprüngen in der Qualität automatischer Übersetzungen über autonomes Fahren bis hin zum Schlagen von Großmeistern in dem Spiel Go macht diese Technik vielfach Schlagzeilen.

Deeplearning4j, auch DL4J genannt, ist eine Java-Bibliothek für Deep Learning. Zu ihr gehört zudem eine ganze Familie von weiteren Bibliotheken, die die Verwendung von Deep-Learning-Modellen mit Java vereinfachen. Als eine Alternative zu den vielen Pythonbasierten Frameworks bietet DL4J einen Weg, wie Deep Learning auch in Enterprise-Umgebungen einfach in den Produktivbetrieb gebracht werden kann. Der vollständige Code des Artikels, inklusive Trainingsdaten, befindet sich auf GitHub.

Einbindung ins Projekt

DL4J kann wie viele andere Java-Bibliotheken einfach als eine weitere Abhängigkeit in das Build-Tool der Wahl aufgenommen werden. In diesem Artikel werden die dafür notwendigen Angaben im Maven-Format gemacht, also so, wie sie in der pom.xml-Datei stehen würden. Natürlich kann man auch ein anderes Build-Tool wie Gradle oder SBT verwenden.

Eine Verwendung ohne Build-Tools ist für DL4J jedoch nicht vorgesehen, da es selbst auch eine Vielzahl von direkten und transitiven Abhängigkeiten hat. Deswegen gibt es auch keine einzelne .jar-Datei, die man manuell als Abhängigkeit in seiner IDE angeben könnte.

DL4J und die dazugehörigen Bibliotheken sind modular aufgebaut, sodass man seine Abhängigkeiten den Bedürfnissen des Projekts anpassen kann. Gerade für Einsteiger kann das jedoch die Verwendung verkomplizieren, da es nicht zwangsläufig offensichtlich ist, welches Untermodul benötigt wird, um eine bestimmte Klasse verfügbar zu machen.

Die verwendeten Versionen aller DL4J-Module sollten immer gleich sein. Um das zu vereinfachen, definieren wir eine Property, die wir im Folgenden immer verwenden werden, um die Versionsangabe zu machen. DL4J ist im Moment kurz vor seinem 1.0-Release und in diesem Artikel verwenden wir Version 1.0.0-beta2, die erst vor Kurzem erschienen ist.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin Spezial Vol.17: Machine Learning - "Machine Learning"

Alle Infos zum Heft
579858877Schnelleinstieg in Deeplearning4j
X
- Gib Deinen Standort ein -
- or -