TensorFlow: Computación distribuida

Este capítulo se centrará en cómo empezar con TensorFlow distribuido. El objetivo es ayudar a los desarrolladores a comprender los conceptos básicos de TF distribuida que son recurrentes, como los servidores TF. Usaremos Jupyter Notebook para evaluar TensorFlow distribuido. La implementación de la computación distribuida con TensorFlow se menciona a continuación:

Step 1 - Importar los módulos necesarios obligatorios para la computación distribuida -

import tensorflow as tf

Step 2- Crea un clúster de TensorFlow con un nodo. Deje que este nodo sea responsable de un trabajo que tiene el nombre "trabajador" y que operará una toma en localhost: 2222.

cluster_spec = tf.train.ClusterSpec({'worker' : ['localhost:2222']})
server = tf.train.Server(cluster_spec)
server.target

Los scripts anteriores generan la siguiente salida:

'grpc://localhost:2222'
The server is currently running.

Step 3 - La configuración del servidor con la sesión respectiva se puede calcular ejecutando el siguiente comando -

server.server_def

El comando anterior genera la siguiente salida:

cluster {
   job {
      name: "worker"
      tasks {
         value: "localhost:2222"
      }
   }
}
job_name: "worker"
protocol: "grpc"

Step 4- Inicie una sesión de TensorFlow con el motor de ejecución como servidor. Usa TensorFlow para crear un servidor local y usalsof para averiguar la ubicación del servidor.

sess = tf.Session(target = server.target)
server = tf.train.Server.create_local_server()

Step 5 - Ver los dispositivos disponibles en esta sesión y cerrar la sesión respectiva.

devices = sess.list_devices()
for d in devices:
   print(d.name)
sess.close()

El comando anterior genera la siguiente salida:

/job:worker/replica:0/task:0/device:CPU:0