[PYTHON] Künstliche Intelligenz durch maschinelles Lernen mit TensorFlow aus Null Wissen schaffen - Einführung 1

TensorFlow

TensorFlow ist eine maschinelle Lernbibliothek, die von Google als Open Source veröffentlicht wurde. www.tensorflow.org

Dies ist die Schlussfolgerung, die ich gezogen habe, nachdem ich eine Weile ein Buch über maschinelles Lernen gelesen und TensorFlow berührt hatte.

** TensorFlow ist nichts, was Anfänger des maschinellen Lernens leicht verwenden können **

Mit TensorFlow können Sie das Konzept des maschinellen Lernens intuitiv in Ihren Code integrieren. Zu diesem Zweck ist es jedoch erforderlich, die Theorie des maschinellen Lernens im Voraus zu kennen. Wenn Sie die Begriffe "neuronales Netzwerk" und "Strukturmuster-Mining" nicht verstehen, müssen Sie anhalten und nachforschen.

Wenn Sie jedoch Mathematik mögen, macht die Welt, in der alles durch mathematische Formeln ausgedrückt wird, seltsamerweise Spaß. Wenn Sie den Algorithmus kennen und wissen, wie man ihn benutzt, können Sie sicherlich interessante Dinge auf einer beträchtlichen Ebene implementieren.

Installation von TensorFlow (MacOS)

Nun, es ist das gleiche, auch wenn Sie hier schauen und es installieren, aber ich werde es vorerst schreiben. Es wird in ca. 5 Minuten abgeschlossen sein. https://www.tensorflow.org/versions/master/get_started/os_setup.html

Überprüfen Sie die Version von Python. Ok, wenn 2.7 oder höher

$ python -V
Python 2.7.10

Installieren Sie pip

$ sudo easy_install pip

Installieren Sie virtualenv

$ sudo pip install --upgrade virtualenv

Erstellen Sie eine virtuelle Umgebung in ~ / tensorflow (ändern Sie die Ordnerspezifikation, wenn Sie sie an einem anderen Ort ablegen möchten).

$ virtualenv --system-site-packages ~/tensorflow

Tensorflow aktivieren. Nach der Ausführung lautet die Anzeige der Eingabeaufforderung (Tensorflow) $.

$ source ~/tensorflow/bin/activate

Installieren Sie TensorFlow

(tensorflow)$ pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl

Ende.

Einfache Erstellung von Python-Programmen

Als Antwort auf das Gefühl "Ich möchte alles bewegen, weil es keine Rolle spielt!" Vor einer schwierigen Theorie werde ich mit Python-Code beginnen, den selbst unerfahrene Python-Benutzer leicht verstehen können.

x = 1
y = x + 2
print(y)

Schreiben Sie diesen Code und speichern Sie ihn als test.py. Und wenn Sie es ausführen

(tensorflow)$ python test.py
3

Das Ergebnis ist natürlich 3.

Schreiben Sie ein einfaches Python-Programm mit TensorFlow neu

Als nächstes schreiben wir dies ein wenig wie TensorFlow um.

import tensorflow as tf

x = tf.constant(1, name='x')
y = tf.Variable(x + 2, name='y')

print(y)

Dies ist das Ergebnis des Speicherns und Ausführens mit test2.py.

(tensorflow) $ python test2.py
<tensorflow.python.ops.variables.Variable object at 0x10f6e5110>

Etwas ist offensichtlich anders. Der Grund ist, dass es einen anderen Prozess als der vorherige Code ausführt.

Erläutern Sie den Verarbeitungsinhalt Zeile für Zeile im Code von test2.py

  1. Importieren Sie das Tensorflow-Modul und machen Sie es tf
  2. Machen Sie einen konstanten Wert und lassen Sie ihn x sein. Setzen Sie die Nummer 1 in das x
  3. Erstellen Sie eine Variable und lassen Sie sie y sein. Die Definition von y sei dieselbe wie x + 2
  4. Ausgabe y

Mit anderen Worten, der subtile Unterschied besteht darin, dass y nur definiert ist und der numerische Wert noch nicht wie im vorherigen Code eingegeben wurde.

Wenn Sie dies in einen richtigen Code ändern, sieht es so aus.

import tensorflow as tf

x = tf.constant(1, name='x')
y = tf.Variable(x + 2, name='y')

model = tf.initialize_all_variables()

with tf.Session() as session:
    session.run(model)
    print(session.run(y))

Erklärung für jede Zeile

  1. Importieren Sie das Tensorflow-Modul und machen Sie es tf
  2. Machen Sie einen konstanten Wert und lassen Sie ihn x sein. Setzen Sie die Nummer 1 in das x
  3. Erstellen Sie eine Variable und lassen Sie sie y sein. Die Definition von y sei dieselbe wie x + 2
  4. Initialisieren Sie Variablen mit initialize_all_variables
  5. Erstellen Sie eine auszuführende Sitzung 6.4 Führen Sie das in 4 erstellte Modell aus.
  6. Führen Sie y aus, um auszugeben

Dann ist das Ergebnis wie gezeigt 3.

(tensorflow) hellow $ python test2.py
can't determine number of CPU cores: assuming 4
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 4
can't determine number of CPU cores: assuming 4
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 4
3

Zusammenfassung der Einführung 1

Sie mögen denken, dass das obige Beispiel "problematisch" ist, aber dies ist nur ein einfaches Beispiel. Und hier unterscheiden sich der normale Code und TensorFlow ein wenig. Wenn Sie denken: "Es ist nicht so einfach, aber erklären Sie die Verarbeitung natürlicher Sprache oder die Vorhersage der Zukunft." Wenn Sie dies nicht verstehen, werden Sie später hierher zurückkehren. Ich habe es zuerst von hier aus geschrieben, weil es enden würde. Wenn Sie von der Nachricht begeistert sind, dass AlphaGo den Weltmeister von Go besiegt hat, und von Amazon Echo begeistert sind, das nur durch Gespräche gut reagiert, werden Sie mit Sicherheit in die Welt des maschinellen Lernens mit TensorFlow vertieft sein. Nein, maschinelles Lernen Omoroi! heiß!

Dieses Einführungsbuch wird ab dem nächsten Mal ernsthaft interessant sein.

An alle Ingenieure

"Ein Rätsel, das von den meisten Ingenieuren gelöst werden kann, aber nicht nur von den unteren 10% der schlechten Ingenieure?" Ich habe einige Serien gemacht. Wenn Sie interessiert sind, versuchen Sie bitte, es zu lösen. Dieses Puzzle hat übrigens nichts mit TensorFlow zu tun. http://tango-ruby.hatenablog.com/entry/2015/11/30/122814

Recommended Posts

Künstliche Intelligenz durch maschinelles Lernen mit TensorFlow aus Null Wissen schaffen - Einführung 1
Eine Geschichte über einfaches maschinelles Lernen mit TensorFlow
Erstellen eines Positionsschätzungsmodells für den Intelligenzwettbewerb menschlicher Wölfe mithilfe von maschinellem Lernen
Python-Lernnotiz für maschinelles Lernen von Chainer aus Kapitel 2
Installation von TensorFlow, einer Bibliothek für maschinelles Lernen von Google
Maschinelles Lernen (TensorFlow) + Lotto 6
Künstliche Intelligenz, maschinelles Lernen, tiefes Lernen zu implementieren und zu verstehen
Sammeln Sie Daten zum maschinellen Lernen, indem Sie aus biobasierten öffentlichen Datenbanken kratzen
Lernen aus den Grundlagen Lehrbuch für künstliche Intelligenz Kapitel 5 Kapitelende Probleme
[Für Anfänger] Re: Genetischer Algorithmus ab Null [Künstliche Intelligenz]
4 [/] Vier Arithmetik durch maschinelles Lernen
Verwendung der offenen Daten von Data City Sabae zur Vorhersage des Werts des Wasserstandsmessers durch maschinelles Lernen Teil 2
Zusammenfassung der empfohlenen APIs für künstliche Intelligenz, maschinelles Lernen und KI
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 4 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 3 Memo
Deep Learning / Deep Learning von Null 2 Kapitel 5 Memo
[Maschinelles Lernen] Unkorrelation aus der Mathematik verstehen
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Deep Learning / Deep Learning von Null 2 Kapitel 7 Memo
Deep Learning / Deep Learning von Null 2 Kapitel 8 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 5 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 4 Memo
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 3 Memo
Erstellen eines Lernmodells mit MNIST
Deep Learning / Deep Learning von Null 2 Kapitel 6 Memo
Anwendungsentwicklung mit Azure Machine Learning
Mit dem Ziel, ein Ingenieur für maschinelles Lernen zu werden, der MOOCs aus Vertriebspositionen verwendet
[ML-Aents] Ich habe versucht, maschinelles Lernen mit Unity und TensorFlow of Python (v0.11β-kompatibel) zu lernen.
[Memo / Erstellen] "Praktisches maschinelles Lernen mit Scikit-Learn & TensorFlow" Englische Übersetzung ins Japanische