[PYTHON] J'ai essayé le tutoriel TensorFlow 1er

J'ai essayé le Tutoriel officiel de TensorFlow C'est juste un simple graphique de calcul. Assurez-vous que TensorFlow est installé.

Introduction à TensorFlow

Exécutez python dans le terminal (ci-après dans l'interpréteur)

Importation Tensorflow

>>>import tensorflow as tf

Graphique de calcul

>>>node1 = tf.constant(3.0, dtype=tf.float32) #Constante 3.Mettre à 0
>>>node2 = tf.constant(4.0)
>>>print(node1, node2)

Les nœuds génèrent 3.0 et 4.0 lorsqu'ils sont évalués. Pour évaluer réellement un nœud, vous devez exécuter un graphe de calcul dans la session.

sortie d'impression


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

Créez un objet Session et appelez la méthode d'exécution pour exécuter le graphe de calcul (nœud1, nœud2) pour évaluation.

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

sortie d'impression


[3.0, 4.0]

Un calcul complexe (nouveau graphe de calcul) est créé en combinant ces nœuds (nœud1, nœud2). Ajouter (créer un ajout) pour le moment

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

sortie d'impression


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

Puisque les constantes sont définies dans ce graphique telles quelles, utilisez placeholder pour accepter l'entrée externe.

>>>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]}))

sortie d'impression


7.5
[ 3.  7.]

Rendons le graphique de calcul plus compliqué.

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

Lorsque je le convertis en une formule, il effectue le calcul suivant. «(a + b) * 3»

sortie d'impression


22.5

L'apprentissage automatique doit pouvoir modifier le graphique pour obtenir une nouvelle sortie avec la même entrée. Les variables vous permettent d'ajouter des paramètres entraînables à votre graphique.

Lorsque tf.constant est appelé, il est initialisé et une constante est définie, donc elle ne peut pas être modifiée. tf.Variable peut être mis à jour sans initialiser la variable même si la variable est appelée.

>>>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]}))

ʻInit = .. ~ ʻest une variable pour initialiser toutes les variables du programme TensorFlow. Les variables ne sont initialisées que lorsque vous appelez sess.run (init)

sortie d'impression


[ 0.          0.30000001  0.60000002  0.90000004]

Nous avons besoin d'un espace réservé pour fournir la valeur de la valeur souhaitée (données de l'enseignant), et nous avons également besoin d'une fonction de perte.

Fonction de perte

Mesure la distance entre la valeur produite par le modèle actuel et les données de l'enseignant. Utilisez le modèle de perte standard pour la régression linéaire des valeurs produites par le modèle et les données d'apprentissage. linear_model --y calcule le vecteur de l'erreur que chaque élément tyers, et met l'erreur au carré avec tf.square. Appelez ensuite tf.reduce_sum pour générer un seul scalaire qui résume toutes les erreurs.

>>>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]}))

La sortie d'impression renvoie la valeur de la fonction de perte.

sortie d'impression


23.66

{x: [1, 2, 3, 4], y: [0, -1, -2, -3]} En regardant les deux valeurs de l'entrée, quand W = -1 b = 1 La perte est probablement nulle. Vous pouvez utiliser tf.assign pour changer le poids et le biais.

>>>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]}))

sortie d'impression


0.0

Recommended Posts

J'ai essayé le tutoriel TensorFlow 1er
J'ai essayé le tutoriel TensorFlow 2ème
Tutoriel TensorFlow J'ai essayé MNIST 3rd
J'ai essayé le tutoriel MNIST de tensorflow pour les débutants.
Tutoriel TensorFlow J'ai essayé CNN 4th
J'ai essayé tensorflow pour la première fois
J'ai essayé d'exécuter TensorFlow
J'ai essayé d'exécuter le didacticiel TensorFlow avec des commentaires (_TensorFlow_2_0_Introduction pour les débutants)
J'ai essayé la bibliothèque changefinder!
J'ai essayé d'utiliser magenta / TensorFlow
J'ai couru le tutoriel TensorFlow avec des commentaires (classification du texte des critiques de films)
J'ai essayé de porter le code écrit pour TensorFlow sur Theano
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé le roman Naro API 2
J'ai essayé de refactoriser le modèle CNN de TensorFlow en utilisant TF-Slim
J'ai essayé l'API du roman Naruro
Tutoriel du didacticiel TensorFlow
J'ai essayé de déplacer le ballon
J'ai essayé d'utiliser l'API checkio
J'ai essayé d'estimer la section.
[Pour les débutants] J'ai essayé d'utiliser l'API Tensorflow Object Detection
J'ai essayé le serveur asynchrone de Django 3.0
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de résumer la commande umask
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé de reconnaître le mot de réveil
J'ai essayé de jouer au jeu ○ ✕ en utilisant TensorFlow
J'ai essayé l'outil de visualisation OSS, sur-ensemble
J'ai essayé de classer le texte en utilisant TensorFlow
J'ai essayé de résumer la modélisation graphique.
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai essayé de toucher l'API COTOHA
Python: j'ai essayé le problème du voyageur de commerce
J'ai essayé de jouer avec l'image avec Pillow
J'ai essayé le framework de test Python Tornado
J'ai essayé d'utiliser l'API BigQuery Storage
J'ai essayé de transformer l'image du visage en utilisant sparse_image_warp de TensorFlow Addons
J'ai essayé de gratter
J'ai essayé PyQ
J'ai essayé AutoKeras
J'ai essayé le moulin à papier
J'ai essayé django-slack
J'ai essayé Django
J'ai essayé spleeter
J'ai essayé cgo
J'ai essayé Web Scraping pour analyser les paroles.
J'ai essayé la fonction de tableau croisé dynamique des pandas
[Python] J'ai essayé de remplacer le nom de la fonction par le nom de la fonction
J'ai essayé l'analyse par grappes de la carte météo
J'ai essayé d'accéder à l'API Qiita depuis le début
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé d'optimiser le séchage du linge
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé de simuler "Birthday Paradox" avec Python
J'ai essayé la méthode des moindres carrés en Python
J'ai essayé la décomposition matricielle non négative (NMF) avec TensorFlow
J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide
J'ai essayé l'analyse du SRAS avant le virus corona
J'ai essayé d'utiliser l'API Google Cloud Vision