2017-03-31 67 views
0

在分佈式Tensorflow中,我們可以運行多個在Parameter-Server體系結構中與工作人員一起工作的客戶機,這就是所謂的「圖間複製」。根據該文件,單個CPU內核可以使用分佈式Tensorflow與多個客戶端一起工作嗎?

之間-圖形複製。在此方法中,每個/作業:工作任務都有一個單獨的 客戶端,通常與工作任務 的進程相同。

它說在客戶端和工人通常是在同一個進程。但是,如果它們不在同一個過程中,客戶數量是否可以不等於工人數量?另外,多個客戶可以共享並在同一個CPU內核上運行嗎?

回答

1

客戶端是定義圖形並初始化會話以運行計算的python程序。如果啓動這些程序,則創建的進程將代表分佈式體系結構中的服務器。

現在可以寫出不創建一個圖形和不運行的會話,而是隻需要調用與相應的作業名稱和任務索引server.join()方法的程序。通過這種方式,理論上你可以有一個客戶端定義整個圖形,並使用相應的server.target啓動會話;那麼在本次會話中,圖形的一部分會自動發送到其他進程/服務器,並且它們將執行計算(只要您已設置了哪個服務器/任務即將執行的操作)。該設置描述了圖內複製體系結構。

因此,基本上可以在同一臺機器上啓動多個服務器/進程,只有一個CPU,但是你不會獲得太多的並行性,因爲在多個正在運行的進程之間進行上下文切換會降低你的速度下。所以除非服務器正在做一些無關的工作,否則你應該避免這種設置。

之間-圖只是意味着每個工人都將有自己的客戶端,並分別運行其自己的會話。

相關問題