TensorFlow - Computação Distribuída

Este capítulo se concentrará em como começar a usar o TensorFlow distribuído. O objetivo é ajudar os desenvolvedores a entender os conceitos básicos de TF distribuídos que são recorrentes, como servidores TF. Usaremos o Jupyter Notebook para avaliar o TensorFlow distribuído. A implementação da computação distribuída com TensorFlow é mencionada abaixo -

Step 1 - Importe os módulos necessários obrigatórios para computação distribuída -

import tensorflow as tf

Step 2- Crie um cluster TensorFlow com um nó. Deixe este nó ser responsável por um trabalho que tem o nome "trabalhador" e que irá operar uma tomada no localhost: 2222.

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

Os scripts acima geram a seguinte saída -

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

Step 3 - A configuração do servidor com a respectiva sessão pode ser calculada executando o seguinte comando -

server.server_def

O comando acima gera a seguinte saída -

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

Step 4- Inicie uma sessão do TensorFlow com o mecanismo de execução sendo o servidor. Use o TensorFlow para criar um servidor local e uselsof para descobrir a localização do servidor.

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

Step 5 - Visualize os dispositivos disponíveis nesta sessão e feche a respectiva sessão.

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

O comando acima gera a seguinte saída -

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