[PYTHON] Lernen Sie nicht mit der TensorFlow ~ Fibonacci-Sequenz der Bibliothek für maschinelles Lernen

Für diejenigen, die nicht mit maschinellem Lernen vertraut sind, aber innerhalb des Bereichs berechnen möchten, den sie verstehen können, versuchen wir die Fibonacci-Zahlenfolge mit TensorFlow.

Basic

Fibonacci-Folge $ a_{n+2} = a_{n+1} + a_n, \\ a_1 = 1, \\ a_0 = 0 $

Zum Beispiel zu berechnen


u = 1
v = 0
for i in range(100):
	print i, v 
	u = u + v
	v = u - v

Sie können es so machen.

Vorbereitung

TensorFlow

import tensorflow as tf

Angenommen, Sie möchten mit lesen.

Variable Ändern wir zunächst die Variablen u und v in TensorFlow-Variablen. Verwenden Sie dazu Variable wie folgt:

u = tf.Variable(1, "int64")
v = tf.Variable(0, "int64")

Ich habe int64 als Überlauf-Gegenmaßnahme gewählt, aber leider tritt in Abschnitt 93 ein Überlauf auf. Wenn dies weggelassen wird, wird es als int32 behandelt.

Anzeige

Es hört sich so an, als könnten Sie es mit "print u" drucken, aber leider bekommen Sie nicht das, was Sie erwarten. TensorFlow ist in eine Phase der Definition von Variablen, Funktionen und Prozeduren und eine Phase der tatsächlichen Datenverarbeitung unterteilt.

Verwenden Sie tf.Session, um die Daten tatsächlich zu verarbeiten. Variablen müssen zu Beginn der Sitzung initialisiert werden. Verwenden Sie dazu tf.initialize_all_variables. Und Sie können die Werte von u und v erhalten, indem Sie die folgenden Schritte ausführen.

init = tf.initialize_all_variables()
with tf.Session() as sess:
	sess.run(init)
	print sess.run(v)

Nehmen Sie Werte und führen Sie Prozeduren mit sess.run aus.

aktualisieren

Der Rest ist der Wertaktualisierungsteil. Verwenden Sie tf.assign für die Zuordnung. Verwenden Sie tf.add und tf.sub zum Addieren und Subtrahieren. Definieren wir eine Prozedur namens Substitution.

update_u = tf.assign(u, tf.add(u, v)) # u = u + v
update_v = tf.assign(v, tf.sub(u, v)) # v = u - v

Zusammenfassung

Um die obige Geschichte zusammenzufassen:

import tensorflow as tf

u = tf.Variable(tf.cast(1,"int64"))
v = tf.Variable(tf.cast(0,"int64"))

update_u = tf.assign(u, tf.add(u,v))
update_v = tf.assign(v, tf.sub(u,v))

init = tf.initialize_all_variables()

with tf.Session() as sess:
	sess.run(init)
	for i in range(100):
		print i, sess.run(v)
		sess.run(update_u)
		sess.run(update_v)

Wenn ich es ausführe, zeigt die CPU irgendwie ein Protokoll an, das mit I beginnt, aber da es sich um Info handelt, ist es mir egal.

Wenn Sie TensorFlow noch nicht berührt haben, lassen Sie uns etwas unternehmen.

Recommended Posts

Lernen Sie nicht mit der TensorFlow ~ Fibonacci-Sequenz der Bibliothek für maschinelles Lernen
Installieren Sie die Bibliothek für maschinelles Lernen TensorFlow auf fedora23
Bibliothek für maschinelles Lernen dlib
Maschinelles Lernen (TensorFlow) + Lotto 6
Lerne irgendwie maschinelles Lernen
Bibliothek für maschinelles Lernen Shogun
Lernen Sie das kollaborative Filtern zusammen mit Coursera-Materialien für maschinelles Lernen
Installation von TensorFlow, einer Bibliothek für maschinelles Lernen von Google
Site-Zusammenfassung zum Erlernen des maschinellen Lernens mit englischen Videos
Maschinelles Lernen mit Pokemon gelernt
Versuchen Sie es mit TensorFlow
Maschinelles Lernen mit Python! Vorbereitung
Für diejenigen, die mit TensorFlow2 maschinelles Lernen beginnen möchten
Maschinelles Lernen Minesweeper mit PyTorch
Maschinelles Lernen mit Nogisaka 46 und Keyakizaka 46 Teil 1 Einführung
Beginnend mit maschinellem Python-Lernen
Versuchen Sie es mit Kaggle leicht maschinell
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
[Lesehinweis] Praktisches maschinelles Lernen mit Scikit-Learn, Keras und TensorFlow Kapitel 1
Wechseln Sie nicht mit pyenv global!
Ich habe maschinelles Lernen mit liblinear versucht
Maschinelles Lernen mit Python (1) Gesamtklassifizierung
[TensorFlow 2] Lernen Sie RNN mit CTC-Verlust
Versuchen Sie es mit TensorFlow Part 2
SVM versucht maschinelles Lernen mit Scikit-Learn
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
Einführung in die Bibliothek für maschinelles Lernen SHOGUN
Quanteninspiriertes maschinelles Lernen mit Tensornetzwerken
Beginnen Sie mit dem maschinellen Lernen mit SageMaker
"Scraping & maschinelles Lernen mit Python" Lernnotiz
Ich habe versucht, das Modell mit der Low-Code-Bibliothek für maschinelles Lernen "PyCaret" zu visualisieren.
[Memo / Erstellen] "Praktisches maschinelles Lernen mit Scikit-Learn & TensorFlow" Englische Übersetzung ins Japanische
Vorhersage des Strombedarfs durch maschinelles Lernen Teil 2
[Stärkung des Lernens] DQN mit Ihrer eigenen Bibliothek
Lernen Sie mit TensorFlow Y = 2X verteilte Daten
Verstärken Sie Bilder für maschinelles Lernen mit Python
Unausgeglichenes Datenlernen mit maschinellem Lernen k-NN
Maschinelles Lernen mit Python (2) Einfache Regressionsanalyse
TensorFlow Kochbuch zum maschinellen Lernen Kapitel 2 Persönlich verstopft
Eine Geschichte über maschinelles Lernen mit Kyasuket
[Shakyo] Begegnung mit Python zum maschinellen Lernen
Ich habe versucht, mit Python ② (Fibonacci-Zahlenfolge) aufzuklären.
Berechnen Sie die Fibonacci-Sequenz mit Generator und Iterator
Maschinelles Lernen mit Pytorch in Google Colab
TensorFlow Kochbuch zum maschinellen Lernen Kapitel 3 Persönlich verstopft
Aufbau einer KI / maschinellen Lernumgebung mit Python
[Maschinelles Lernen] Regressionsanalyse mit Scicit Learn
Kapitel 6 Überwachtes Lernen: Klassifizierung pg212 ~ [Lernen Sie, indem Sie sich mit Python bewegen! Neues Lehrbuch für maschinelles Lernen]