[PYTHON] [Erklärung für Anfänger] Grundlegende Syntax und Konzept von TensorFlow

Grundlegende Syntax und Konzept von TensorFlow

Ich werde Erste Schritte mit TensorFlow auf der offiziellen Seite versuchen und die Punkte erläutern. Nachdem Sie diesen Inhalt verstanden haben, ist es schnell zu verstehen, ob Sie das Tutorial von "[Erklärung für Anfänger] TensorFlow-Tutorial MNIST (für Anfänger)" ausführen. Es war unscharf).

Referenzlink

Was ist TensorFlow?

TensorFlow Dies ist eine Open-Source-Bibliothek, die von Google für maschinelles Lernen erstellt wurde. TensorFlows ** "Tensor" ist einfach ein mehrdimensionales Array ** (ein allgemeiner Begriff, nicht Google-spezifisch). Weitere Informationen zu Tensor finden Sie unter Tensole, die Sie vor dem Starten von TensorFlow kennen sollten (Ergänzung: Zu allgemeineren Themen). Der Artikel ist großartig. TensorFlow ist eine Bibliothek, die gut mit diesem Tensor umgehen kann. Und wir nutzen CPU und GPU optimal, um das maschinelle Lernen zu optimieren. Wenn Sie beispielsweise das Deep Learning-Lernprogramm von MNIST auf einem 2-Core-PC ausführen, wird die CPU fast sofort aufgebraucht, wie in der folgenden Abbildung dargestellt. 20.CPU_Full.JPG

Grundlegende Syntax und Konzept von TensorFlow

Ich werde das Konzept anhand der grundlegenden Syntax von TensorFlow erläutern.

Computational Graph TensorFlow basiert auf dem Konzept von Computational Graph. Befehle werden in zwei Kategorien unterteilt: Erstellen und Ausführen von Computational Graph.

Wenn Sie beispielsweise zwei Konstanten definieren und ausgeben, sieht dies in der Sprache C wie folgt aus (es kann ein wenig anders sein, weil es sich um einen alten Speicher handelt, aber fühlen Sie sich so. ).

const double node1 = 3.0;
const double node2 = 4.0;
printf("%f, %f", node1, node2);

Wenn Sie es in TensorFlow schreiben, als wäre es eine normale Sprache, sieht es wie folgt aus.

node1 = tf.constant(3.0, dtype=tf.float32)
node2 = tf.constant(4.0) # also tf.float32 implicitly
print(node1, node2)

Was oben ausgegeben wird, ist jedoch das Ergebnis unten. Die Konstanten 3.0 und 4.0 werden nicht ausgegeben. Dies liegt daran, dass die obige Syntax ** "Erstellen eines Computergraphen" ** lautet. ** Stellen Sie sich den "Computational Graph" als einen Verarbeitungsplan vor, der Parallelität und Verarbeitungsreihenfolge berücksichtigt **.

Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=float32)

Um den konstanten Wert tatsächlich auszugeben, müssen Sie ** "Computational Graph ausführen" ** mit der folgenden Syntax ausführen.

sess = tf.Session()
print(sess.run([node1, node2]))

Nun werden schließlich 3.0 und 4.0 wie folgt ausgegeben.

[3.0, 4.0]

In der Abbildung sieht es so aus. 30.ComputationalGraph01.JPG

Zusammenfassung

Im Vergleich zur normalen Sprachverarbeitung sieht es wie in der folgenden Abbildung aus. Es zeichnet sich durch zwei Konstruktionsschritte (Planung) und Ausführung durch Computational Graph aus. Wenn es sich um einen Prozess handelt, der einfach Datensätze in der Datenbank registriert, ist die normale Sprachverarbeitung, die nur eine CPU verwendet, einfacher und besser. Wenn sie jedoch kompliziert ist und einen großen Parallelisierungswert wie maschinelles Lernen oder tiefes Lernen aufweist, TensorFlow wäre besser geeignet. Nach meiner Erfahrung können Spark, Hadoop, SAP HANA usw. in einer ähnlichen Form wie Computational Graph parallel verarbeitet werden. 30.ComputationalGraph02.JPG

Recommended Posts

[Erklärung für Anfänger] Grundlegende Syntax und Konzept von TensorFlow
[Erklärung für Anfänger] TensorFlow-Tutorial MNIST (für Anfänger)
[Erklärung für Anfänger] TensorFlow-Tutorial Deep MNIST
Implementierung und Beschreibung mit XGBoost für Anfänger
Grundlegende Python-Grammatik für Anfänger
[Erklärung für Anfänger] Einführung in die Faltverarbeitung (erklärt in TensorFlow)
[Erklärung für Anfänger] Einführung in die Pooling-Verarbeitung (erklärt in TensorFlow)
TensorFlow-Lernmethode für Profis der freien Künste und Python-Anfänger
TensorFlow MNIST Für ML Anfänger Übersetzung
Grundlegende Syntaxhinweise für Shell-Skripte
TensorFlow Tutorial MNIST Für ML-Anfänger
TensorFlow Tutorial -MNIST Für ML-Anfänger
[Erklärung für Anfänger] OpenCV-Gesichtserkennungsmechanismus und -praxis (MultiScale erkennen)
Elasticsearch-Installation und Grundbedienung für Ubuntu
Linux-Betrieb für Anfänger Grundlegende Befehlsübersicht
Ergänzende Hinweise zu TensorFlow MNIST für ML-Anfänger
Anfänger lesen "Einführung in TensorFlow 2.0 für Experten"
Unterschied zwischen Ruby und Python (grundlegende Syntax)
SublimeText2 und SublimeLinter - Syntax prüfen auf Python3--
Kausales Denken und kausale Suche von Python (für Anfänger)
[Python / Chrome] Grundeinstellungen und Operationen zum Scraping
Grundprinzipien der Bilderkennungstechnologie (für Anfänger)
Durchführen des TensorFlow MNIST für ML-Anfänger-Tutorials
Installieren von TensorFlow unter Windows Easy für Python-Anfänger
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
Janken Poi in Python für Anfänger (Antworten und Erklärungen)
Organisation grundlegender Verfahren zur Datenanalyse und statistischen Verarbeitung (4)
Ich habe das MNIST-Tutorial von tensorflow für Anfänger ausprobiert.
Anfänger! Grundlegende Linux-Befehle und Verwendung!
Caffe Model Zoo für Anfänger [Alters- und Geschlechtsklassifizierung]
Organisation grundlegender Verfahren zur Datenanalyse und statistischen Verarbeitung (2)
Python-Übung für Anfänger # 1 [Grundlegende Datentypen / If-Anweisungen]
[Für Anfänger] Lernen Sie in 5 Stunden kostenlos die grundlegende Python-Grammatik!
Python # So überprüfen Sie Typ und Typ für Super-Anfänger
Erfahren Sie mehr über die Druckfunktion und die Zeichenfolgen von Python für Anfänger.
[Für Anfänger] Django Häufig verwendete Befehle und Referenzsammlung