В распределенном обучении PS + Worker в tensorFlow1.x работники останавливают друг друга при выполнении sess.run()?
Это общий вопрос, касающийся парадигмы обучения PS + Workers в TensorFlow. Предположим этот сценарий:
1 PS + 2 Worker тренируются асинхронно (предположим, у них разная скорость обучения) и предположим, что все их графики имеют вид input -> linear_1 -> linear_2 -> loss -> udpate_weights_linear_1 -> update_weights_linear_2.
Так является ли sess.run() каждого рабочего процесса атомарным для всего кластера? Я имею в виду, может ли эта ситуация произойти последовательно:
- worker_0 завершает вычисление linear_1
- затем worker_1 выполняет update_weights_linear_2 на PS.
- worker 0 загружает обновленные weights_linear_2 на PS, а затем вычисляет linear 2.
Спасибо!