[PYTHON] Ich habe das TensorFlow-Tutorial als erstes ausprobiert

Ich habe [TensorFlow Official Tutorial] ausprobiert (https://www.tensorflow.org/get_started/get_started) Es ist nur ein einfaches Berechnungsdiagramm. Stellen Sie sicher, dass Sie TensorFlow installiert haben.

Einführung in TensorFlow

Führen Sie "Python" im Terminal aus (im Folgenden im Interpreter).

Tensorflow-Import

>>>import tensorflow as tf

Berechnungsdiagramm

>>>node1 = tf.constant(3.0, dtype=tf.float32) #Konstante 3.Auf 0 setzen
>>>node2 = tf.constant(4.0)
>>>print(node1, node2)

Knoten generieren bei der Auswertung 3.0 und 4.0. Um einen Knoten tatsächlich auszuwerten, müssen Sie innerhalb der Sitzung ein Berechnungsdiagramm ausführen.

Druckausgabe


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

Erstellen Sie ein Sitzungsobjekt und rufen Sie die Ausführungsmethode auf, um das Berechnungsdiagramm (Knoten1, Knoten2) zur Auswertung auszuführen.

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

Druckausgabe


[3.0, 4.0]

Durch Kombinieren dieser Knoten (Knoten1, Knoten2) wird eine komplexe Berechnung (neues Berechnungsdiagramm) erstellt. Hinzufügen (Addition erstellen) vorerst

>>>node3 = tf.add(node1, node2) # node1 + node2
>>>print("node3:", node3)
>>>print("sess.run(node3):", sess.run(node3))

Druckausgabe


node3: Tensor("Add:0", shape=(), dtype=float32)
sess.run(node3): 7.0

Da Konstanten in diesem Diagramm unverändert festgelegt sind, verwenden Sie "Platzhalter", um externe Eingaben zu akzeptieren.

>>>a = tf.placeholder(tf.float32)
>>>b = tf.placeholder(tf.float32)
>>>adder_node = a + b  # + provides a shortcut for tf.add(a, b)
>>>print(sess.run(adder_node, {a: 3, b: 4.5}))
>>>print(sess.run(adder_node, {a: [1, 3], b: [2, 4]}))

Druckausgabe


7.5
[ 3.  7.]

Lassen Sie uns das Berechnungsdiagramm komplizierter machen.

>>>add_and_triple = adder_node * 3.
>>>print(sess.run(add_and_triple, {a: 3, b: 4.5}))

Wenn ich es tatsächlich in eine Formel konvertiere, führt es die folgende Berechnung durch. "(a + b) * 3"

Druckausgabe


22.5

Maschinelles Lernen muss in der Lage sein, das Diagramm zu ändern, um neue Ausgaben mit derselben Eingabe zu erhalten. Mit Variablen können Sie Ihrem Diagramm trainierbare Parameter hinzufügen.

Wenn "tf.constant" aufgerufen wird, wird es initialisiert und eine Konstante gesetzt, sodass es nicht geändert werden kann. tf.Variable kann aktualisiert werden, ohne die Variable zu initialisieren, selbst wenn die Variable aufgerufen wird.

>>>W = tf.Variable([.3], dtype=tf.float32)
>>>b = tf.Variable([-.3], dtype=tf.float32)
>>>x = tf.placeholder(tf.float32)
>>>linear_model = W * x + b
>>>init = tf.global_variables_initializer()
>>>sess.run(init)
>>>print(sess.run(linear_model, {x: [1, 2, 3, 4]}))

Der Teil init = .. ~ ist eine Variable zum Initialisieren aller Variablen des TensorFlow-Programms. Variablen werden erst initialisiert, wenn Sie sess.run (init) aufrufen

Druckausgabe


[ 0.          0.30000001  0.60000002  0.90000004]

Wir brauchen einen Platzhalter, um den Wert des gewünschten Wertes (Lehrerdaten) anzugeben, und wir brauchen auch eine Verlustfunktion.

Verlustfunktion

Misst, wie weit der vom aktuellen Modell ausgegebene Wert von den Lehrerdaten entfernt ist. Verwenden Sie das Standardverlustmodell für die lineare Regression der vom Modell ausgegebenen Werte und der Trainingsdaten. linear_model --y berechnet den Vektor des Fehlers, den jedes Element bindet, und quadriert den Fehler mit tf.square. Rufen Sie dann "tf.reduce_sum" auf, um einen einzelnen Skalar zu generieren, der alle Fehler abstrahiert.

>>>y = tf.placeholder(tf.float32)
>>>squared_deltas = tf.square(linear_model - y)
>>>loss = tf.reduce_sum(squared_deltas)
>>>print(sess.run(loss, {x: [1, 2, 3, 4], y: [0, -1, -2, -3]}))

Die Druckausgabe gibt den Wert der Verlustfunktion zurück.

Druckausgabe


23.66

{x: [1, 2, 3, 4], y: [0, -1, -2, -3]} Betrachten Sie die beiden Werte der Eingabe, wenn W = -1 b = 1 Der Verlust dürfte Null sein. Sie können tf.assign verwenden, um das Gewicht und die Vorspannung zu ändern.

>>>fixW = tf.assign(W, [-1.])
>>>fixb = tf.assign(b, [1.])
>>>sess.run([fixW, fixb])
>>>print(sess.run(loss, {x: [1, 2, 3, 4], y: [0, -1, -2, -3]}))

Druckausgabe


0.0

Recommended Posts

Ich habe das TensorFlow-Tutorial als erstes ausprobiert
Ich habe das 2. TensorFlow-Tutorial ausprobiert
TensorFlow Tutorial Ich habe MNIST 3rd ausprobiert
Ich habe das MNIST-Tutorial von tensorflow für Anfänger ausprobiert.
TensorFlow Tutorial Ich habe CNN 4th ausprobiert
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich habe versucht, TensorFlow auszuführen
Ich habe versucht, das TensorFlow-Tutorial mit Kommentaren auszuführen (_TensorFlow_2_0_Einführung für Anfänger).
Ich habe die Changefinder-Bibliothek ausprobiert!
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe das TensorFlow-Tutorial mit Kommentaren ausgeführt (Textklassifizierung von Filmkritiken).
Ich habe versucht, den für TensorFlow geschriebenen Code nach Theano zu portieren
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich habe die Naro-Roman-API 2 ausprobiert
Ich habe versucht, das CNN-Modell von TensorFlow mit TF-Slim umzugestalten
Ich habe die neuartige API von Naruro ausprobiert
TensorFlow Tutorial Tutorial
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, den Abschnitt zu schätzen.
[Für Anfänger] Ich habe versucht, die Tensorflow-Objekterkennungs-API zu verwenden
Ich habe den asynchronen Server von Django 3.0 ausprobiert
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren
Ich habe versucht, den Befehl umask zusammenzufassen
Ich habe versucht, AutoEncoder mit TensorFlow zu visualisieren
Ich versuchte das Weckwort zu erkennen
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Ich habe das OSS-Visualisierungstool superset ausprobiert
Ich habe versucht, Text mit TensorFlow zu klassifizieren
Ich habe versucht, die grafische Modellierung zusammenzufassen.
Ich habe versucht, das Umfangsverhältnis π probabilistisch abzuschätzen
Ich habe versucht, die COTOHA-API zu berühren
Python: Ich habe das Problem des Handlungsreisenden ausprobiert
Ich habe versucht, mit Pillow mit dem Bild zu spielen
Ich habe das Python Tornado Testing Framework ausprobiert
Ich habe versucht, die BigQuery-Speicher-API zu verwenden
Ich habe versucht, das Gesichtsbild mit sparse_image_warp von TensorFlow Addons zu transformieren
Ich habe versucht zu kratzen
Ich habe PyQ ausprobiert
Ich habe AutoKeras ausprobiert
Ich habe es mit Papiermühle versucht
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe Web Scraping versucht, um die Texte zu analysieren.
Ich habe die Pivot-Table-Funktion von Pandas ausprobiert
[Python] Ich habe versucht, den Funktionsnamen durch den Funktionsnamen zu ersetzen
Ich habe versucht, die Wetterkarte einer Clusteranalyse zu unterziehen
Ich habe versucht, die Qiita-API von Anfang an zu aktivieren
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe versucht, beim Trocknen der Wäsche zu optimieren
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich habe versucht, "Birthday Paradox" mit Python zu simulieren
Ich habe die Methode der kleinsten Quadrate in Python ausprobiert
Ich habe mit TensorFlow eine nicht negative Matrixzerlegung (NMF) versucht
Ich habe versucht, PyCaret mit der schnellsten Geschwindigkeit zu verwenden
Ich habe zuerst die SARS-Analyse vor dem Corona-Virus versucht
Ich habe versucht, die Google Cloud Vision-API zu verwenden