C語言中文網 目錄
TensorFlow
1 TensorFlow是什么
2 TensorFlow安裝和下載
3 第一個TensorFlow程序
4 TensorFlow程序結構
5 TensorFlow常量、變量和占位符
6 TensorFlow矩陣基本操作
7 TensorFlow TensorBoard數據流圖可視化
8 TensorFlow代碼自動升級為1.0版本
9 TensorFlow XLA
10 TensorFlow指定CPU和GPU設備
11 TensorFlow與深度學習
12 TensorFlow常用Python擴展包
13 回歸算法有哪些
14 TensorFlow損失函數
15 TensorFlow優化器
16 TensorFlow csv文件讀取數據
17 TensorFlow實現簡單線性回歸
18 TensorFlow實現多元線性回歸
19 TensorFlow邏輯回歸處理MNIST數據集
20 感知機與神經網絡
21 TensorFlow常用激活函數(6種)
22 TensorFlow實現單層感知機
23 TensorFlow實現反向傳播算法
24 TensorFlow多層感知機實現MINIST分類
25 TensorFlow多層感知機函數逼近
26 TensorFlow超參數
27 TensorFlow Keras
28 CNN卷積神經網絡
29 三維卷積神經網絡預測MNIST數字
30 卷積神經網絡分類圖片
31 遷移學習
32 DeepDream網絡
33 TensorFlow實現文本情感分析
34 VGG網絡濾波器
35 VGGNet、ResNet、Inception和Xception
36 預建深度學習提取特征及實現
37 TensorFlow實現InceptionV3
38 TensorFlow WaveNet聲音合成
39 TensorFlow視頻分類(6種方法)
40 RNN循環神經網絡
41 神經機器翻譯(seq2seq RNN)
42 注意力機制(基于seq2seq RNN)
43 RNN訓練模型并生成文本
44 RNN循環神經網絡實現預測比特幣價格
45 主成分分析法(PCA)
46 k均值聚類算法
47 SOM自組織映射法
48 受限玻爾茲曼機訓練
49 推薦系統的實現(基于RBM)
50 基于DBN實現情緒檢測
51 自編碼器
52 標準自編碼器
53 稀疏自編碼器
54 去燥自編碼器
55 卷積自編碼器
56 堆疊自編碼器
57 強化學習
58 OpenAI Gym安裝和使用
59 全連接神經網絡實現玩Pac-Man游戲
60 Q learning實現Cart-Pole平衡游戲
61 DQN算法(深度Q網絡)
62 David Silver策略梯度算法
63 深度學習在移動端的應用
64 Android移動端部署TensorFlow mobile
65 iPhone移動端部署TensorFlow mobile
66 移動端優化TensorFlow代碼
67 GAN生成式對抗網絡
68 GAN生成式對抗網絡虛構MNIST圖像
69 DCGAN虛構MNIST圖像
70 DCGAN虛構名人面孔和其他數據集
71 VAE變分自編碼器
72 CapsNet膠囊網絡
73 TensorFlow分布式
74 TensorFlow GPU的安裝和使用
75 TensorFlow分布式
76 TensorFlow分布式訓練MNIST分類器
77 TensorFlow Serving運行Docker容器
78 TensorFlow分布式在谷歌云平臺運行
79 TensorFlow分布式在谷歌CloudML運行
80 TensorFlow分布式在Microsoft Azure上運行
81 TensorFlow分布式在Amazon AWS上運行
首頁 > TensorFlow 閱讀:68

TensorFlow分布式詳解

每次 TensorFlow 運算都被描述成計算圖的形式,它允許結構和運算操作配置所具備的自由度能夠被分配到各個分布式節點上。計算圖可以分成多個子圖,分配給服務器集群中的不同節點。

強烈推薦讀者閱讀論文“Large Scale Distributed Deep Networks”,本文的一個重要成果是證明了分布式隨機梯度下降算法(SDG)可以運行,在該算法中,有多個節點在數據分片上并行工作,通過向參數服務器發送更新來異步獨立更新梯度。論文摘要引用如下:實驗揭示了一些關于大規模非凸優化的令人驚喜的結果。首先,很少應用于非凸問題的異步 SGD 在訓練深度網絡方面效果很好,特別是在結合 Adagrad 自適應學習率時。

這篇論文本身的一個照片可以很好地解釋這一點:


圖 1
 
另一個值得閱讀的文檔是 TensorFlow 白皮書:《Large-Scale Machine Learning on Heterogeneous Distributed Systems》(Martín Abadi等人,2015年11月)。

考慮其中包含的一些示例,可以在下面的圖片中看見,左側顯示的是TensorFlow代碼片段,右側顯示的是對應的圖表:

圖 2 TensorFlow計算圖示例(點此查看高清大圖

通過進行本地計算以及在必要時輕松添加計算圖遠程通信節點,計算圖可以被切分覆蓋多個節點,前面提到的論文中的圖可以很好地解釋這個問題:


圖 3 插入接收/發送節點前后的對比圖

梯度下降和所有主要的優化器算法可以以集中方式(下圖左側)或分布式方式(下圖右側)進行計算,后者包括一個 master 進程,它與多個提供 GPU 和 CPU 的 worker 相連:


圖 4 單機模式和分布式模式結構

分布式計算可以是同步的(所有 worker 同時更新數據塊上的梯度)或異步的(更新不會同時發生),后者通常允許更高的可擴展性,更大的圖計算在最優解的收斂方面表現得更好。以下照片同樣來自 TensorFlow 白皮書,如果想了解更多,我強烈鼓勵有興趣的讀者看看這篇論文:


圖 5 同步和異步數據并行訓練,同步和異步數據并行訓練的示例

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo