Was ist TensorFlow? Wie funktioniert es? ArchiStruktur und Funktionen
โก Intelligente Zusammenfassung
TensorFlow ist die Open-Source-Plattform Google Es wurde fรผr maschinelles Lernen entwickelt und stellt jede Berechnung als Datenflussgraph von Tensoren dar. Diese รbersicht behandelt die Architektur, die Komponenten, die Ausfรผhrung einer Berechnung und die Datenzufuhr รผber eine Eingabepipeline.

Was ist TensorFlow?
TensorFlow ist eine Open-Source-End-to-End-Plattform zum Erstellen von Machine-Learning-Anwendungen. Es handelt sich um eine symbolische Mathematikbibliothek, die Datenfluss und differenzierbare Programmierung verwendet, um verschiedene Aufgaben auszufรผhren, die sich auf das Training und die Inferenz tiefer neuronaler Netzwerke konzentrieren. Entwickler kรถnnen damit Machine-Learning-Anwendungen mithilfe verschiedener Tools, Bibliotheken und Community-Ressourcen erstellen.
Die derzeit bekannteste Deep-Learning-Bibliothek der Welt ist Google's TensorFlow. Google setzt maschinelles Lernen in allen seinen Produkten ein, um Suche, รbersetzung, Bildbeschreibung und Empfehlungen zu verbessern.
TensorFlow-Beispiel
Um ein konkretes Beispiel zu nennen: Google Nutzer kรถnnen dank KI ein schnelleres und prรคziseres Sucherlebnis genieรen. Wenn der Nutzer ein Stichwort in die Suchleiste eingibt, Google gibt eine Empfehlung fรผr das mรถgliche nรคchste Wort.

Google Sie mรถchten maschinelles Lernen einsetzen, um ihre riesigen Datensรคtze optimal zu nutzen und den Nutzern das bestmรถgliche Erlebnis zu bieten. Drei verschiedene Gruppen verwenden maschinelles Lernen:
- Wissenschaftler:innen
- Daten Analysten
- Programmierer
Sie alle kรถnnen dasselbe Toolset nutzen, um miteinander zusammenzuarbeiten und ihre Effizienz zu verbessern.
Google TensorFlow verwaltet nicht nur groรe Datensรคtze, sondern betreibt auch eine enorme Recheninfrastruktur. Daher wurde TensorFlow von Anfang an auf Skalierbarkeit ausgelegt. TensorFlow ist eine Bibliothek, die von โฆ entwickelt wurde. Google Brain Team zur Beschleunigung der Forschung im Bereich maschinelles Lernen und tiefe neuronale Netze.
Es wurde fรผr die Ausfรผhrung auf mehreren CPUs oder GPUs und sogar mobilen Betriebssystemen entwickelt und verfรผgt รผber mehrere Wrapper in mehreren Sprachen wie Python, C++ or Java.
Geschichte von TensorFlow
Vor ein paar Jahren begann Deep Learning, alle anderen Algorithmen des maschinellen Lernens bei der Verarbeitung groรer Datenmengen zu รผbertreffen. Google erkannte, dass es diese tiefen neuronalen Netze nutzen kรถnnte, um seine Dienstleistungen zu verbessern:
- Gmail
- Foto
- Google Suchmaschine
Sie haben ein Rahmenwerk entwickelt namens TensorFlow damit Forscher und Entwickler am selben Modell arbeiten und es dann in einem Umfang einsetzen kรถnnen, der fรผr viele Menschen nutzbar ist.
TensorFlow wurde im November 2015 verรถffentlicht, Version 1.0 folgte im Februar 2017. Die weitaus grรถรere รnderung erfolgte mit TensorFlow 2.0 im September 2019Dadurch wurde die sofortige Ausfรผhrung zum Standard und Keras als Standard-API auf hoher Ebene eingefรผhrt. Ab Version 2.16 ist Keras 3 der Standard, und derselbe Modellcode kann auch mit JAX oder Py ausgefรผhrt werden.Torch-Backends.
TensorFlow wird unter der Apache-2.0-Lizenz verรถffentlicht, daher dรผrfen Sie es verwenden, modifizieren und weiterverbreiten, auch kommerziell, ohne dafรผr bezahlen zu mรผssen. Google.
So funktioniert TensorFlow
Mit TensorFlow kรถnnen Sie Datenflussdiagramme und -strukturen erstellen, um zu definieren, wie sich Daten durch ein Diagramm bewegen, indem Sie Eingaben als mehrdimensionales Array namens Tensor รผbernehmen. Sie kรถnnen damit ein Flussdiagramm von Operationen erstellen, die an diesen Eingaben ausgefรผhrt werden kรถnnen, das an einem Ende eingeht und am anderen Ende als Ausgabe zurรผckkommt.
TensorFlow Architektur
Die TensorFlow-Architektur besteht aus drei Teilen:
- Vorverarbeitung der Daten
- Erstellen Sie das Modell
- Trainieren und schรคtzen Sie das Modell
Es heiรt TensorFlow, weil es Eingaben in Form eines mehrdimensionalen Arrays entgegennimmt, auch bekannt als Tensoren. Sie kรถnnen eine Art konstruieren Flussdiagramm von Operationen (Graph genannt), die Sie mit dieser Eingabe durchfรผhren mรถchten. Die Eingabe geht an einem Ende ein, flieรt dann durch dieses System mehrerer Operationen und kommt am anderen Ende als Ausgabe heraus.
Wo kann TensorFlow ausgefรผhrt werden?
Die Hardware- und Softwareanforderungen fรผr TensorFlow lassen sich in zwei Phasen unterteilen:
EntwicklungsphaseHierbei handelt es sich um den Zeitpunkt, an dem das Modell trainiert wird, รผblicherweise auf einem Desktop- oder Laptop-Computer.
Ausfรผhrungs- oder InferenzphaseSobald das Training abgeschlossen ist, kann das Modell auf vielen Plattformen ausgefรผhrt werden:
- Desktop lรคuft Windows, macOS oder Linux
- Cloud als Webservice
- Mobile Gerรคte wie iOS und Android
Sie kรถnnen es auf mehreren Computern trainieren und es dann auf einem anderen Computer ausfรผhren, sobald Sie das trainierte Modell haben.
Das Modell kann sowohl auf GPUs als auch auf CPUs trainiert und verwendet werden. GPUs wurden ursprรผnglich fรผr Videospiele entwickelt. Um 2009 zeigten Forscher der Stanford University, dass GPUs bei den Matrix- und linearen Algebraoperationen, auf denen neuronale Netze basieren, รคuรerst effizient sind. Deep Learning benรถtigt hรคufig Matrixmultiplikationen. TensorFlow ist bei der Berechnung von Matrixmultiplikationen sehr schnell, da es in einer Matrix geschrieben ist. C++. Obwohl es in C++, TensorFlow kann hauptsรคchlich von anderen Sprachen aus aufgerufen und gesteuert werden, Python.
Ein weiteres wichtiges Merkmal ist TensorBoard, das den Graphen, die Trainingsmetriken und die Gewichtsverteilung wรคhrend der Modellausfรผhrung visualisiert.
TensorFlow-Komponenten
Tensor
Der Name TensorFlow leitet sich direkt von seinem Kernframework ab: TensorIn TensorFlow basieren alle Berechnungen auf Tensoren. Ein Tensor ist ein Vektor or Matrix von n-Dimensionen, die alle Arten von Daten darstellen. Alle Werte in einem Tensor enthalten identische Datentypen mit einem bekannten (oder teilweise bekannten) gestalten. Die Form der Daten ist die Dimensionalitรคt der Matrix oder des Arrays.
Ein Tensor kann aus den Eingabedaten oder dem Ergebnis einer Berechnung stammen. In TensorFlow werden alle Operationen innerhalb eines Graph. Der Graph ist eine Reihe von Berechnungen, die nacheinander stattfinden. Jede Operation wird als op-Knoten und sind miteinander verbunden.
Der Graph stellt die Operationen und Verbindungen zwischen den Knoten dar. Die Werte werden jedoch nicht angezeigt. Der Rand der Knoten ist der Tensor, also eine Mรถglichkeit, die Operation mit Daten zu fรผllen.
Graphs
TensorFlow nutzt ein Graph-Framework. Das Diagramm erfasst und beschreibt alle wรคhrend des Trainings durchgefรผhrten Reihenberechnungen. Die Grafik hat viele Vorteile:
- Es lรคuft auf mehreren CPUs oder GPUs und sogar auf mobilen Betriebssystemen.
- Die Portabilitรคt des Diagramms ermรถglicht es, die Berechnungen fรผr die sofortige oder spรคtere Verwendung aufzubewahren. Das Diagramm kann gespeichert werden, um es spรคter auszufรผhren.
- Alle Berechnungen im Diagramm werden durch die Verbindung von Tensoren durchgefรผhrt
- Ein Graph besteht aus Knoten und Kanten. Jeder Knoten fรผhrt eine mathematische Operation aus und erzeugt ein Ergebnis, wรคhrend die Kanten die Eingabe- und Ausgabebeziehungen zwischen den Knoten beschreiben. Die Tensoren selbst werden entlang der Kanten รผbertragen.
Warum ist TensorFlow beliebt?
TensorFlow ist weit verbreitet, da es fรผr jedes Erfahrungsniveau zugรคnglich ist. Seine APIs decken alles ab, von einem einfachen Keras-Modell mit drei Zeilen bis hin zu einem selbst entwickelten CNN oder RNN. Da Berechnungen als Graph dargestellt werden, kann TensorBoard das Netzwerk visualisieren und das Debuggen deutlich vereinfachen. Es lรคsst sich zudem skalieren und lรคuft auf CPU, GPU und TPU sowie auf Mobilgerรคten รผber TensorFlow Lite.
TensorFlow ist neben PyTelevision weiterhin eines der beiden meistgenutzten Deep-Learning-Frameworks auf GitHub.Torch.
TensorFlow Algorithms
TensorFlow enthรคlt standardmรครig hochrangige Schรคtzer fรผr verschiedene klassische Algorithmen. In TensorFlow 1.x waren diese unter tf.estimator zu finden.
- Lineare Regression: tf.estimator.LinearRegressor
- Klassifizierung: tf.estimator.LinearClassifier
- Deep-Learning-Klassifizierung: tf.estimator.DNNClassifier
- Weitgehendes und tiefgehendes Lernen: tf.estimator.DNNLinearCombinedClassifier
- Boosted Trees Regression: tf.estimator.BoostedTreesRegressor
- Boosted Tree-Klassifizierung: tf.estimator.BoostedTreesClassifier
TensorFlow vs PyTorch: Welche sollten Sie wรคhlen?
TensorFlow und PyTorch sind die beiden dominanten Deep-Learning-Frameworks, und die praktischen Unterschiede haben sich seit der Einfรผhrung der Eager Execution in TensorFlow 2.0 erheblich verringert.
| Eigenschaften | TensorFlow | PyTorch |
|---|---|---|
| Entwickelt von | Google Gehirn | Meta-KI |
| Ausfรผhrung | Eager, mit optionaler Graphkompilation | Eifrig, mit optionaler Kompilation |
| High-Level-API | Keras, entwickelt in | Separate Bibliotheken wie Lightning |
| Mobilgerรคte und Edge-Gerรคte | Ausgereift, durch TensorFlow Lite | Verbesserung durch UmsetzungTorch |
| Browserbereitstellung | TensorFlow.js | Erfordert eine Konvertierung zu ONNX |
| Typische Festung | Produktion und Bereitstellung | Forschung und Experimente |
Die pragmatische Antwort: Wรคhlen Sie TensorFlow, wenn das Modell an Mobilgerรคte, Browser oder einen verwalteten Server-Stack ausgeliefert werden muss, und Py.TorWenn Sie die Modellarchitektur iterativ verbessern, sollten Sie Keras 3 berรผcksichtigen. Keras 3, der Standard ab TensorFlow 2.16, erleichtert die Entscheidung zusรคtzlich, da derselbe Keras-Code auch auf einem TensorFlow-, JAX- oder Py-basierten Modell ausgefรผhrt werden kann.Torch-Backend.
Wie Berechnungen in TensorFlow funktionieren
โ ๏ธ Versionshinweis: Die folgenden Lรถsungswege verwenden die TensorFlow 1.x. Der Graph-und-Session-Stil ist die klarste Art, die Funktionsweise des Datenflussgraphen zu verstehen. tf.placeholder(), tf.Session() und make_initializable_iterator() wurden in TensorFlow 2.0 entfernt. und wird bei einer bestehenden Installation einen AttributeError auslรถsen. Der Abschnitt TensorFlow 1.x vs. TensorFlow 2.x Weiter unten findet sich jeweils das moderne รquivalent zu jedem Beispiel.
import numpy as np import tensorflow as tf
In den ersten beiden Codezeilen haben wir Tensorflow als tf importiert. Mit Pythonist es รผblich, fรผr eine Bibliothek einen Kurznamen zu verwenden. Der Vorteil besteht darin, dass wir nicht den vollstรคndigen Namen der Bibliothek eingeben mรผssen, wenn wir sie verwenden mรผssen. Beispielsweise kรถnnen wir Tensorflow als tf importieren und tf aufrufen, wenn wir eine Tensorflow-Funktion verwenden mรถchten
Lasst uns den grundlegenden Workflow von TensorFlow anhand einfacher TensorFlow-Beispiele รผben. Erstellen wir einen Berechnungsgraphen, der zwei Zahlen miteinander multipliziert.
In diesem Beispiel multiplizieren wir X_1 und X_2 miteinander. TensorFlow erstellt dazu einen Knoten, der die Operation verbindet. In unserem Beispiel heiรt dieser Knoten โmultiplizierenโ. Sobald der Graph definiert ist, multiplizieren die TensorFlow-Berechnungsmodule X_1 und X_2 miteinander.
Abschlieรend fรผhren wir eine TensorFlow-Sitzung durch, die den Rechengraphen mit den Werten von X_1 und X_2 ausfรผhrt und das Ergebnis der Multiplikation ausgibt.
Definieren wir die Eingabeknoten X_1 und X_2. Beim Erstellen eines Knotens in TensorFlow muss der Knotentyp ausgewรคhlt werden. Die Knoten X1 und X2 dienen als Platzhalter. Diese Platzhalter weisen bei jeder Berechnung einen neuen Wert zu. Wir erstellen sie als TF-Punkt-Platzhalterknoten.
Schritt 1: Definieren Sie die Variable
X_1 = tf.placeholder(tf.float32, name = "X_1") X_2 = tf.placeholder(tf.float32, name = "X_2")
Ein Platzhalter benรถtigt einen Datentyp. Da es sich um Zahlen handelt, ist `tf.float32` die richtige Wahl. Das Argument `name` ist optional, aber nรผtzlich, da es die Bezeichnung ist, die in der TensorBoard-Visualisierung des Graphen angezeigt wird. `X_2` wird auf die gleiche Weise definiert.
Schritt 2: Definieren Sie die Berechnung
multiply = tf.multiply(X_1, X_2, name = "multiply")
Nun kรถnnen wir den Knoten definieren, der die Multiplikationsoperation durchfรผhrt. In TensorFlow kรถnnen wir dies durch Erstellen eines tf.multiply-Knotens erreichen.
Wir werden die Knoten X_1 und X_2 an den Multiplikationsknoten รผbergeben. Es weist Tensorflow an, diese Knoten im Rechendiagramm zu verknรผpfen, daher fordern wir es auf, die Werte von x und y abzurufen und das Ergebnis zu multiplizieren. Geben wir dem Multiplikationsknoten auch den Namen multiply. Es ist die vollstรคndige Definition fรผr unseren einfachen Rechengraphen.
Schritt 3: Ausfรผhren des Vorgangs
Um Operationen im Graphen auszufรผhren, mรผssen wir eine Session erstellen. In TensorFlow geschieht dies mit `tf.Session()`. Sobald wir eine Session haben, kรถnnen wir diese durch Aufruf von `session` anweisen, Operationen auf unserem Berechnungsgraphen auszufรผhren. Um die Berechnung auszufรผhren, verwenden wir `run`.
Fรผr die Multiplikation werden die Werte der Knoten X_1 und X_2 benรถtigt. Diese werden zur Laufzeit รผbergeben. Dies geschieht รผber den Parameter `feed_dict`. Fรผr X_1 werden die Werte 1, 2, 3 und fรผr X_2 die Werte 4, 5, 6 รผbergeben.
Die Ergebnisse drucken wir mit print(result) aus. Wir sollten 4, 10 und 18 fรผr 1ร4, 2ร5 und 3ร6 sehen
X_1 = tf.placeholder(tf.float32, name = "X_1") X_2 = tf.placeholder(tf.float32, name = "X_2") multiply = tf.multiply(X_1, X_2, name = "multiply") with tf.Session() as session: result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]}) print(result)
[ 4. 10. 18.]
Optionen zum Laden von Daten in TensorFlow
Der erste Schritt vor dem Training a maschineller Lernalgorithmus Es geht darum, die Daten zu laden. Dafรผr gibt es zwei gรคngige Methoden:
1. Daten in den Speicher ladenEs ist die einfachste Methode. Sie laden alle Ihre Daten als ein einziges Array in den Speicher. Sie schreiben einfach Python Hierfรผr ist nichts davon TensorFlow-spezifisch.
2. TensorFlow-DatenpipelineTensorFlow bietet eine integrierte API, die Daten lรคdt, Transformationen anwendet und das Modell speist. Diese Methode eignet sich besonders gut fรผr groรe Datensรคtze. Beispielsweise sind Bilddatensรคtze bekanntermaรen enorm groร und passen nicht in den Arbeitsspeicher. Die Datenpipeline verwaltet den Speicher selbststรคndig.
Welche Lรถsung soll verwendet werden?
Daten in den Speicher laden
Wenn Ihr Datensatz nicht zu groร ist, also weniger als 10 Gigabyte, kรถnnen Sie die erste Methode verwenden. Die Daten kรถnnen in den Speicher passen. Sie kรถnnen eine berรผhmte Bibliothek namens Pandas verwenden, um CSV-Dateien zu importieren. Im nรคchsten Tutorial erfahren Sie mehr รผber Pandas.
Daten mit der TensorFlow-Pipeline laden
Die zweite Methode funktioniert am besten, wenn Sie รผber einen groรen Datensatz verfรผgen. Wenn Sie beispielsweise รผber einen Datensatz von 50 Gigabyte verfรผgen und Ihr Computer nur รผber 16 Gigabyte Arbeitsspeicher verfรผgt, stรผrzt der Computer ab.
In dieser Situation mรผssen Sie eine TensorFlow-Pipeline erstellen. Die Pipeline lรคdt die Daten in Batches, also kleinen Datenblรถcken. Jeder Batch wird an die Pipeline รผbergeben und ist dann bereit fรผr das Training. Die Erstellung einer Pipeline ist eine hervorragende Lรถsung, da sie die Nutzung von Parallelverarbeitung ermรถglicht. Das bedeutet, dass TensorFlow das Modell auf mehreren CPUs trainiert. Dies beschleunigt die Berechnung und ermรถglicht das Training grรถรerer Netzwerke.
Kurz gesagt: Kleine Datensรคtze laden Sie mit pandas in den Speicher, und verwenden Sie eine TensorFlow-Pipeline, wenn die Datenmenge groร ist oder Sie das Laden parallel รผber mehrere CPUs durchfรผhren mรถchten.
So erstellen Sie eine TensorFlow-Pipeline
Hier sind die Schritte zum Erstellen einer TensorFlow-Pipeline:
Im vorherigen Beispiel haben wir manuell drei Werte fรผr X_1 und X_2 hinzugefรผgt. Nun sehen wir uns an, wie man Daten in TensorFlow lรคdt:
Schritt 1) โโErstellen Sie die Daten
Lassen Sie uns zunรคchst die Numpy-Bibliothek verwenden, um zwei Zufallswerte zu generieren.
import numpy as np
x_input = np.random.sample((1,2))
print(x_input)
[[0.8835775 0.23766977]]
Schritt 2) Erstellen Sie den Platzhalter
Wie im vorherigen Beispiel erstellen wir einen Platzhalter mit dem Namen X. Wir mรผssen die Form des Tensors explizit angeben. In diesem Fall laden wir ein Array mit nur zwei Werten. Wir kรถnnen die Form als shape=[1,2] schreiben.
# using a placeholder x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
Schritt 3) Definieren Sie die Datensatzmethode
Als nรคchstes mรผssen wir den Datensatz definieren, in den wir den Wert des Platzhalters x einfรผgen kรถnnen. Wir mรผssen die Methode tf.data.Dataset.from_tensor_slices verwenden
dataset = tf.data.Dataset.from_tensor_slices(x)
Schritt 4) Erstellen Sie die Pipeline
In Schritt vier mรผssen wir die Pipeline initialisieren, รผber die die Daten flieรen. Wir mรผssen einen Iterator mit make_initializable_iterator erstellen. Wir nennen es Iterator. Dann mรผssen wir diesen Iterator aufrufen, um den nรคchsten Datenstapel get_next einzuspeisen. Wir nennen diesen Schritt get_next. Beachten Sie, dass es in unserem Beispiel nur einen Datenstapel mit nur zwei Werten gibt.
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
Schritt 5) Fรผhren Sie den Vorgang aus
Der letzte Schritt ist รคhnlich wie im vorherigen Beispiel. Wir initiieren eine Sitzung und fรผhren den Operationsiterator aus. Wir fรผttern das feed_dict mit dem Wert, der generiert wird von numpig. Diese beiden Werte fรผllen den Platzhalter x. Dann fรผhren wir get_next aus, um das Ergebnis auszudrucken.
with tf.Session() as sess:
# feed the placeholder with data
sess.run(iterator.initializer, feed_dict={ x: x_input })
print(sess.run(get_next))
[0.8835775 0.23766978]
TensorFlow 1.x vs. TensorFlow 2.x: Was hat sich geรคndert?
TensorFlow 2.0 brachte eine grundlegende รberarbeitung der benutzerseitigen API mit sich. Es ist wichtig, die Unterschiede zu verstehen, da viele Online-Tutorials, einschlieรlich der obigen Beispiele, auf den Stil von Version 1.x abzielen.
| Konzept | TensorFlow 1.x. | TensorFlow 2.x. |
|---|---|---|
| Ausfรผhrungsmodell | Definiere den Graphen und fรผhre ihn dann aus. | Standardmรครig werden Operationen sofort ausgefรผhrt. |
| Fรผtterungsdaten | tf.placeholder plus feed_dict | Passieren Python Werte oder Tensoren direkt |
| Laufender Betrieb | tf.Session().run() | Die Funktion aufrufen, keine Sitzung erforderlich |
| High-Level-API | tf.estimator | Keras, tf.keras |
| Graphoptimierung | Immer graphenbasiert | Aktivieren Sie die Option mit dem @tf.function-Dekorator. |
| Iterieren eines Datensatzes | make_initializable_iterator() | Ebene Python Schleife รผber den Datensatz |
Das Multiplikationsbeispiel, neu geschrieben. Drei Schritte und eine Sitzung werden zu einer Zeile, da die Operation in dem Moment ausgefรผhrt wird, in dem sie aufgerufen wird:
import tensorflow as tf X_1 = tf.constant([1, 2, 3], dtype=tf.float32) X_2 = tf.constant([4, 5, 6], dtype=tf.float32) result = tf.multiply(X_1, X_2, name="multiply") print(result.numpy()) # [ 4. 10. 18.]
Die Eingabepipeline, neu geschrieben. Es werden weder Platzhalter noch Iteratorobjekte benรถtigt:
import numpy as np import tensorflow as tf x_input = np.random.sample((1, 2)) dataset = tf.data.Dataset.from_tensor_slices(x_input) for batch in dataset: print(batch.numpy())
Wenn Sie die Geschwindigkeit eines kompilierten Graphen benรถtigen, umschlieรen Sie die Funktion mit @tf.function und TensorFlow. tracEs wird automatisch in eine solche umgewandelt. รltere 1.x-Skripte kรถnnen auch unverรคndert รผber den tf.compat.v1-Namespace ausgefรผhrt werden, dieser Pfad dient jedoch nur der Wartung und sollte nicht fรผr neue Projekte verwendet werden.
TensorFlow: Wichtigste Erkenntnisse und Code Literaturhinweis
- TensorFlow-Bedeutung: TensorFlow ist die bekannteste Deep-Learning-Bibliothek der letzten Jahre. Ein Praktiker, der TensorFlow verwendet, kann jede Deep-Learning-Struktur aufbauen, wie CNN, RNN oder ein einfaches kรผnstliches neuronales Netzwerk.
- TensorFlow wird hauptsรคchlich von Akademikern, Startups und groรen Unternehmen genutzt. Google verwendet TensorFlow in fast allen Google Produkte des tรคglichen Bedarfs GmailFoto und Google Suchmaschine.
- Das Google Das Brain-Team entwickelte TensorFlow, um die Kluft zwischen Forschern und Produktentwicklern zu schlieรen. 2015 verรถffentlichten sie TensorFlow und erfreuen sich seitdem rasant wachsender Beliebtheit. Heute ist TensorFlow die Deep-Learning-Bibliothek mit den meisten Repositories auf GitHub.
- Anwender nutzen TensorFlow, weil es sich problemlos in groรem Umfang in der Cloud, im Browser oder auf mobilen Gerรคten mit iOS bereitstellen lรคsst. Android.
TensorFlow arbeitet in Sitzungen. Jede Sitzung wird durch einen Graphen mit verschiedenen Berechnungen definiert. Ein einfaches Beispiel ist die Multiplikation einer Zahl. In TensorFlow sind dafรผr drei Schritte erforderlich:
- Definiere die Variable
X_1 = tf.placeholder(tf.float32, name = "X_1") X_2 = tf.placeholder(tf.float32, name = "X_2")
- Definieren Sie die Berechnung
multiply = tf.multiply(X_1, X_2, name = "multiply")
- Ausfรผhren des Vorgangs
with tf.Session() as session:
result = session.run(multiply, feed_dict={X_1: [1, 2, 3], X_2: [4, 5, 6]})
print(result)
Eine gรคngige Vorgehensweise in TensorFlow ist das Erstellen einer Pipeline zum Laden der Daten. Wenn Sie diese fรผnf Schritte befolgen, kรถnnen Sie Daten in TensorFlow laden:
- Erstellen Sie die Daten
import numpy as np
x_input = np.random.sample((1,2))
print(x_input)
- Erstellen Sie den Platzhalter
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
- Definieren Sie die Datensatzmethode
dataset = tf.data.Dataset.from_tensor_slices(x)
- Erstellen Sie die Pipeline
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
- Fรผhren Sie das Programm aus
with tf.Session() as sess:
sess.run(iterator.initializer, feed_dict={x: x_input})
print(sess.run(get_next))
