Einführung in TensorFlow
In diesem Artikel sehen wir einen Überblick über die TensorFlow-Architektur. TensorFlow ist eine plattformübergreifende Bibliothek und es gibt einige gängige Konzepte wie Operationen, Sitzungen und Berechnungsdiagramme. TensorFlow Serving vereinfacht die Bereitstellung neuer Algorithmen und Experimente bei Beibehaltung derselben Datenbankarchitektur und APIs.
Was ist Tensorflow-Architektur?
Tensorflow ist eine allgemein verwendete Deep-Learning-Bibliothek, die vom Google-Hirn-Team erstellt wurde, das an künstlicher Intelligenz arbeitete. Es wurde so entwickelt, dass es auf mehreren CPUs, GPUs und auf Mobilgeräten ausgeführt werden kann und verschiedene Wrapper-Klassen wie Python, C ++ oder Java und Tensors unterstützt, die die lineare Beziehung zwischen Vektoren, Skalaren und anderen Tensoren beschreiben .
Tensoren sind nichts anderes als mehrdimensionale Arrays. Zum Verständnis der TensorFlow-Architektur und -Funktionen müssen zunächst einige Begriffe verstanden werden.
- Tensorflow Servables
- Bereitstellbare Versionen
- Bereitstellbare Streams
- Tensorflow-Modell
- Tensorflow-Lader
- Tensorflow-Quellen
- Tensorflow Manager
- Tensorflow Core
- Das Leben von Servable
- Batcher In Tensorflow-Architektur
1. Tensorflow Servables
- Tensorflow Servables sind allgemeine Objekte, die hauptsächlich zur Durchführung von Berechnungen verwendet werden. Die Größe des TensorFlow ist sehr flexibel. Servables sind zentrale unvollständige Einheiten in TensorFlow.
- Eine wartungsfähige Einheit kann alles enthalten, was Tupel oder Nachschlagetabellen enthalten kann. Servierbare Objekte können von jedem Typ und jeder Schnittstelle sein. Aufgrund dieser Funktionen ist es sehr flexibel und einfach, zukünftige Verbesserungen vorzunehmen, z. B. asynchrone Betriebsmodi, Streaming-Ergebnisse und experimentelle APIs.
2. Bedienbare Versionen
- Servable-Versionen werden zum Verwalten von TensorFlow-Servable-Versionen verwendet. Es kann eine oder mehrere Versionen von Servables verarbeiten. Es kann helfen, die neuen Algorithmen zu konfigurieren, Gewichte zu handhaben und andere Änderungen vorzunehmen, Daten können geladen werden.
- Es kann auch Versionen ändern und verwalten und mehrere wartungsfähige Versionen gleichzeitig aktivieren.
3. Bereitstellbare Streams
Es ist eine Sammlung verschiedener Versionen von Servables. Es speichert es in einer zunehmenden Reihenfolge von Versionen.
4. Tensorflow-Modelle
- Ein TensorFlow-Modell kann ein oder mehrere TensorFlow-Servables enthalten. Es wird hauptsächlich in maschinellen Lernaufgaben verwendet, die mehr als einen Algorithmus enthalten können, der je nach Modell, Nachschlagetabellen, Metriken und Tabelleneinbettungen unterschiedliche Gewichte enthält.
- Es kann auf viele verschiedene Arten bereitgestellt werden, sodass es verschiedene Möglichkeiten gibt, die Nachschlagetabelle bereitzustellen.
5. Tensorflow-Lader
- Tensorflow Loader ist eine API, die den TensorFlow Servables-Lebenszyklus verwaltet. Es bietet eine gemeinsame Infrastruktur für einige der Lernalgorithmen.
- Der TensorFlow-Loader dient hauptsächlich zum Laden und Entladen von Servables mit standardisierten Loader-APIs.
6. Tensorflow-Quellen
- Quellen arbeiten als Plugin-Modul. Tensorflow-Quelle erledigt die grundsätzliche Handhabung von servable wie das Auffinden von servable, servable auf Anfrage.
- Jede Referenz kann jeweils einen oder mehrere bedienbare Streams bereitstellen. Jede Quelle bietet eine Loader-Instanz für die Verarbeitung der Stream-Version. Und jeder servable Stream wird versionsbasiert geladen.
- Die Quellen haben unterschiedliche Zustände, die für verschiedene Versionen und für mehrere Servables freigegeben werden können. Kann auch Aktualisierungen oder Änderungen zwischen Versionen vornehmen.
7. Tensorflow Manager
- Der Tensorflow Manager verwaltet den gesamten Lebenszyklus des Geräts.
- Laden servierbar, Servieren servierbar, Entladen servierbar.
- Der Manager erhält eine Antwort von allen zu wartenden Quellen und überwacht auch alle Versionen davon. Der Manager kann den Upload auch ablehnen oder verschieben.
- Die Funktion GetServableHandle () bietet eine Schnittstelle, mit der Verwaltungsaufgaben für TensorFlow-Servables erledigt werden können.
8. Tensorflow Core
Tensorflow Core enthält:
- Lebenszyklus, Metriken.
- Tensorflow Serving Core nimmt Servables und Loader als Objekt.
9. Das Leben eines Dieners
Das gesamte Verfahren wird über die Verwendung von servable und den gesamten Lebenszyklus von servable erläutert:
- Quellcodelader für verschiedene zu wartende Versionen erstellen. Client-Anfrage an Manager und Manager schickte die vom Loader angestrebte Version, Load und Serve zurück an den Client.
- Loader enthält Metadaten, die zum Laden der Servables verwendet werden können. Callback wird verwendet, um den Manager über die verfügbaren Quellversionen zu informieren. Der Manager befolgt eine Versionsrichtlinie, mit deren Hilfe konfiguriert und entschieden werden kann, welche Aktion als Nächstes erforderlich ist.
- Der Manager überprüft auch die Sicherheit der Lader. Wenn diese sicher sind, werden dem Lader nur die erforderlichen Ressourcen zur Verfügung gestellt und die Erlaubnis zum Laden der neuen Version erteilt. Der Manager gibt Severable auf der Client-Anfrage an, oder er fordert explizit eine bestimmte Version an oder kann direkt die neueste Version anfordern, nachdem dieser Manager ein Handle für den Zugriff auf das Servable zurückgegeben hat.
- Der Dynamic Manager verwaltet die zu wartenden Versionen, wendet die Versionsrichtlinie an und entscheidet, ob die Version oder die neueste Version geladen werden muss. Der dynamische Manager weist dem Lader Speicher zu. Loader startet das TensorFlow-Diagramm und aktualisiert die Gewichte des TensorFlow-Diagramms.
- Wenn ein Client das Servable anfordert und die vom Client angeforderte Version überprüft, gibt der Dynamic Manager diesen Handler mit der angeforderten Servable-Version zurück.
10. Batcher in Tensorflow-Architektur
- Beim Batching werden mehrere Anforderungen zu einer einzigen Anforderung verarbeitet.
- Mit diesem Verfahren können wir die Kosten für die Durchführung von Inferenzen reduzieren, insbesondere die Beschleunigung von Hardware wie GPU, TPU.
- Tensorflow Servable enthält ein Batcher-Widget. Mithilfe dieses Widgets können Clients ihre mehreren spezifischen Inferenzanforderungen auf einfache Weise zu einer einzigen Batchanforderung zusammenfassen. So können sie diese Prozedur effizient ausführen.
Fazit - TensorFlow-Architektur
Tensorflow Architecture ist ein dezentrales System. Es zeigt, wie verschiedene Komponenten in einem dezentralen System funktionieren und ihre Funktionen erfüllen. Auf Kundenwunsch und parallele Stapelverarbeitung mehrerer Vorgänge. Einige der besten Funktionen in der TensorFlow-Architektur sind die Stapelverarbeitung der Vorgänge, die Hardwarebeschleunigung und die Optionen für den dynamischen Manager, die Ladeprogramme, die Quellen und die wartbaren Streams.
Empfohlene Artikel
Dies ist eine Anleitung zur TensorFlow-Architektur. Hier diskutieren wir, was TensorFlow ist und einige der besten Funktionen in der TensorFlow-Architektur. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -
- Einführung in Tensorflow mit Characteristic
- TensorFlow vs Spark | Top 5 Vergleich
- Theano vs Tensorflow - Top Unterschiede
- TensorFlow Alternativen | Top 11