Maschinelles Lernen: Frameworks und Bibliotheken für Python

Immer mehr ML-Frameworks buhlen um die Gunst der Entwickler. Dieser Artikel gibt einen Überblick, welches Framework sich für welchen Zweck eignet.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 20 Min.
Von
  • Kay Glahn
Inhaltsverzeichnis

Mit dem Boom des maschinellen Lernens in den letzten Jahren hat sich die Landschaft der ML-Frameworks verändert. Während Frameworks wie Theano oder Microsofts CNTK an Bedeutung verloren haben, hat sich Googles TensorFlow zu einem Quasistandard in der Industrie gemausert und PyTorch findet in der Forschung immer mehr Freunde. Daneben gibt es spezielle Python-Bibliotheken für mathematische Operationen, für das Bearbeiten von Trainingsdaten sowie zur grafischen Darstellung der Ergebnisse. Andere Libraries erleichtern als Abstraktionsschicht den Umgang mit den eigentlichen Frameworks, stellen Interoperabilität zwischen den Modellen her oder sind auf das verteilte Trainieren von ML-Modellen spezialisiert.

Eines der zurzeit wichtigsten ML-Frameworks ist TensorFlow, ein vom Google-Brain-Team für den internen Bedarf entwickeltes Werkzeug zur datenstromorientierten Programmierung. Der Name TensorFlow stammt von Rechenoperationen, die auf mehrdimensionalen Vektoren, sogenannten Tensoren, ausgeführt werden. TensorFlow war mit dem ersten Release im Jahr 2015 und mit der Bereitstellung als Open Source im Jahr 2017 ein Nachzügler, da sich zuvor bereits eine ganze Reihe anderer ML-Frameworks am Markt etabliert hatte.

Mehr zum Thema Machine Learning

Da für die graphbasierte Programmierung von ML-Modellen extensive, vor allem mathematische Vorkenntnisse erforderlich sind, machte sich der Google-Mitarbeiter François Chollet daran, einen Abstraktionslayer namens Keras zu entwickeln, der eine intuitivere High-Level-Schnittstelle für das ML mit Frameworks wie TensorFlow, Microsoft Cognitive Toolkit, Theano und PlaidML als Backend bereitstellen sollte.