Учебники

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

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

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

import tensorflow as tf

Шаг 2 – Создайте кластер TensorFlow с одним узлом. Пусть этот узел будет отвечать за задание с именем «работник», которое будет выполнять один дубль на локальном узле: 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.

Шаг 3 – Конфигурация сервера с соответствующим сеансом может быть рассчитана с помощью следующей команды:

server.server_def

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

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

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

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

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

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

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