[PYTHON] Ne pas apprendre avec la séquence TensorFlow ~ Fibonacci de la bibliothèque d'apprentissage automatique

Pour ceux qui ne sont pas familiarisés avec l'apprentissage automatique mais qui souhaitent calculer dans la plage qu'ils peuvent comprendre, essayons la séquence de nombres de Fibonacci avec TensorFlow.

De base

Séquence de Fibonacci $ a_{n+2} = a_{n+1} + a_n, \\ a_1 = 1, \\ a_0 = 0 $

Par exemple, pour calculer


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

Vous pouvez le faire comme ça.

Préparation

TensorFlow

import tensorflow as tf

Supposons que vous vouliez lire avec.

Variable Commençons par changer les variables u et v en variables TensorFlow. Pour ce faire, utilisez Variable comme suit:

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

J'ai choisi int64 comme contre-mesure de débordement, mais malheureusement, un débordement se produit à la section 93. Si cela est omis, il sera traité comme int32.

afficher

On dirait que vous pouvez l'imprimer avec print u, mais malheureusement vous n'obtiendrez pas ce que vous attendez. TensorFlow est divisé en une phase de définition de variables, de fonctions et de procédures, et une phase de traitement effectif des données.

Utilisez tf.Session pour traiter réellement les données. Les variables doivent être initialisées au début de la session. Utilisez tf.initialize_all_variables pour cela. Et vous pouvez obtenir les valeurs de u et v en procédant comme suit.

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

Prenez des valeurs et exécutez des procédures avec sess.run.

mise à jour

Le reste est la partie mise à jour de la valeur. Utilisez tf.assign pour l'affectation. Utilisez tf.add et tf.sub pour l'addition et la soustraction. Et définissons une procédure appelée 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

Résumé

Pour résumer l'histoire ci-dessus,

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)

Quand je l'exécute, je vois un journal qui commence par I, mais je m'en fiche car c'est Info.

Si vous n'avez pas encore touché TensorFlow, faisons quelque chose.

Recommended Posts

Ne pas apprendre avec la séquence TensorFlow ~ Fibonacci de la bibliothèque d'apprentissage automatique
Installez la bibliothèque d'apprentissage automatique TensorFlow sur fedora23
Bibliothèque d'apprentissage automatique dlib
Apprentissage automatique (TensorFlow) + Lotto 6
Apprenez en quelque sorte le machine learning
Bibliothèque d'apprentissage automatique Shogun
Apprenez le filtrage collaboratif avec les supports Coursera Machine Learning
Installation de TensorFlow, une bibliothèque d'apprentissage automatique de Google
Résumé du site pour apprendre l'apprentissage automatique avec une vidéo en anglais
L'apprentissage automatique appris avec Pokemon
Essayez l'apprentissage en profondeur avec TensorFlow
Apprentissage automatique avec Python! Préparation
Pour ceux qui souhaitent démarrer l'apprentissage automatique avec TensorFlow2
Démineur d'apprentissage automatique avec PyTorch
Apprentissage automatique pour apprendre avec Nogisaka 46 et Keyakizaka 46 Partie 1 Introduction
Commencer avec l'apprentissage automatique Python
Essayez le machine learning à la légère avec Kaggle
Une histoire coincée avec l'installation de la bibliothèque de machine learning JAX
[Note de lecture] Apprentissage automatique pratique avec Scikit-Learn, Keras et TensorFlow Chapitre 1
Ne changez pas avec pyenv global!
J'ai essayé l'apprentissage automatique avec liblinear
Apprentissage automatique par python (1) Classification générale
[TensorFlow 2] Apprendre RNN avec perte CTC
Essayez l'apprentissage en profondeur avec TensorFlow Partie 2
SVM essayant l'apprentissage automatique avec scikit-learn
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Présentation de la bibliothèque d'apprentissage automatique SHOGUN
Machine learning d'inspiration quantique avec des réseaux de tenseurs
Démarrez avec l'apprentissage automatique avec SageMaker
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
J'ai essayé de visualiser le modèle avec la bibliothèque d'apprentissage automatique low-code "PyCaret"
[Mémo / Création] "Apprentissage automatique pratique avec Scikit-Learn et TensorFlow" Traduction en japonais
Prédire la demande de puissance avec l'apprentissage automatique, partie 2
[Renforcer l'apprentissage] DQN avec votre propre bibliothèque
Apprenez les données distribuées avec TensorFlow Y = 2X
Amplifiez les images pour l'apprentissage automatique avec Python
Sklearn de données déséquilibrées avec apprentissage automatique k-NN
Apprentissage automatique avec python (2) Analyse de régression simple
TensorFlow Machine Learning Cookbook Chapitre 2 Personnellement bouché
Une histoire sur l'apprentissage automatique avec Kyasuket
[Shakyo] Rencontre avec Python pour l'apprentissage automatique
J'ai essayé la récurrence avec Python ② (séquence de nombres Fibonatch)
Calculer la séquence de Fibonacci avec générateur et itérateur
Apprentissage automatique avec Pytorch sur Google Colab
TensorFlow Machine Learning Cookbook Chapitre 3 Personnellement bouché
Construction d'environnement AI / Machine Learning avec Python
[Apprentissage automatique] Analyse de régression à l'aide de scicit learn
Chapitre 6 Apprentissage supervisé: Classification pg212 ~ [Apprenez en vous déplaçant avec Python! Nouveau manuel d'apprentissage automatique]