[PYTHON] Essayez l'apprentissage en profondeur avec TensorFlow

TensorFlow Une bibliothèque d'apprentissage automatique créée par Google, annoncée en novembre 2015. Il est dit de lire "Tensol Flow". Il est en fait utilisé au service de l'entreprise.

Certaines personnes ont écrit diverses choses, mais comme le chef de famille est le meilleur, je vais essayer de le mettre immédiatement https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html

#Les préparatifs
sudo easy_install pip
sudo easy_install --upgrade six
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
sudo pip install --upgrade virtualenv
sudo virtualenv --system-site-packages ~/tensorflow
source ~/tensorflow/bin/activate

#Installez TensorFlow
pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
source ~/tensorflow/bin/activate 
python

Tout d'abord, faites le test préparé pour python

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> hello
<tf.Tensor 'Const:0' shape=() dtype=string>
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42

Ça a marché

Faites un tutoriel pour les débutants

Après tout voir la famille principale https://www.tensorflow.org/versions/master/tutorials/mnist/beginners/index.html

image L'apprentissage automatique est effectué à l'aide d'un ensemble de données des images numériques manuscrites ci-dessus appelé MNIST. Ceci est positionné comme une confirmation du fonctionnement de base comme Hello World de la programmation.

Tout d'abord, j'obtiens les données, mais il semble que je puisse déjà les obtenir automatiquement en tapant ce qui suit.

>>> from tensorflow.examples.tutorials.mnist import input_data
>>> mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes. Extracting MNIST_data/train-images-idx3-ubyte.gz Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes. Extracting MNIST_data/train-labels-idx1-ubyte.gz Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes. Extracting MNIST_data/t10k-images-idx3-ubyte.gz Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes. Extracting MNIST_data/t10k-labels-idx1-ubyte.gz

Quel type de données est, par exemple, comme ça train-images-idx3-ubyte.gz: training set images (9912422 bytes)

0000 0803 0000 ea60 0000 001c 0000 001c 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0312 1212 7e88 af1a

Donc, je vais en fait essayer, mais je vais sauter l'explication de la méthode de calcul à l'intérieur car elle est lourde.

>>> import tensorflow as tf
>>> x = tf.placeholder(tf.float32, [None, 784])
>>> W = tf.Variable(tf.zeros([784, 10]))
>>> b = tf.Variable(tf.zeros([10]))
>>> y = tf.nn.softmax(tf.matmul(x, W) + b)

Tout d'abord, je fabrique une boîte pour la mettre. Comme l'image mesure 28x28 = 784 pixels, nous avons besoin d'un vecteur de 784 dimensions, et comme il s'agit d'un nombre, c'est une boîte pour 10 dimensions = 10 caractéristiques de 0 à 9.

image

La formule est y = softmax (w * x + b) image


Je vais faire la partie formation d'ici

>>> y_ = tf.placeholder(tf.float32, [None, 10])
>>> cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y),reduction_indices=[1]))
>>> train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

Pour apprendre, nous devons définir ce qui est bon et ce qui est mauvais. Ici, nous allons nous entraîner en utilisant la fonction de coût "Entropie croisée". La boîte de données de réponse correcte y_ est également créée ici. Calculons le pipi d'entrée croisée, et ici nous utilisons l'algorithme de descente de gradient avec un taux d'apprentissage de cross_entropy 0,5 pour trouver le TensorFlow à minimiser. Enfin initialisez avec la session

>>> init = tf.initialize_all_variables()
>>> sess = tf.Session()
>>> sess.run(init)

Maintenant que vous êtes prêt, allons-y! Formation ... 1000 étapes

for i in range(1000):
  batch_xs, batch_ys = mnist.train.next_batch(100)
  sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

Obtenez un "lot" de 100 points de données aléatoires à partir de l'ensemble d'entraînement MNIST et suivez les étapes


Évaluez le modèle. Commencez par créer un ensemble de calculs

>>> correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
>>> accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

Courir

>>> print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
0.9188

Il semble que le taux de réponse correcte soit de 90%. Cependant, la précision n'est pas élevée et si vous effectuez des ajustements fins, vous pouvez l'augmenter à 99,7% ... Magica w

Il semble y avoir une explication détaillée ici aussi https://drive.google.com/file/d/0B04ol8GVySUubjVsUDdXc0hla00/view

Je ferai diverses choses pour améliorer la précision. Continuer à la partie 2 http://qiita.com/northriver/items/4f4690053e1770311335

Recommended Posts

Essayez l'apprentissage en profondeur avec TensorFlow
Essayez l'apprentissage en profondeur avec TensorFlow Partie 2
Essayez le Deep Learning avec FPGA
Essayez les prévisions de prix Bitcoin avec Deep Learning
Essayez avec Chainer Deep Q Learning - Lancement
Essayez l'apprentissage profond de la génomique avec Kipoi
Essayez la régression avec TensorFlow
Apprentissage profond du noyau avec Pyro
Essayez le machine learning à la légère avec Kaggle
Générez des Pokémon avec Deep Learning
Essayez TensorFlow MNIST avec RNN
L'apprentissage en profondeur
Identification de la race de chat avec Deep Learning
Renforcer l'apprentissage 13 Essayez Mountain_car avec ChainerRL.
Faites de l'art ASCII avec l'apprentissage en profondeur
SVM essayant l'apprentissage automatique avec scikit-learn
Vérifiez la forme de squat avec l'apprentissage en profondeur
Catégoriser les articles de presse grâce au Deep Learning
Prévisions des ventes de collations avec apprentissage en profondeur
Essayez l'apprentissage de la représentation commune avec le chainer
Faites sourire les gens avec le Deep Learning
Essayez les données en parallèle avec TensorFlow distribué
Essayez de créer un réseau de neurones / d'apprentissage en profondeur avec scratch
[Evangelion] Essayez de générer automatiquement des lignes de type Asuka avec Deep Learning
Essayez Distributed Tensor Flow
Classez les visages d'anime avec l'apprentissage en profondeur avec Chainer
Apprentissage profond / Apprentissage profond à partir de zéro 2-Essayez de déplacer GRU
Mémorandum d'apprentissage profond
Prévision du cours des actions à l'aide du Deep Learning (TensorFlow)
Commencer l'apprentissage en profondeur
Analyse émotionnelle des tweets avec apprentissage en profondeur
Apprentissage en profondeur Python
Apprentissage profond × Python
Introduction au Deep Learning (2) - Essayez votre propre régression non linéaire avec Chainer-
La gestion du tensorflow a soudainement cessé de fonctionner en utilisant le GPU dans l'apprentissage en profondeur
Zundokokiyoshi avec TensorFlow
Casser des blocs avec Tensorflow
Essayez TensorFlow RNN avec un modèle de base
Renforcer l'apprentissage 11 Essayez OpenAI acrobot avec ChainerRL.
Une excellente introduction au TensorFlow de Cousera pour vous familiariser avec le Deep Learning
L'histoire de l'apprentissage profond avec TPU
Essayez Tensorflow avec une instance GPU sur AWS
Une fuite de mémoire s'est produite après l'apprentissage du DQN avec tensorflow == 2.0.0
99,78% de précision avec apprentissage en profondeur en reconnaissant les hiragana manuscrits
Prévision du cours des actions à l'aide du Deep Learning (TensorFlow) - Partie 2
Essayez de gratter avec Python.
Premier apprentissage profond ~ Lutte ~
Apprendre Python avec ChemTHEATER 03
"Orienté objet" appris avec python
Apprendre Python avec ChemTHEATER 05-1
Python: pratique du Deep Learning
Fonctions d'apprentissage en profondeur / d'activation
Apprentissage profond à partir de zéro
Lecture de données avec TensorFlow
Prévisions de courses de bateaux avec TensorFlow
Deep learning 1 Pratique du deep learning
Apprentissage profond / entropie croisée
Premier apprentissage profond ~ Préparation ~
Première solution d'apprentissage en profondeur ~
[AI] Apprentissage métrique profond