關于Tensorflow分布式并行策略
tensorFlow中主要包括了三種不同的并行策略,其分別是數(shù)據(jù)并行、模型并行、模型計算流水線并行,具體參考Tenssorflow白皮書,在接下來分別簡單介紹三種并行策略的原理。
數(shù)據(jù)并行
一個簡單的加速訓練的技術是并行地計算梯度,然后更新相應的參數(shù)。數(shù)據(jù)并行又可以根據(jù)其更新參數(shù)的方式分為同步數(shù)據(jù)并行和異步數(shù)據(jù)并行,同步的數(shù)據(jù)并行方式如圖所示,tensorflow圖有著很多的部分圖模型計算副本,單一的客戶端線程驅動整個訓練圖,來自不同的設備的數(shù)據(jù)需要進行同步更新。這種方式在實現(xiàn)時,主要的限制就是每一次更新都是同步的,其整體計算時間取決于性能最差的那個設備。

數(shù)據(jù)并行還有異步的實現(xiàn)方式,如圖所示,與同步方式不同的是,在處理來自不同設備的數(shù)據(jù)更新時進行異步更新,不同設備之間互不影響,對于每一個圖副本都有一個單獨的客戶端線程與其對應。在這樣的實現(xiàn)方式下,即使有部分設備性能特別差甚至中途退出訓練,對訓練結果和訓練效率都不會造成太大影響。但是由于設備間互不影響,所以在更新參數(shù)時可能其他設備已經更好的更新過了,所以會造成參數(shù)的抖動,但是整體的趨勢是向著最好的結果進行的。所以說這種方式更適用于數(shù)據(jù)量大,更新次數(shù)多的情況。

模型并行
一個模型并行訓練的例子如圖所示,其針對的訓練對象是同一批樣本數(shù)據(jù),但是將不同的模型計算部分分布在不同的計算設備上同時執(zhí)行。

模型計算流水線并行
此并行方式主要針對在同一個設備中并發(fā)實現(xiàn)模型的計算,如圖是其并發(fā)計算步驟,可以發(fā)現(xiàn)它實際上與異步數(shù)據(jù)并行有些相似,但是唯一不同的是此方式的并行發(fā)生在同一個設備上,而不是在不同的設備之間。并且在計算一批簡單的樣例時,允許進行“填充間隙”,這可以充分利用空閑的設備資源。

以上這篇關于Tensorflow分布式并行策略就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
pycharm利用pyspark遠程連接spark集群的實現(xiàn)
由于工作需要,利用spark完成機器學習。因此需要對spark集群進行操作。所以利用pycharm和pyspark遠程連接spark集群。感興趣的可以了解一下2021-05-05
詳解Python圖像形態(tài)學處理(開運算,閉運算,梯度運算)
數(shù)學形態(tài)學(Mathematical Morphology)是一種應用于圖像處理和模式識別領域的新方法。本文將為大家介紹Python圖像形態(tài)學處理中的開運算、閉運算和梯度運算,感興趣的可以了解一下2022-06-06
selenium攜帶cookies模擬登陸CSDN的實現(xiàn)
這篇文章主要介紹了selenium攜帶cookies模擬登陸CSDN的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01

