[PYTHON] Verwenden von TensorFlow mit Cloud9, einer Cloud-integrierten Entwicklungsumgebung - GetStarted-

Einführung

Ich arbeite an der Cloud-integrierten Entwicklungsumgebung Cloud9. Da ich maschinelles Lernen studiere, habe ich eine Umgebung erstellt, in der ich TensorFlow auf Cloud9 studieren möchte. Ich werde diese Notiz hinterlassen.

Umgebung

Cloud9 Python 2.7.6 Sample Codes : GitHub

Verfahren

Dies ist die Prozedur, bis Sie TensorFlows Erste Schritte in Cloud9 ausführen können.

  1. Erstellen Sie einen neuen Arbeitsbereich in Cloud9. Wählen Sie Python als Vorlage.
  2. Gehen Sie im Terminal wie folgt vor:
    export export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc0-cp27-none-linux_x86_64.whl
    sudo pip install --upgrade $TF_BINARY_URL
  3. Speichern Sie das Beispielprogramm Erste Schritte und führen Sie es aus. Entspricht der Veröffentlichung in TensorFlow GET STARTED.

getstarted.py


import tensorflow as tf
import numpy as np

# Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3

# Try to find values for W and b that compute y_data = W * x_data + b
# (We know that W should be 0.1 and b 0.3, but TensorFlow will
# figure that out for us.)
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b

# Minimize the mean squared errors.
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

# Before starting, initialize the variables.  We will 'run' this first.
init = tf.initialize_all_variables()

# Launch the graph.
sess = tf.Session()
sess.run(init)

# Fit the line.
for step in range(201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(W), sess.run(b))

# Learns best fit is W: [0.1], b: [0.3]

Wenn das Ausführungsergebnis nahe bei 0,1 und 0,3 liegt, bedeutet dies, dass der Koeffizient der geraden Linie durch Lernen vorhergesagt werden kann. Das Ergebnis, das ich ausgeführt habe, ist unten und ich sehe Werte nahe 0,1 und 0,3.

(0, array([ 0.45364389], dtype=float32), array([ 0.13226086], dtype=float32))
(20, array([ 0.18247673], dtype=float32), array([ 0.25206894], dtype=float32))
(40, array([ 0.12017135], dtype=float32), array([ 0.28827751], dtype=float32))
(60, array([ 0.10493329], dtype=float32), array([ 0.29713303], dtype=float32))
(80, array([ 0.10120656], dtype=float32), array([ 0.29929882], dtype=float32))
(100, array([ 0.10029508], dtype=float32), array([ 0.29982853], dtype=float32))
(120, array([ 0.10007217], dtype=float32), array([ 0.29995808], dtype=float32))
(140, array([ 0.10001764], dtype=float32), array([ 0.29998976], dtype=float32))
(160, array([ 0.10000434], dtype=float32), array([ 0.29999751], dtype=float32))
(180, array([ 0.10000106], dtype=float32), array([ 0.29999939], dtype=float32))
(200, array([ 0.10000025], dtype=float32), array([ 0.29999986], dtype=float32))

Führen Sie MNIST aus

Das Programm, das Zahlen aus den Bilddaten handgeschriebener Zahlen erkennt, wurde ebenfalls erfolgreich ausgeführt. Laden Sie einfach convolutional.py von [GitHub] herunter und führen Sie es aus (https://github.com/takus69/learn_tf). (Es ist das gleiche wie die Quelle auf der offiziellen Website.) Bei der Ausführung auf Cloud9 dauerte es ungefähr 100 Schritte und 2 Minuten, und ich denke, es dauerte insgesamt ungefähr 2 Stunden. Die Spezifikationen sind nicht genug. Die Spezifikationen von Cloud9 waren 1 CPU und 512 MB RAM. Das Ausführungsergebnis ist wie folgt. (Da es lang ist, wird es in der Mitte weggelassen.)

python convolutional.py 

Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
Initialized!
Step 0 (epoch 0.00), 7.7 ms
Minibatch loss: 12.054, learning rate: 0.010000
Minibatch error: 90.6%
Validation error: 84.6%
Step 100 (epoch 0.12), 706.3 ms
Minibatch loss: 3.287, learning rate: 0.010000
Minibatch error: 6.2%
Validation error: 7.0%
Step 200 (epoch 0.23), 713.8 ms
...
...
Step 5300 (epoch 6.17), 1937.9 ms
Minibatch loss: 1.980, learning rate: 0.007351
Minibatch error: 0.0%
Validation error: 0.9%
Step 5400 (epoch 6.28), 2089.9 ms

Ich weiß nicht, wie ich es betrachten soll, aber ich frage mich, ob es identifiziert werden kann, da der Prozentsatz des Minibatch-Fehlers und des Validierungsfehlers gering ist. Diesmal habe ich es gerade gemacht, aber ich möchte den Inhalt in Zukunft verstehen.

abschließend

Nachdem TensorFlow auf Cloud9 installiert wurde, möchte ich den Inhalt in Zukunft verstehen. Übrigens scheint TensorFlow einige zu haben, die CPU verwenden, und einige, die GPU verwenden, aber es scheint, dass diejenigen, die GPU verwenden, nicht verwendet werden können. Ich habe versucht, es zu installieren, aber zur Laufzeit ist ein Fehler aufgetreten. Verwenden wir in Cloud9 die CPU.

Änderungsprotokoll

2016/10/19

Recommended Posts

Verwenden von TensorFlow mit Cloud9, einer Cloud-integrierten Entwicklungsumgebung - GetStarted-
Verwenden von TensorFlow in Cloud 9 Integrierte Entwicklungsumgebung - Grundlagen der Verwendung
Einfache 3 Minuten TensorBoard in Google Colab (mit TensorFlow 2.x)
Verzeichnisstruktur für die testgetriebene Entwicklung mit pytest in python
Framework-Entwicklung mit Python
Entwicklungsumgebung in Python
Jupyter in Cloud9 IDE
Slackbot-Entwicklung in Python
Verwenden Sie "% tensorflow_version 2.x", wenn Sie TPU mit Tensorflow 2.1.0 in Colaboratory verwenden
Ermöglichen Sie die schnelle Ausführung von Python-Skripten in Cloud Run mithilfe des Responders
Die Testerkennung schlägt fehl, wenn Tensorflow in einer vscode + pytest-Umgebung verwendet wird