2017-12-03 57 views
0

我實際上想在tensorflow中自動實現模型並行性。Tensorflow模型並行性錯誤

我稍微改正了版本1.3中放置代碼(simple_placer.cc)中張量流的代碼。然而,在MNIST的情況下,安置工作是有效的,但是它在開始時有錯誤。

InvalidArgumentError (see above for traceback): Trying to access resource located in device /job:worker/replica:0/task:1/cpu:0 from device /job:worker/replica:0/task:0/cpu:0 

我想得到關於這個錯誤的一些建議,比如當錯誤出現或者什麼情況會導致這個錯誤。

謝謝。

回答

0

當某些操作嘗試讀取其中一個輸入,但該輸入恰好駐留在另一個設備上時,通常會發生此錯誤。通常,當張量流將操作放置在不同設備上時,它將send/recv節點插入到執行圖中以交換這些設備之間的張量。你的改變可能會破壞一些邏輯。

+0

感謝您回答我的問題。可能存在輸入節點在機器1(M1)中,並且數據在M1,M2等中分離的情況。然後,當輸入節點訪問M1中的數據時,沒有錯誤,但是當輸入節點訪問M2或其他機器中的數據,我提到的錯誤將會發生,對嗎? – jwl1993

+0

是的,你是對的。 – iga

+0

那麼有沒有辦法在每個有輸入數據的機器上添加對應於輸入節點的recv/send節點? – jwl1993