J'ai vérifié [Basic Usage] de TensorFlow (https://www.tensorflow.org/versions/r0.11/get_started/basic_usage.html#basic-usage) dans Cloud9. Je vais résumer l'idée de base et l'utilisation lors de l'utilisation de TensorFlow. Il n'inclut pas le GPU ou l'utilisation interactive. Tout d'abord, j'étudierai les autres au besoin, dans le but de créer du code de base.
Cloud9 Python 2.7.6 Sample Codes : GitHub Pour la construction de l'environnement, reportez-vous à «Utiliser TensorFlow dans Cloud Integrated Development Environment Cloud9»
Il y a deux points importants à considérer.
Graphs est une classe qui définit des valeurs et des calculs. Les valeurs peuvent être des constantes, des variables, des tenseurs (matrice en 2D, définie dans des tableaux multidimensionnels), etc. Ce sont également les Graphiques qui définissent le calcul de cette valeur (par exemple, addition ou multiplication).
Sessions est une classe qui effectue des calculs et des valeurs Graphs. TensorFlow semble être en mesure d'utiliser le GPU, mais il semble l'utiliser automatiquement via Sessions.
Par conséquent, définissez les valeurs et les calculs dans Graphs => exécutez les calculs dans les sessions Ce sera le flux. Regardons un exemple concret ci-dessous. GitHub basic_usage.py Je vais expliquer les résultats de l'exécution de.
import tensorflow as tf
# Graphs
matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.], [2.]])
product = tf.matmul(matrix1, matrix2)
# Sessions
sess = tf.Session()
result = sess.run(product)
print(result)
# Output: [[12.]]
sess.close()
Il est important de configurer des graphiques, puis d'exécuter des calculs dans les sessions.
# Graphs
state = tf.Variable(0)
one = tf.constant(1)
new_value = tf.add(state, one)
update = tf.assign(state, new_value)
init_op = tf.initialize_all_variables()
# Sessions
with tf.Session() as sess:
sess.run(init_op)
print(sess.run(state))
for _ in range(3):
sess.run(update)
print(sess.run(state))
# Output: 0 1 2 3
Les variables sont mises à jour en séquence.
# Graphs
input1 = tf.constant([3.0])
input2 = tf.constant([2.0])
input3 = tf.constant([5.0])
intermed = tf.add(input2, input3)
mul = tf.mul(input1, intermed)
# Sessions
with tf.Session() as sess:
result = sess.run([mul, intermed])
print(result)
# Output: [array([ 21.], dtype=float32), array([ 7.], dtype=float32)]
Le contenu du code est le même qu'avant, vous pouvez donc le comprendre. L'important est que run ([mul, intermed]) exécute plusieurs calculs en même temps, et la sortie du résultat est également sortie en même temps.
# Graphs
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.mul(input1, input2)
# Sessions
with tf.Session() as sess:
print(sess.run([output], feed_dict={input1:[7.], input2:[2.]}))
# Output: [array([ 14.], dtype=float32)]
La valeur peut être attribuée par tf.placeholder (tf.float32). Il est calculé en remplaçant par run ([output], feed_dict = {input1: [7.], input2: [2.]}).
Je pense qu'il est important de configurer des graphiques puis d'exécuter des calculs dans les sessions. Il n'y a pas de problème avec un code simple, mais on ne sait pas ce qui se passe lorsqu'il s'agit de calculs compliqués. Si vous modifiez l'exemple de code et essayez diverses choses, vous obtiendrez une meilleure compréhension.
J'étudie toujours, donc si vous faites une erreur, faites-le moi savoir dans les commentaires. Je voudrais continuer à étudier comment utiliser TensorFlow et faire des corrections et des corrections.