[PYTHON] Tensorflow-Memo [von Zeit zu Zeit aktualisiert]

Tensorflow-Memo

Es ist ein Memo, das ich zurückgelassen habe

Struktur des Tensorflusses

Konzept von Graphen, arithmetischen Knoten und Tensoren

Was ist ein Graph?

Eine Figur, die eine Schicht darstellt, die aus mehreren Neuronen besteht φ(X * W + b)

Besteht aus Knoten und Seiten, die die Knoten verbinden Es gibt arithmetische Knoten, variable Knoten, Druckmaschinenknoten usw.

Was ist Tensol?

Menge, die durch das Diagramm fließt

Tensol ist ein n-dimensionales Array oder eine Liste

Hauptnotation

Variable tf.Variable Matrixprodukt tf.matmul Anwendung von φ tf.nn.relu

Diagrammdefinition

graph.py


#Definition der Variablen für W.
weights = tf.Variable()
#Definition der zu setzenden Variablen b
bias = tf.Variable()
#Die Funktion der Schicht φ(X*W+b)Definiert in
#Hier verwendet φ relu
#Bilder ist die Eingabe, die diese Ebene empfängt
#hidden1 ist die Ausgabe dieser Ebene

#1. Schicht
hidden1 = tf.nn.relu(tf.matmul(images, weights) + bias)

#2. Schicht
hidden2 = tf.nn.relu(tf.matmul(hidden1,weights) + bias)
#images, weights, bias,hidden1 ist ein Tensor

Variablendefinition

Variable Initialisierung

init.py


w = tf.Variable(tf.random_norml([784, 200], stddev = 0.35), name = "weights")
b  =tf.Variable(tf.zeros([200], name = "biases")

#Eine Operation, die diese Variable initialisiert
#Hinweis! Es wurde noch nicht ausgeführt, nur ein Knoten wurde hinzugefügt.
init_op = tf.initialize_all_variables()


#Rufen Sie diese Initialisierung nach dem Start des Modells auf
#Das definierte Modell funktioniert zum ersten Mal in der Sitzung.
#Verwenden Sie run, um aufzurufen
with tf.Session() as sess:
    # Run the init operation.
    sess.run(init_op)




** Speichern und Wiederherstellen von Variablen

save.py


#Erstellen Sie eine Variable
v1 = tf.variable(..., name = "v1")
v2 = tf.variable(..., name = "v2")

#Variablen initialisieren init_Op-Knoten
init_op = tf.initalize_all_variables()
#Speichern Sie alle Variablen,Fügen Sie zum Wiederherstellen einen Sicherungsknoten hinzu
saver = tf.train.Saver()

#Nach dem Starten des Modells die Variablen initialisieren und einige Arbeiten ausführen
#Speichern Sie Variablen auf der Festplatte
with tf.Session() as sess:
  sess.run(init_op)
  #Mach etwas mit dem Modell
  ##########
  
  #Speichern Sie Variablen auf der Festplatte
  save_path = saver.save(sess, "/tmp/model.ckpt")
  print("Modef saved in file: %s" % save_path)

  #Variable Wiederherstellung
  saver.retore(sess, "/tmp/model.ckpt")
  print ("Modell restored")

Parameteroptimierung (Training)

Parameteroptimierung (Gewicht und Vorspannung)

  1. Erstellen Sie ein Diagramm und berechnen Sie die Ausgabe mit den Eingabedaten im Diagramm
  2. Vergleichen Sie die Ausgabe mit der richtigen Antwort. Verwenden Sie zum Vergleich die Verlustfunktion
  3. Verwenden Sie den Gradientenabstieg, um den Wert der Verlustfunktion auf einen kleineren Wert zu ändern
  4. Berechnen Sie die Ausgabe mit den neuen Parametern. Wiederholen, bis die Verlustfunktion klein ist

Hauptfunktionen

GradientDescentOptimizer() Optimierungsvorgang zur Parameteroptimierung. Optimieren Sie die Verlustfunktion mit diesem Optimierer

opt.py



###Im Fall der numerischen Vorhersage###
 loss = tf.reduce_mean(tf.square(y - y_data))
#Lernrate 0.Gefälle bei 5
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

###Im Falle einer Klassifizierung###
y_ = tf.placeholder("float", [None , 10])
cross_enttopy = -tf.reduce_sum(y_ * tf.log(y))
optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(cross_entropy)



Recommended Posts

Tensorflow-Memo [von Zeit zu Zeit aktualisiert]
progate Python-Lernnotiz (von Zeit zu Zeit aktualisiert)
vtkXMLUnstructuredGridReader Zusammenfassung (von Zeit zu Zeit aktualisiert)
vtkOpenFOAMReader-Zusammenfassung (von Zeit zu Zeit aktualisiert)
Ingenieur-Wortbuch (von Zeit zu Zeit aktualisiert)
Privates Python-Handbuch (von Zeit zu Zeit aktualisiert)
vtkClipPolyData / DataSet-Zusammenfassung (von Zeit zu Zeit aktualisiert)
[Von Zeit zu Zeit aktualisiert] Hinweise zum Postmarket-Betriebssystem
Zusammenfassung von vtkThreshold (von Zeit zu Zeit aktualisiert)
Zusammenfassung der gcc-Optionen (von Zeit zu Zeit aktualisiert)
[Von Zeit zu Zeit aktualisiert] LetCode-Algorithmus und Bibliothek
Hinweise zum maschinellen Lernen (von Zeit zu Zeit aktualisiert)
OpenFOAM-Spickzettel für die Nachbearbeitung (von Zeit zu Zeit aktualisiert)
Nützliche Hilfeseiten usw. (von Zeit zu Zeit aktualisiert)
Anaconda aktualisiert von 4.2.0 auf 4.3.0 (python3.5 aktualisiert auf python3.6)
Apache-Einstellungen, Protokollbestätigung usw. (* Von Zeit zu Zeit aktualisiert)
[Von Zeit zu Zeit aktualisiert] Überprüfung von Let Code NumPy
Ich habe die Chainer-Referenz gelesen (von Zeit zu Zeit aktualisiert).
[Von Zeit zu Zeit aktualisiert] Zusammenfassung der Entwurfsmuster in Java
Python (vom ersten Mal bis zur Ausführung)
(Von Zeit zu Zeit aktualisiert) Speicherort verschiedener VS-Code-Einstellungsdateien Notiz notieren
[Hinweis] Websites zu KI / maschinellem Lernen / Python [von Zeit zu Zeit aktualisiert]
Einfache Konvertierung von UTC in Ortszeit
Auf Python 2.7.9 aktualisiert
TensorFlow API-Memo
Erfahren Sie, wie Sie Bilder aus dem TensorFlow-Code aufblasen
Verstehen Sie Entwurfsmuster, indem Sie Implementierungen in JavaScript und Java vergleichen. [Von Zeit zu Zeit aktualisiert]
Änderungen von Python 3.0 zu Python 3.5
Flow Memo, um LOCUST vorerst zu verschieben
Übergang von WSL1 zu WSL2
Django Memo # 1 von Grund auf neu
[Von Zeit zu Zeit aktualisiert] Python-Memos, die häufig für die Datenanalyse verwendet werden [N-Division usw.]
Memorandum über Befehle, Pakete, Begriffe usw., die unter Linux verwendet werden (von Zeit zu Zeit aktualisiert)
Ausführung von MINST in TensorFlow 2.0 und Visualisierung in TensorBoard (Version 2019)
TensorFlow API-Memo (Python)
Von der Bearbeitung bis zur Ausführung
Hospital_dashboard wurde auf Version 2.0 aktualisiert
Liste meiner Artikel, die für Wettkampfprofis nützlich sein können (von Zeit zu Zeit aktualisiert)
[Einführung in matplotlib] Lesen Sie die Endzeit aus den COVID-19-Daten ♬
DJango Memo: Von Anfang an (weitere Änderungen am Verwaltungsbildschirm)
Selbststudien-Memo "Deep Learning from Grund" (Nr. 15) TensorFlow-Anfänger-Tutorial
Zusammenfassung der Ordner, in denen Ruby, Python, PostgreSQL usw. unter macOS installiert sind (von Zeit zu Zeit aktualisiert)
Vorsichtsmaßnahmen für das TensorFlow-Upgrade (auf 1.3)
Post von Python nach Slack
Memo zur Messung der Python-Ausführungszeit
Einführung in Private TensorFlow
Flirte von PHP nach Python
Portierung von Argparse zu Hydra
Übergang von Chainer v1 zu Chainer v2
Von Flask-RESTPlus nach Flask-RESTX migriert
Aktualisieren Sie python-social-auth von 0.1.x auf 0.2.x.
Migrieren Sie von require.txt zu pipenv
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
Stellen Sie von Python aus eine Verbindung zu SQLite her
[Python] Drücken Sie Keras von TensorFlow und TensorFlow von c ++, um die Ausführung zu beschleunigen.
Hinweise zum Verbinden von Bluetooth von einem Smartphone / PC mit Raspeye 4
git / python> git-Protokollanalyse (v0.1, v0.2)> Implementierung zum Schätzen der Arbeitszeit aus dem git-Protokoll