TensorFlow - Распределенные вычисления

В этой главе основное внимание будет уделено тому, как начать работу с распределенным TensorFlow. Цель состоит в том, чтобы помочь разработчикам понять базовые концепции распределенного TF, которые повторяются, такие как серверы TF. Мы будем использовать Jupyter Notebook для оценки распределенного TensorFlow. Реализация распределенных вычислений с TensorFlow упоминается ниже -

Step 1 - Импортируйте необходимые модули, обязательные для распределенных вычислений -

import tensorflow as tf

Step 2- Создайте кластер TensorFlow с одним узлом. Пусть этот узел отвечает за задание с именем «worker», которое будет выполнять один дубль на localhost: 2222.

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

Приведенные выше сценарии генерируют следующий вывод -

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

Step 3 - Конфигурацию сервера с соответствующим сеансом можно рассчитать, выполнив следующую команду -

server.server_def

Приведенная выше команда генерирует следующий вывод -

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

Step 4- Запустить сеанс TensorFlow с механизмом выполнения, являющимся сервером. Используйте TensorFlow, чтобы создать локальный сервер и использоватьlsof чтобы узнать местонахождение сервера.

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

Step 5 - Просмотрите устройства, доступные в этом сеансе, и закройте соответствующий сеанс.

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

Приведенная выше команда генерирует следующий вывод -

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