| TensorFlow | |
|---|---|
| Basisdaten | |
| Entwickler | Google Brain Team |
| Erscheinungsjahr | 2015 |
| Aktuelle Version | 2.20.0[1] (13. August 2025) |
| Aktuelle Vorabversion | 1.0.0-alpha[2] |
| Betriebssystem | Microsoft Windows, Linux, macOS, iOS, Android |
| Programmiersprache | C++[3][4][5], Python[3] |
| Kategorie | Open-SourceProgrammbibliothek fürkünstliche Intelligenz |
| Lizenz | Apache-Lizenz, Version 2.0[6] |
| www.tensorflow.org | |
TensorFlow ist einFramework zurdatenstromorientierten Programmierung. Populäre Anwendung findet TensorFlow im Bereich desmaschinellen Lernens. Der Name TensorFlow stammt von Rechenoperationen, welche vonkünstlichen neuronalen Netzen auf mehrdimensionalenDatenfeldern, sog.Tensoren, ausgeführt werden.
TensorFlow wurde ursprünglich vomGoogle-Brain-Team für den Google-internen Bedarf entwickelt und 2015 unter der Apache-2.0-Open-Source-Lizenz veröffentlicht.[7][8]
In der Forschung und imProduktivbetrieb wird TensorFlow derzeit in kommerziellenGoogle-Produkten wie derSpracherkennung,Gmail,Google Fotos undGoogle-Suche verwendet[9]. So wird der KartendienstMaps durch Analyse der vonStreet View aufgenommenen Fotos von Straßenschildern verbessert, die mit Hilfe eines auf TensorFlow basierendenneuronalen Netzes analysiert werden.[10] Viele dieser Produkte nutzten früher die Vorgängersoftware DistBelief.
In TensorFlow werden mathematische Operationen in Form einesGraphen dargestellt. Der Graph repräsentiert hierbei den sequenziellen Ablauf aller von TensorFlow durchzuführenden Operationen. Das folgende Beispiel soll die grundlegende Funktionsweise unter Verwendung vonPython darstellen:
Zunächst wird die TensorFlow-Bibliothek geladen.
# TensorFlow ladenimporttensorflowastf
Anschließend wird dieSession definiert, unter der TensorFlow die Evaluierung der mathematischen Operationen vornimmt.
# TensorFlow Session definierensess=tf.Session()
Zwei Konstanten, x und y werden definiert, die miteinander multipliziert werden.
# Zwei Konstanten im "8-bit signed integer"-Formatx=tf.constant(3,dtype=tf.int8)y=tf.constant(2,dtype=tf.int8)# Eine Multiplikationz=tf.multiply(x,y)
Zur Bestimmung des Ergebnisses wird der Graph an der Stelle z ausgeführt.
# Ausführungsess.run(z)6
VonGoogle wurdenTensor Processing Units, alsoanwendungsspezifische Chips, entwickelt, um dasmaschinelle Lernen zu unterstützen bzw. zu beschleunigen. Mit dieser Spezialhardware werden dieAlgorithmen der Programmbibliothek TensorFlow besonders schnell und effizient verarbeitet.[11]
Seit dem Release von TensorFlow 1.4 ist Keras, eineOpen-Source-Deep-Learning-Bibliothek, geschrieben inPython, Teil der TensorFlow Core API. Jedoch wird Keras als eigenständige Bibliothek weitergeführt, da es laut seines Entwicklers François Chollet nicht als alleinige Schnittstelle für TensorFlow, sondern als Schnittstelle für viele Frameworks gedacht ist.[12][13]
Ab der Version TensorFlow 1.5 wird der Lebenszyklus von Modellen differenziert unterstützt. Zum einen lässt sich nach Import vontensorflow.contrib.eager mitenable_eager_execution() ein Modus einschalten, in dem TensorFlow die in der Python-Shell abgesetzten Befehle direkt ausführt, ohne eine Session. So lässt sich interaktiv entwickeln.[14] Zum anderen wird zusätzlich TensorFlow Lite ausgeliefert, eine schlanke Variante, mit der sich Modelle nicht trainieren, sondern nur ausführen lassen. Sie ist, wie schon TensorFlow Mobile, speziell fürmobile Endgeräte konzipiert.[15][16] Ebenfalls vorwiegend für die Ausführung von Modellen geeignet sindAPIs zur Verwendung von TensorFlow mit den ProgrammiersprachenJava,C undGo.[17]
Mit der am 30. September 2019 veröffentlichten Version 2.0[18] von TensorFlow wurde die API aufgeräumt und erweitert. Insbesondere wurde dieKeras-Schnittstelle zur neuen Standard-API für die Modellierung von Deep-Learning-Modellen. Einzelne Funktionen wurden erweitert; so speichert TensorFlow 2 Modelle nun inklusive Gewichten und Berechnungen, was die Weitergabe deutlich vereinfacht.
TensorFlow wird ausPython-Programmen heraus benutzt und ist in Python undC++ implementiert. Es unterstützt die Programmiersprachen Python[19],C[20], C++,Go,Java,[21]JavaScript[22] undSwift.[23] Von Drittanbietern gibt es weitere Bibliotheken für die SprachenC#,[24]Haskell,[25]Julia,[26]R,[27]Scala,[28]Rust,[29]OCaml,[30] undCrystal.[31]