在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

實現 TensorFlow 架構的規模性和靈活性

Tensorflowers ? 來源:工程師李察 ? 2019-01-26 14:48 ? 次閱讀

TensorFlow 是為了大規模分布式訓練和推理而設計的,不過它在支持新機器學習模型和系統級優化的實驗中的表現也足夠靈活。

本文對能夠同時兼具規模性和靈活性的系統架構進行了闡述。設定的人群是已基本熟悉 TensorFlow 編程概念,例如 computation graph, operations, and sessions。有關這些主題的介紹,請參閱

https://tensorflow.google.cn/guide/low_level_intro?hl=zh-CN。如已熟悉Distributed TensorFlow,本文對您也很有幫助。行至文尾,您應該能了解 TensorFlow 架構,足以閱讀和修改核心 TensorFlow 代碼了。

概覽

TensorFlow runtime 是一個跨平臺庫。圖 1 說明了它的一般架構。 C API layer 將不同語言的用戶級代碼與核心運行時分開。

實現 TensorFlow 架構的規模性和靈活性

圖 1

本文重點介紹以下幾個方面:

客戶端:

將整個計算過程轉義成一個數據流圖

通過 session,啟動圖形執行

分布式主節點

基于用戶傳遞給 Session.run() 中的參數對整個完整的圖形進行修剪,提取其中特定子圖

將上述子圖劃分成不同片段,并將其對應不同的進程和設備當中

將上述劃分的片段分布到 worker services 工作節點服務上

每個 worker services 工作節點服務上執行其收到的圖形片段

工作節點服務 Worker Services(每一任務一個)

使用內核實現來計劃圖形表示的計算部分分配給正確的可用硬件(如 cpugpu 等)

與其他工作節點服務 work services 相互發送和接收計算結果

內核實現

執行單個圖形操作的計算部分

圖2 說明了這些組件的相互作用。“/ job:worker / task:0” 和 “/ job:ps / task:0” 都是工作節點服務 worker services 上執行的任務。“PS” 表示“參數服務器”:負責存儲和更新模型參數。其他任務在迭代優化參數時會對這些參數發送更新。如果在單機環境下,上述 PS 和 worker 不是必須的,不需要在任務之間進行這種特定的分工,但是對于分布式訓練,這種模式就是很常見的。

實現 TensorFlow 架構的規模性和靈活性

圖 2

請注意,分布式主節點 Distributed Master 和工作節點服務 Worker Service 僅存在于分布式 TensorFlow 中。TensorFlow 的單進程版本包含一個特殊的 Session 實現,它可以執行分布式主服務器執行的所有操作,但只與本地進程中的設備進行通信

下面,通過逐步處理示例圖來詳細介紹一下 TensorFlow 核心模塊。

客戶端

用戶在客戶端編寫 TensorFlow 程序來構建計算圖。該程序可以直接組成單獨的操作,也可以使用 Estimators API 之類的便利庫來組合神經網絡層和其他更高級別的抽象概念。TensorFlow 支持多種客戶端語言,我們優先考慮 Python 和 C ++,因為我們的內部用戶最熟悉這些語言。隨著功能的日趨完善,我們一般會將它們移植到 C ++,以便用戶可以從所有客戶端語言優化訪問。盡管大多數訓練庫仍然只支持 Python,但 C ++ 確實能夠支持有效的推理。

客戶端創建會話,該會話將圖形定義作為tf.GraphDef 協議緩沖區發送到分布式主節點。當客戶端評估圖中的一個或多個節點時,評估會觸發對分布式主節點的調用以啟動計算。

在圖 3 中,客戶端構建了一個圖表,將權重(w)應用于特征向量(x),添加偏差項(b)并將結果保存在變量中。

實現 TensorFlow 架構的規模性和靈活性

圖 3

代碼:

tf.Session

分布式主節點 Distributed master

分布式主節點:

基于客戶端指定的節點,從完整的圖形中截取所需的子圖

對圖表進一步進行劃分,使其可以將每個圖形片段映射到不同的執行設備上

以及緩存這些劃分好的片段,以便在后續步驟中再次使用

由于主節點可以總攬步驟計算,因此它可以使用標準的優化方法去做優化,例如公共子表達式消除和常量的綁定。然后,對一組任務中優化后的子圖或者片段執行協調。

實現 TensorFlow 架構的規模性和靈活性

圖4

圖 5 顯示了示例圖的可能分區。分布式主節點已對模型參數進行分組,以便將它們放在參數服務器上。

實現 TensorFlow 架構的規模性和靈活性

圖5

在分區切割圖形邊緣的情況下,分布式主節點插入發送和接收節點以在分布式任務之間傳遞信息(圖 6)。

實現 TensorFlow 架構的規模性和靈活性

圖 6

然后,分布式主節點將圖形片段傳送到分布式任務。

實現 TensorFlow 架構的規模性和靈活性

圖 7

代碼:

MasterService API definition

Master interface

工作節點服務 Worker Service

在每個任務中,該部分負責:

處理來自 master 發來的請求

為包含本地子圖規劃所需要的內核執行

協調與其他任務之間的直接信息交換

我們優化了 Worker Service,以便其以較低的負載便能夠運行大型圖形。當前的版本可以執行每秒上萬個子圖,這使得大量副本可以進行快速的,細粒度的訓練步驟。Worker service 將內核分派給本地設備并在可能的情況下并行執行內核,例如通過使用多個 CPU 內核或者 GPU 流。

我們還特別針對每對源設備和目標設備類型的 Send 和 Recv 操作進行了專攻:

使用 cudaMemcpyAsync() 來進行本地 CPU 和 GPU 設備之間的重疊計算和數據傳輸

兩個本地 GPU 之間的傳輸使用對等 DMA,以避免通過主機 CPU 主內存進行高負載的復制

對于任務之間的傳輸,TensorFlow 使用多種協議,包括:

gRPC over TCP

融合以太網上的 RDMA

另外,我們還初步支持 NVIDIA 用于多 GPU 通信的 NCCL 庫

實現 TensorFlow 架構的規模性和靈活性

圖8

代碼:

WorkerService API definition

Worker interface

Remote rendezvous (for Send and Recv implementations)

內核運行

該運行時包含了 200 多個標準操作,其中涉及了數學,數組,控制流和狀態管理等操作。每個操作都有對應各種設備優化后的內核運行。其中許多操作內核都是通過使用 Eigen::Tensor 實現的,它使用 C ++ 模板為多核 CPU 和 GPU 生成高效的并行代碼;但是,我們可以自由地使用像 cuDNN 這樣的庫,就可以實現更高效的內核運行。我們還實現了 quantization 量化,可以在移動設備和高吞吐量數據中心應用等環境中實現更快的推理,并使用 gemmlowp 低精度矩陣庫來加速量化計算。

如果用戶發現很難去將子計算組合,或者說組合后發現效率很低,則用戶可以通過注冊額外的 C++ 編寫的內核來提供有效的運行。例如,我們建議為一些性能的關鍵操作注冊自己的融合內核,例如 ReLU 和 Sigmoid 激活函數及其對應的梯度等。XLA Compiler提供了一個實驗性質的自動內核融合實現。

代碼:

OpKernel?interface

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4510

    瀏覽量

    87178
  • 架構
    +關注

    關注

    1

    文章

    528

    瀏覽量

    25893
  • tensorflow
    +關注

    關注

    13

    文章

    330

    瀏覽量

    61073

原文標題:實現 TensorFlow 架構的規模性和靈活性

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    未來汽車智能配電架構的需求與解決方案

    隨著汽車產業電動化和智能化的推進,未來汽車配電架構需要更高的安全,可靠靈活性。智能配電架構通過采用半導體器件 (比如電子保險絲) 替代
    的頭像 發表于 06-09 09:23 ?833次閱讀
    未來汽車智能配電<b class='flag-5'>架構</b>的需求與解決方案

    磁性近程傳感器保證非接觸式定位和近程檢測的靈活性和可靠

    保證非接觸式定位? 和近程檢測的 靈活性和可靠 ? 磁性近程傳感器為多種應用中的非接觸式定位和近程檢測提供了可靠而靈活的可選方案。這類傳感器能夠通過多種非磁性表面可靠地檢測磁場。磁性近程傳感器
    的頭像 發表于 03-17 11:53 ?604次閱讀
    磁性近程傳感器保證非接觸式定位和近程檢測的<b class='flag-5'>靈活性</b>和可靠<b class='flag-5'>性</b>

    卷積神經網絡的實現工具與框架

    TensorFlow是由Google Brain團隊開發的開源機器學習框架,它支持多種深度學習模型的構建和訓練,包括卷積神經網絡。TensorFlow以其靈活性和可擴展性而聞名,適用于研究和生產環境。 特點:
    的頭像 發表于 11-15 15:20 ?626次閱讀

    面對快速迭代的技術,怎能忽視設備升級的高效與靈活性

    競爭的商業環境中,技術的飛速迭代和業務需求的持續變化,現場部署的效率與靈活性已成為衡量項目成功與否的關鍵因素之一。企業為了搶占市場先機,必須迅速完成新設備的部署與舊
    的頭像 發表于 11-05 08:03 ?586次閱讀
    面對快速迭代的技術,怎能忽視設備升級的高效與<b class='flag-5'>靈活性</b>?

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+全文學習心得

    降低了虛擬機之間的耦合,提高了系統的可靠和安全。 在學習過程中,我深刻體會到嵌入式Hypervisor的核心價值在于其靈活性和可擴展性。它能夠根據實際應用需求,動態地調整資源配置
    發表于 10-09 19:11

    FPGA在圖像處理領域的優勢有哪些?

    。這種并行處理能力使得FPGA在處理大規模圖像數據時表現出色,能夠實時完成復雜的圖像處理算法。 二、高靈活性 FPGA具有很高的靈活性,可以根據需要實時調整硬件架構。這意味著當圖像處理
    發表于 10-09 14:36

    使用低成本MSPM0 MCU提高電池管理設計的靈活性

    電子發燒友網站提供《使用低成本MSPM0 MCU提高電池管理設計的靈活性.pdf》資料免費下載
    發表于 09-07 10:53 ?0次下載
    使用低成本MSPM0 MCU提高電池管理設計的<b class='flag-5'>靈活性</b>

    使用低成本MSPM0 MCU提高電子溫度計設計的靈活性

    電子發燒友網站提供《使用低成本MSPM0 MCU提高電子溫度計設計的靈活性.pdf》資料免費下載
    發表于 09-07 09:46 ?1次下載
    使用低成本MSPM0 MCU提高電子溫度計設計的<b class='flag-5'>靈活性</b>

    納米軟件帶您了解電源自動測試設備的儀器靈活接入與擴展

    在ATECLOUD智能云測試平臺上開發的電源自動測試系統,對比傳統自動化測試系統,其獨特之處在于擁有極為靈活的系統架構。這種架構靈活性體現在自動化測試的
    的頭像 發表于 09-03 16:06 ?468次閱讀
    納米軟件帶您了解電源自動測試設備的儀器<b class='flag-5'>靈活</b>接入與擴展

    使用BQ27Z746實現反向充電保護的設計靈活性

    電子發燒友網站提供《使用BQ27Z746實現反向充電保護的設計靈活性.pdf》資料免費下載
    發表于 08-30 11:45 ?0次下載
    使用BQ27Z746<b class='flag-5'>實現</b>反向充電保護的設計<b class='flag-5'>靈活性</b>

    探索中國星坤FPC連接器:電子設備靈活性與可靠雙重保障

    了電子設備設計中的一顆璀璨明星。 ? FPC連接器的靈活性 FPC連接器由柔性電路板構成,它擁有極高的彎曲和可塑性。這使得FPC連接器能夠適應各種需要彎曲和折疊的應用場景,無論是在復雜的曲面還是狹小的空間中,都能展現出其卓越的適應
    的頭像 發表于 08-13 16:14 ?699次閱讀
    探索中國星坤FPC連接器:電子設備<b class='flag-5'>靈活性</b>與可靠<b class='flag-5'>性</b>雙重保障

    TensorFlow是什么?TensorFlow怎么用?

    TensorFlow是由Google開發的一個開源深度學習框架,它允許開發者方便地構建、訓練和部署各種復雜的機器學習模型。TensorFlow憑借其高效的計算性能、靈活架構以及豐富的
    的頭像 發表于 07-12 16:38 ?1247次閱讀

    OPSL 優勢1:波長靈活性

    與其他類型的連續激光器相比,光泵半導體激光器 (OPSL) 技術有許多優勢,包括波長的靈活性。 特別是OPSL打破了傳統技術的限制,可以通過設計與應用的波長要求相匹配。 不折不扣的波長靈活性 光泵
    的頭像 發表于 07-08 06:30 ?577次閱讀
    OPSL 優勢1:波長<b class='flag-5'>靈活性</b>

    tensorflow和pytorch哪個更簡單?

    PyTorch更簡單。選擇TensorFlow還是PyTorch取決于您的具體需求和偏好。如果您需要一個易于使用、靈活且具有強大社區支持的框架,PyTorch可能是一個更好的選擇。如果您需要一個在
    的頭像 發表于 07-05 09:45 ?1389次閱讀

    keras模型轉tensorflow session

    和訓練深度學習模型。Keras是基于TensorFlow、Theano或CNTK等底層計算框架構建的。TensorFlow是一個開源的機器學習框架,由Google Brain團隊開發。它提供了一種
    的頭像 發表于 07-05 09:36 ?821次閱讀
    主站蜘蛛池模板: 在线播放真实国产乱子伦 | 在线午夜 | 久久婷婷激情综合色综合也去 | 国产精品美女久久久 | 天堂网在线www资源在线 | 亚洲国产精品久久精品怡红院 | 骚淫| 色福利视频 | 成年人一级片 | 99热网站 | 深爱婷婷激情网 | 日本视频www| 日韩一区二区三区免费 | 97人人做人人添人人爱 | 2021最新久久久视精品爱 | 午夜影院免费观看 | 天天干天天添 | 日处女穴 | 色多视频 | 国产成人精品日本亚洲网站 | mitunav在线 | 99久免费精品视频在线观看2 | 国产特黄特色的大片观看免费视频 | 午夜资源在线 | 在线一区观看 | 国产papa | 毛片免费观看 | 国产三级日本三级美三级 | 人操人 | 99久久香蕉国产综合影院 | 欧美一区二区视频三区 | 香蕉久久夜色精品国产小说 | 曰本又色又爽又黄三级视频 | 高清视频免费 | 色你懂的| 欧美成人3d动漫在线播放网站 | 天天欧美| 九色综合网 | 国产三级在线看 | 国产一区二区高清在线 | 四虎影像 |