Mit der zur Zeit populärsten Programmiersprache der Welt (Python) ist auch der Einstieg in die Künstliche Intelligenz (KI) möglich: Z.B. mit dem Framework TensorFlow, welches eine Open Source Software-Bibliothek für numerische Berechnungen darstellt. Die Anwendungsschnittstelle (API) von TensorFlow ist für Python bestimmt, es gibt aber auch eine ansprechbare darunterliegende C++ API. Warum Python so populär ist, wie damit der Einstieg in die KI gelingt und wo die Stärken von TensorFlow im Vergleich zu anderen ähnlichen Werkzeugen liegen:

Python ist momentan die beliebteste Programmiersprache

Es ist zwar abhängig vom Index bzw. von der Art, wie die Beliebtheit einer Programmiersprache bestimmt wird – doch auf Basis des PYPL und des TIOBE Index lässt sich ohne große Unsicherheit der Schluss ziehen, dass Python die beliebteste Programmiersprache ist. Im PYPL liegt sie mit ca. 30 % (Stand Mai 2021) mit Abstand auf dem ersten Platz, gefolgt von Java mit etwas über 17%. Im TIOBE Index liegt sie ganz knapp hinter C auf dem zweiten Platz, ist dort aber auch erst seit kurzer Zeit – zuvor war Python auch hier auf Platz 1. Schaut man sich den TIOBE Programming Community Index grafisch über die Zeit an, fällt auf, dass Python etwa seit 2018 genauso wie C einen Boom erlebt hat, der bis heute anhält, bei C jedoch scheinbar wieder nach unten geht. Warum ist das so?

Daten sind das Gold des 21. Jahrhunderts

Schon ein kleines Unternehmen generiert erstaunlich viele Daten – das gilt erst recht für mittlere oder gar große Unternehmen. Aus diesen Daten lässt sich mit entsprechender Aufbereitung und Darstellung Wissen für die Zukunft ableiten, auf dessen Basis dann Entscheidungen gefällt werden können. Meist dienen dazu sogenannte Kennzahlen (KPIs) oder andere Metriken sowie Diagramme, die z.B. den Umsatz je Geschäftsbereich anzeigen. Mehr und mehr rückt auch die KI in den Vordergrund, wobei es zunächst einmal um Statistik und Machine Learning (ML) geht: Neuronale Netze, die z.B. auf ein bestimmtes Set von Katzenbildern trainiert werden, um ähnliche Bilder mit Katzen korrekt zu identifizieren.

Python ist eine universelle Programmiersprache

Sämtliche dieser Bereiche, von einfachen Anwendungen über Bildverarbeitung bis hin zu KI, können über die Programmiersprache Python abgedeckt werden. Python ist also eine sehr universelle Programmiersprache. Daher ist es auch nicht verwunderlich, wenn es immer mehr Programmierer Kurse für Python und zusätzliche Bibliotheken gibt, allem voran z.B. welche für eine vereinfachte Datenauswertung wie numpy, matplotlib oder pandas.

TensorFlow

Die TensorFlow Bibliothek wurde für den internen Bedarf bei Google entwickelt und 2015 unter die Apache 2.0 Open Source Lizenz gestellt bzw. veröffentlicht. TensorFlow ist aktuell in der Version 2.4.1 (Stand Januar 2021) verfügbar und wird z.B. bei Google selbst in der Spracherkennung, der Google Suche, bei Gmail und Google Fotos aber auch bei Google Maps verwendet: Der Kartendienst Google Maps wird z.B. durch ein mittels TensorFlow realisierten neuronalen Netzes verbessert, welches Straßenschilder erkennt und identifiziert.

TensorFlow wurde in Python geschrieben und ist daher sowohl in Python als auch C++ implementiert. Daneben werden auch noch die Sprachen C, Go, Java und JavaScript sowie Swift unterstützt. Über Drittanbieter werden außerdem Bibliotheken für die Sprachen C#, Julia, Haskell, R, Scala, Rust, Crystal und OCaml zur Verfügung gestellt. Wer daher mit einer Weiterbildung in TensorFlow starten möchte, ist hinsichtlich der Programmiersprachen deutlich weniger eingeschränkt als mit anderen Bibliotheken im Bereich des Maschinellen Lernens.

TensorFlow installieren unter Python 3.3 und höher

Wer TensorFlow unter Python nutzen möchte, braucht mindestens Python 2.7. oder die Version 3.3 und höher. Am einfachsten lässt sich TensorFlow über pip installieren. Es gibt aber auch über virtualenv bzw. venv und Docker die Möglichkeit der Installation – der zu bevorzugende Weg, wenn mehrere Umgebungen getrennt werden sollen. Um mit TensorFlow die Grafikkarte zur Berechnung zu nutzen ist zudem das Cuda Toolkit und der Betrieb auf Linux erforderlich.

TensorFlow beschreibt eine Berechnung anhand eines Datenstroms (engl. „flow“, daher der Name) bzw. eines richtungsbehafteten Graphen. Dieser hat Nodes bzw. Knoten und Edges bzw. Kanten. Die Knoten führen eine Berechnung aus und haben 0 oder mehr In- und Outputs. Daten werden zwischen den Knoten über Tensoren bzw. multidimensionale Arrays reeller Werte übertragen. Spätestens damit ist auch der Name TensorFlow nachvollziehbar. Kanten wiederum beschreiben den Weg dieser Daten, sie führen von In- zu Output und können dabei z.B. verzweigen oder zum selben Knoten zurückführen. Sie können auch synchronisiert werden, sodass auf mehrere Berechnungen bzw. mehrere Inputs gewartet wird. Eine Operation wiederum ist eine Berechnung, welche auf Basis von Inputs die Outputs generiert – also z.B. das Zusammenzählen aller Werte der Inputs zu einem Wert für den Output. TensorFlow selbst bietet eine hervorragende Starthilfe für Anfänger.

Alternativen zu TensorFlow

Neben TensorFlow gibt es noch einige weitere Frameworks und Bibliotheken für ML, die im Folgenden aufgelistet sind:

  • MLpack
  • Darknet
  • CatBoost
  • Cloud AutoML
  • Scikit Learn
  • Infer.NET
  • Keras
  • Torch
  • Training Mule
  • Theano
  • Apache Spark MLlib

MLpack ist in C++ geschrieben und vor allem deshalb beliebt, weil es wie TensorFlow einen sehr einfachen Einstieg bietet. Es ist zudem sehr performant. Darknet wiederum nutzt C und CUDA und nutzt daher nativ auch die GPU. CatBoost wird von Yandex Forschern entwickelt und basiert auf einer Bibliothek für Entscheidungsbäume bzw. dem MatrixNet Algorithmus. Besonders erwähnenswert sind darüber hinaus Theano, eine Bibliothek, deren Syntax sich stark an numpy anlehnt und daher ideal für alle ist, die mit numpy unter Python bereits Erfahrung haben. Auch die anderen Tools haben je ihre Vor- und Nachteile, die es letztlich jedoch individuell abzuwägen gilt.

Für Anfänger: Erstmal Python installieren und verstehen

Machine Learning ist gerade einmal wieder im Aufwind (richtig, neuronale Netze gibt es nicht erst seit gestern) und viele möchten auf diesen Trend aufspringen – schließlich stehen einem damit auch attraktive Karrieremöglichkeiten offen. Wer mit Python jedoch noch keine Erfahrung hat, sollte klein anfangen und sich in Python einarbeiten. Das fängt bereits mit der Installation der beliebten Programmiersprache an, die dann im Rahmen einer Weiterbildung oder auch im Selbststudium erlernt werden kann.

Share.

Ich bin Vangelis, der Inhaber und Administrator von windowspower.de Ich bin begeisterter Windows-Fan und habe die letzten Jahre zusammen mit meinem Team windowspower.de aufgebaut. Stetig arbeiten wir daran Lösungsvorschläge für alle möglichen Windows-Probleme zu bieten. Ich freue mich sehr, wenn Euch unsere Tipps und Tricks auf windowspower.de helfen.