bedeutende Veröffentlichung der Machine Learning Plattform , die fertige Implementierungen verschiedener Algorithmen des tiefen maschinellen Lernens, eine einfache Programmierschnittstelle zur Erstellung von Modellen in Python sowie eine Low-Level-Schnittstelle für C++ bietet, die die Verwaltung von Berechnungsgrafiken ermöglicht. Der Systemcode ist in C++ und Python geschrieben und unter der Apache-Lizenz.
wurde ursprünglich vom Google Brain Team entwickelt und wird in Google-Diensten zur Spracherkennung, Gesichtserkennung in Fotos, Bildähnlichkeitsbestimmung, Spam-Filterung in Gmail, von Nachrichten in Google News und kontextsensitiver Übersetzung verwendet. Verteilte Systeme für maschinelles Lernen können auf Standardhardware erstellt werden, dank der integrierten Unterstützung in TensorFlow für die Verteilung von Berechnungen auf mehrere CPUs oder GPUs.
TensorFlow bietet eine Bibliothek mit vorgefertigten Algorithmen für numerische Berechnungen, die über Datenflussgraphen implementiert sind. Die Knoten in diesen Graphen führen mathematische Operationen oder Ein-/Ausgabepunkte aus, während die Kanten des Graphen mehrdimensionale Datenarrays (Tensors) darstellen, die zwischen den Knoten fließen.
Knoten können bestimmten Recheneinheiten zugewiesen werden und asynchron ausgeführt werden, wodurch alle passenden Tensors parallel verarbeitet werden können. Dies ermöglicht die gleichzeitige Aktivierung der Knoten in einem neuronalen Netzwerk, ähnlich der gleichzeitigen Aktivierung von Neuronen im Gehirn.
Bei der Vorbereitung auf die neue Version lag der Fokus auf Vereinfachung und Benutzerfreundlichkeit. :
- Ein neuer, hochgradiger API wurde eingeführt, um Modelle zu erstellen und zu trainieren, der mehrere Schnittstellenoptionen für den Modellaufbau (Sequential, Functional, Subclassing) bietet, mit der Möglichkeit, diese (ohne vorherige Kompilierung) und mit einem einfachen Debugging-Mechanismus.
- Die API wurde hinzugefügt zur Organisation von Modelle mit minimalen Änderungen am bestehenden Code. Neben der Möglichkeit, Berechnungen auf , steht experimentelle Unterstützung für das Verlegen des Trainingsprozesses auf mehrere unabhängige Handler sowie die Möglichkeit zur Nutzung von Cloud- (Tensor Processing Units);
- Anstelle des deklarativen Modells zum Erstellen von Graphen, das über tf.Session ausgeführt wird, besteht die Möglichkeit, reguläre Funktionen in Python zu schreiben, die mittels tf.function in Graphen umgewandelt und dann remote ausgeführt, serialisiert oder optimiert werden können, um die Leistung zu steigern;
- Ein Translator , der den Fluss von Python-Befehlen in TensorFlow-Ausdrücke umwandelt, sodass Python-Code innerhalb von tf.function-dekorierten Funktionen, tf.data, tf.distribute und tf.keras verwendet werden kann;
- Im SavedModel wurde das Austauschformat von Modellen vereinheitlicht und die Unterstützung für das Speichern und Wiederherstellen von Modellen hinzugefügt. Modelle, die für TensorFlow erstellt wurden, können jetzt in (auf mobilen Geräten), (im Browser oder Node.js), und ;
- Die einheitlichen APIs tf.train.Optimizers und tf.keras.Optimizers wurden eingeführt, anstelle von compute_gradients zur Berechnung der Gradienten wird eine neue Klasse angeboten. ;
- Die Leistung bei der Nutzung von GPUs wurde erheblich gesteigert.
Die Lernrate von Modellen auf Systemen mit NVIDIA Volta- und Turing-GPUs hat sich verdreifacht. - Das API wurde stark bereinigt, viele Aufrufe wurden umbenannt oder entfernt, die Unterstützung für globale Variablen in Hilfsmethoden wurde eingestellt. Anstelle von tf.app, tf.flags und tf.logging wird eine neue API namens absl-py angeboten. Um die Verwendung des alten APIs fortzusetzen, wurde das Modul compat.v1 vorbereitet.
Quelle: opennet.ru
