tensorflow分布式训练之同步更新和异步更新
生活随笔
收集整理的這篇文章主要介紹了
tensorflow分布式训练之同步更新和异步更新
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、同步更新
在同步更新的時(shí)候, 每次梯度更新,要等所有分發(fā)出去的數(shù)據(jù)計(jì)算完成后,返回回來(lái)結(jié)果之后,把梯度累加算了均值之后,再更新參數(shù)。這樣的好處是loss的下降比較穩(wěn)定, 但是這個(gè)的壞處也很明顯, 處理的速度取決于最慢的那個(gè)分片計(jì)算的時(shí)間。
2、異步更新
在異步更新的時(shí)候, 所有的計(jì)算節(jié)點(diǎn),各自算自己的, 更新參數(shù)也是自己更新自己計(jì)算的結(jié)果, 這樣的優(yōu)點(diǎn)就是計(jì)算速度快,計(jì)算資源能得到充分利用,但是缺點(diǎn)是loss的下降不穩(wěn)定,抖動(dòng)大。
3、如何選擇
在數(shù)據(jù)量小的情況下,各個(gè)節(jié)點(diǎn)的計(jì)算能力比較均衡的情況下,推薦使用同步模式。數(shù)據(jù)量很大,各個(gè)機(jī)器的計(jì)算性能摻差不齊的情況下,推薦使用異步的方式。
總結(jié)
以上是生活随笔為你收集整理的tensorflow分布式训练之同步更新和异步更新的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【深度学习】初识tensorflow之分
- 下一篇: Python逻辑运算符:if and