TensorFlow - Calcolo distribuito

Questo capitolo si concentrerà su come iniziare con TensorFlow distribuito. Lo scopo è aiutare gli sviluppatori a comprendere i concetti di base di TF distribuito che si stanno ripetendo, come i server TF. Useremo il Jupyter Notebook per valutare TensorFlow distribuito. L'implementazione dell'elaborazione distribuita con TensorFlow è menzionata di seguito:

Step 1 - Importa i moduli necessari obbligatori per il calcolo distribuito -

import tensorflow as tf

Step 2- Crea un cluster TensorFlow con un nodo. Lascia che questo nodo sia responsabile di un lavoro che abbia il nome "worker" e che opererà un take su localhost: 2222.

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

Gli script precedenti generano il seguente output:

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

Step 3 - La configurazione del server con la rispettiva sessione può essere calcolata eseguendo il seguente comando -

server.server_def

Il comando precedente genera il seguente output:

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

Step 4- Avvia una sessione TensorFlow con il motore di esecuzione come server. Usa TensorFlow per creare un server locale e usalsof per scoprire la posizione del server.

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

Step 5 - Visualizza i dispositivi disponibili in questa sessione e chiudi la rispettiva sessione.

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

Il comando precedente genera il seguente output:

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