Кто-нибудь может дать руководство о том, как настроить тензорный поток для работы на многих процессорах в сети? Все примеры, которые я нашел до сих пор, используют в лучшем случае только один локальный ящик и multi-gpus. Я обнаружил, что могу передать список целей в session_opts, но я не уверен, как настроить тензорный поток на каждом блоке для прослушивания сетевых узлов / задач. Любой пример будет принята с благодарностью!
Версия с открытым исходным кодом (в настоящее время 0.6.0) TensorFlow поддерживает только однопроцессное выполнение: в частности, единственная допустимая цель в tensorflow::SessionOptions
является пустой строкой, что означает «текущий процесс».
Технический документ TensorFlow описывает структуру распределенной реализации (см. рисунок 3), которую мы используем внутри Google. Основная идея заключается в том, что интерфейс Session может быть реализован с использованием RPC для мастер; и мастер может разделить вычисления на множество устройств в нескольких работник процессы, которые также общаются с помощью RPC. Увы, текущая версия сильно зависит от внутренних технологий Google (например, Borg), так что остается много работы, чтобы подготовить его к внешнему потреблению. В настоящее время мы работаем над этим, и вы можете следить за прогрессом в этот вопрос GitHub.
РЕДАКТИРОВАТЬ 26.02.2016: Сегодня мы выпустили начальная версия распределенной среды выполнения на GitHub. Он поддерживает несколько машин и несколько графических процессоров.
Других решений пока нет …