[PYTHON] Versuchen Sie es mit TensorFlow

TensorFlow Eine maschinelle Lernbibliothek von Google, die im November 2015 angekündigt wurde. Es heißt "Tensol Flow". Es wird tatsächlich im Dienst des Unternehmens verwendet.

Einige Leute haben verschiedene Dinge geschrieben, aber da die Oberfamilie die beste ist, werde ich versuchen, sie sofort einzutragen https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html

#Vorbereitungen
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

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

Führen Sie zunächst den vorbereiteten Test für Python durch

>>> 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

Es funktionierte

Machen Sie ein Tutorial für Anfänger

Immerhin sehen die Oberfamilie https://www.tensorflow.org/versions/master/tutorials/mnist/beginners/index.html

image Maschinelles Lernen wird unter Verwendung eines Datensatzes der obigen handgeschriebenen numerischen Bilder durchgeführt, der als MNIST bezeichnet wird. Dies ist eine Bestätigung der Grundbedienung wie Hello World der Programmierung.

Zunächst erhalte ich die Daten, aber es scheint, dass ich sie bereits automatisch abrufen kann, indem ich Folgendes eingebe.

>>> 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

Welche Art von Daten ist zum Beispiel so? 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

Also werde ich es tatsächlich versuchen, aber ich werde die Erklärung der Berechnungsmethode darin überspringen, weil sie schwer ist.

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

Zuerst mache ich eine Schachtel, um sie hinein zu legen. Da das Bild 28 x 28 = 784 Pixel groß ist, benötigen wir einen 784-dimensionalen Vektor. Da es sich um eine Zahl handelt, handelt es sich um eine Box für 10-dimensionale = 10 Merkmale von 0 bis 9.

image

Die Formel lautet y = softmax (w * x + b) image


Ich werde das Training von hier aus machen

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

Um zu lernen, müssen wir definieren, was gut und was schlecht ist. Hier trainieren wir mit der Kostenfunktion "Cross Entropy". Hier wird auch das richtige Antwortdatenfeld y_ erstellt. Berechnen wir den Cross-Entry-Pee, und hier verwenden wir den Gradientenabstiegsalgorithmus mit einer Lernrate von cross_entropy 0,5, um den zu minimierenden TensorFlow zu finden. Zum Schluss mit der Sitzung initialisieren

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

Jetzt, wo du bereit bist, lass uns! Training ... 1000 Schritte

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

Holen Sie sich einen "Stapel" von 100 zufälligen Datenpunkten aus dem MNIST-Trainingssatz und führen Sie die Schritte aus


Bewerten Sie das Modell. Erstellen Sie zunächst einen Berechnungssatz

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

Lauf

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

Es scheint, dass die richtige Antwortrate 90% beträgt. Dies ist jedoch nicht sehr genau, und wenn Sie Feineinstellungen vornehmen, können Sie es auf 99,7% erhöhen ... Magica w

Auch hier scheint es eine ausführliche Erklärung zu geben https://drive.google.com/file/d/0B04ol8GVySUubjVsUDdXc0hla00/view

Ich werde verschiedene Dinge tun, um die Genauigkeit zu verbessern. Fahren Sie mit Teil 2 fort http://qiita.com/northriver/items/4f4690053e1770311335

Recommended Posts

Versuchen Sie es mit TensorFlow
Versuchen Sie es mit TensorFlow Part 2
Versuchen Sie Deep Learning mit FPGA
Probieren Sie die Bitcoin-Preisprognose mit Deep Learning aus
Versuchen Sie es mit Chainer Deep Q Learning - Launch
Versuchen Sie mit Kipoi tiefes Erlernen der Genomik
Versuchen Sie eine Regression mit TensorFlow
Deep Kernel Learning mit Pyro
Versuchen Sie es mit Kaggle leicht maschinell
Generiere Pokemon mit Deep Learning
Versuchen Sie TensorFlow MNIST mit RNN
Tiefes Lernen
Identifikation der Katzenrasse mit Deep Learning
Lernen stärken 13 Probieren Sie Mountain_car mit ChainerRL aus.
Machen Sie ASCII-Kunst mit tiefem Lernen
SVM versucht maschinelles Lernen mit Scikit-Learn
Überprüfen Sie die Kniebeugenform mit tiefem Lernen
Kategorisieren Sie Nachrichtenartikel mit Deep Learning
Snack-Umsatzprognose mit Deep Learning
Versuchen Sie Common Representation Learning mit Chainer
Bringen Sie Menschen mit Deep Learning zum Lächeln
Versuchen Sie Daten parallel zu Distributed TensorFlow
Versuchen Sie, ein Deep Learning / Neuronales Netzwerk mit Scratch aufzubauen
[Evangelion] Versuchen Sie, mit Deep Learning automatisch Asuka-ähnliche Linien zu erzeugen
Versuchen Sie es mit verteiltem Tensorfluss
Klassifizieren Sie Anime-Gesichter mit tiefem Lernen mit Chainer
Tiefes Lernen / Tiefes Lernen von Grund auf 2-Versuchen Sie, GRU zu bewegen
Deep Learning Memorandum
Aktienkursprognose mit Deep Learning (TensorFlow)
Starten Sie Deep Learning
Emotionale Analyse von Tweets mit Deep Learning
Python Deep Learning
Deep Learning × Python
Einführung in Deep Learning (2) - Versuchen Sie Ihre eigene nichtlineare Regression mit Chainer-
Umgang mit Tensorflow mit GPU beim Deep Learning, das plötzlich nicht mehr funktioniert
Zundokokiyoshi mit TensorFlow
Brechen Sie Blöcke mit Tensorflow
Probieren Sie TensorFlows RNN mit einem Basismodell aus
Stärkung des Lernens 11 Probieren Sie OpenAI Acrobot mit ChainerRL aus.
Eine großartige Einführung in Couseras TensorFlow, um Ihnen den Einstieg in Deep Learning zu erleichtern
Die Geschichte des tiefen Lernens mit TPU
Versuchen Sie Tensorflow mit einer GPU-Instanz unter AWS
Speicherverlust trat nach dem Lernen von DQN mit Tensorflow == 2.0.0 auf
99,78% Genauigkeit bei tiefem Lernen durch Erkennen von handgeschriebenem Hiragana
Aktienkursprognose mit Deep Learning (TensorFlow) -Teil 2-
Versuchen Sie es mit Python.
Erstes tiefes Lernen ~ Kampf ~
Python lernen mit ChemTHEATER 03
"Objektorientiert" mit Python gelernt
Python lernen mit ChemTHEATER 05-1
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Deep Learning von Grund auf neu
Daten mit TensorFlow lesen
Bootsrennen Vorhersage mit TensorFlow
Deep Learning 1 Übung des Deep Learning
Deep Learning / Cross Entropy
Erstes tiefes Lernen ~ Vorbereitung ~
Erstes tiefes Lernen ~ Lösung ~
[AI] Deep Metric Learning