Эта глава будет посвящена тому, как начать работу с распределенным 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()
Приведенная выше команда генерирует следующий вывод:
/job:worker/replica:0/task:0/device:CPU:0