© Rawpixel.com/Shutterstock.com
Training von TensorFlow-Modellen mit JVM-Sprachen

Deep Learning: nicht nur in Python


Zwar gibt es mit Frameworks wie DL4J mächtige und umfangreiche Machine-Learning-Lösungen für die JVM, dennoch kann es in der Praxis vorkommen, dass der Einsatz von TensorFlow notwendig wird. Das kann beispielsweise der Fall sein, wenn es einen bestimmten Algorithmus nur in einer TensorFlow-Implementierung gibt und der Portierungsaufwand in ein anderes Framework zu hoch ist. Zwar interagiert man mit TensorFlow über ein Python API, die zugrunde liegende Engine jedoch ist in C++ geschrieben. Mit Hilfe der TensorFlow-Java-Wrapper-Bibliothek kann man deshalb sowohl Training als auch Inferenz von TensorFlow-Modellen aus der JVM heraus betreiben, ohne auf Python angewiesen zu sein. So können bestehende Schnittstellen, Datenquellen und Infrastruktur mit TensorFlow integriert werden, ohne die JVM zu verlassen.

KI und Deep Learning sind immer noch in aller Munde und trotz einiger erster Rückschläge, beispielsweise im Bereich selbstfahrender Autos, ist das Potenzial von Deep Learning noch lange nicht ausgeschöpft. Auch gibt es noch viele Bereiche der IT, in denen das Thema gerade erst richtig Fahrt aufnimmt. Daher ist es besonders wichtig, zu schauen, wie man Deep-Learning-Systeme auf der JVM realisieren kann, denn Java (sowohl die Sprache als auch die Plattform) sind immer noch dominierende Technologien im Enterprise-Bereich.

TensorFlow ist eins der wichtigsten Frameworks im Deep-Learning-Bereich und trotz der steigenden Popularität von Keras noch immer nicht wegzudenken, insbesondere da KI-Platzhirsch Google die Entwicklung weiter vorantreibt. In diesem Artikel wird gezeigt, wie TensorFlow aus einer JVM heraus sowohl für das Training von TensorFlow-Modellen als auch für die Inferenz genutzt werden kann.

Wofür ist die Kombination aus TensorFlow und JVM geeignet?

Möchte man auf der JVM Deep Learning betreiben, ist normalerweise DL4J das Mittel der Wahl, da es als einziges professionelles Deep Learning Framework wirklich auf der JVM zu Hause ist. TensorFlow wird hauptsächlich – wie viele Machine Learning Frameworks – mit Python genutzt. Es gibt jedoch Gründe, TensorFlow aus einem JVM-Kontext heraus zu nutzen:

  • Man möchte ein Verfahren nutzen, für das es bei TensorFlow, nicht aber bei DL4J eine Implementierung gibt, und für das der Portierungsaufwand zu hoch ist.

  • Man arbeitet mit einem Data-Science-Team, das gewohnt ist, mit TensorFlow und Python zu arbeiten, aber die Zielinfrastruktur läuft auf der JVM.

  • Die für das Training notwendigen Daten liegen in einer Java-In...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang