2016-09-23 4 views

답변

8

일반적으로 그래프 간 복제는 (현재 구현 된) 그래프 내 복제보다 확장 성이 높기 때문에 분산 형 트레이닝을위한 그래프 내 복제 간을 선호합니다. 그래프 내 복제의 주요 문제점은 현재 네트워크에 대한 그래프 구조의 여러 복사본을 작성하고 단일 위치 (즉, 분산 마스터)에서 구체화해야한다는 것입니다. 수백 개의 복제본이있을 때 마스터가 병목 현상을 일으킬 수 있습니다. 반대로 그래프 간 복제에서 각 복제본은 로컬로 실행되는 그래프 복사본 만 가지고 있습니다.

그래프 간 복제의 단점은 단일 트레이닝 작업으로 단일 루프가 아닌 여러 개의 트레이닝 루프가 동기화되므로 동기식 트레이닝이 더 어려워지는 것입니다. distributed Inception trainer에 사용 된 tf.train.SyncReplicasOptimizer은 그래프 간 복제와 함께 동기 훈련을 수행하는 한 가지 방법을 제공합니다.

그러나 그래프 복제를 시도하려면 CIFAR-10 예제에서 the line that assigns a device to each of the towers을 수정하여이를 수행 할 수 있습니다. 동일한 프로세스에서 다른 GPU에 타워를 할당하는 대신 다른 작업자 태스크에 의 다른 GPU에 타워를 할당 할 수 있습니다. 예 :

worker_devices = ["/job:worker/task:0/gpu:0", ..., "/job:worker/task:7/gpu:0"] 

for worker_device in worker_devices: 
    with tf.device(worker_device): 
    # Execute code for building the model replica. 
+0

안녕하세요. 복제물은 무엇입니까? 고마워! –

+0

[Distributed Machine Learning 용 매개 변수 서버] (https://www.cs.cmu.edu/~muli/file/ps.pdf)의 논문에서 복제와 관련이 있습니까? –

+0

이 기사 (https://clindatsci.com/blog/2017/5/31/distributed-tensorflow)는 보완 자료로 유용합니다. –

관련 문제