Распределенный тензорный поток: разница между репликацией в графе и репликацией между графами

Я запутался в двух понятиях:In-graph replication а такжеBetween-graph replication при чтенииТиражированное обучение в официальном How-to tenorflow.

В приведенной выше ссылке сказано, что

Репликация в графе. При таком подходе клиент создает один tf.Graph, который содержит один набор параметров (в узлах tf.Variable, закрепленных за / job: ps); ...

Означает ли это, что естьмножественный tf.GraphвBetween-graph replication подход? Если да, где соответствующие коды в приведенных примерах?

Пока уже естьBetween-graph replication пример в ссылке выше, может кто-нибудь предоставитьIn-graph replication реализации (псевдокод в порядке) и выделите его основные отличия отBetween-graph replication?

Заранее спасибо!

Edit_1: больше вопросов

Большое спасибо за ваши подробные объяснения и суть кода @mrry @YaroslavBulatov! После просмотра ваших ответов у меня возникли следующие два вопроса:

Есть следующее утверждение вТиражированное обучение:

Репликация между графами. В этом подходе для каждой задачи / задания: рабочий существует отдельный клиент, обычно в том же процессе, что и рабочая задача. Каждый клиент строитподобный график содержит параметры (прикрепленные к / job: ps, как и прежде, используя tf.train.replica_device_setter () для детерминированного сопоставления их с теми же задачами); иединственная копия вычислительной части модели, закрепленной за локальной задачей в / job: worker.

У меня есть два подвопроса, связанные с вышеуказанными словами, выделенными жирным шрифтом.

(A) Почему мы говорим, что каждый клиент строитподобный график, но неттот же график? Интересно, график построен в каждом клиенте на примереТиражированное обучение должно быть таким же, потому что ниже коды построения графиков являются общими для всехworkers .:

# Build model...

loss = ...

global_step = tf.Variable(0)

(Б) Разве это не должно бытьнесколько копий вычислительной части модели, так как мы имеем несколькоworkers?

Есть ли пример вТиражированное обучение Поддержка обучения на нескольких машинах, каждая из которых имеет несколько графических процессоров? Если нет, можем ли мы одновременно использовать обаIn-graph replication поддерживать обучение на нескольких графических процессорах на каждой машине иBetween-graph replication для кросс-машинного обучения? Я задаю этот вопрос, потому что @mrry указал, чтоIn-graph replication по сути такой же, как вПример модели CIFAR-10 для нескольких графических процессоров.

Ответы на вопрос(1)

Ваш ответ на вопрос