日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

Tensorflowers ? 來源:工程師李察 ? 2019-01-26 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TensorFlow 是為了大規(guī)模分布式訓(xùn)練和推理而設(shè)計(jì)的,不過它在支持新機(jī)器學(xué)習(xí)模型和系統(tǒng)級(jí)優(yōu)化的實(shí)驗(yàn)中的表現(xiàn)也足夠靈活。

本文對(duì)能夠同時(shí)兼具規(guī)模性和靈活性的系統(tǒng)架構(gòu)進(jìn)行了闡述。設(shè)定的人群是已基本熟悉 TensorFlow 編程概念,例如 computation graph, operations, and sessions。有關(guān)這些主題的介紹,請(qǐng)參閱

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

概覽

TensorFlow runtime 是一個(gè)跨平臺(tái)庫。圖 1 說明了它的一般架構(gòu)。 C API layer 將不同語言的用戶級(jí)代碼與核心運(yùn)行時(shí)分開。

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

圖 1

本文重點(diǎn)介紹以下幾個(gè)方面:

客戶端:

將整個(gè)計(jì)算過程轉(zhuǎn)義成一個(gè)數(shù)據(jù)流圖

通過 session,啟動(dòng)圖形執(zhí)行

分布式主節(jié)點(diǎn)

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

將上述子圖劃分成不同片段,并將其對(duì)應(yīng)不同的進(jìn)程和設(shè)備當(dāng)中

將上述劃分的片段分布到 worker services 工作節(jié)點(diǎn)服務(wù)上

每個(gè) worker services 工作節(jié)點(diǎn)服務(wù)上執(zhí)行其收到的圖形片段

工作節(jié)點(diǎn)服務(wù) Worker Services(每一任務(wù)一個(gè))

使用內(nèi)核實(shí)現(xiàn)來計(jì)劃圖形表示的計(jì)算部分分配給正確的可用硬件(如 cpu,gpu 等)

與其他工作節(jié)點(diǎn)服務(wù) work services 相互發(fā)送和接收計(jì)算結(jié)果

內(nèi)核實(shí)現(xiàn)

執(zhí)行單個(gè)圖形操作的計(jì)算部分

圖2 說明了這些組件的相互作用?!? job:worker / task:0” 和 “/ job:ps / task:0” 都是工作節(jié)點(diǎn)服務(wù) worker services 上執(zhí)行的任務(wù)。“PS” 表示“參數(shù)服務(wù)器”:負(fù)責(zé)存儲(chǔ)和更新模型參數(shù)。其他任務(wù)在迭代優(yōu)化參數(shù)時(shí)會(huì)對(duì)這些參數(shù)發(fā)送更新。如果在單機(jī)環(huán)境下,上述 PS 和 worker 不是必須的,不需要在任務(wù)之間進(jìn)行這種特定的分工,但是對(duì)于分布式訓(xùn)練,這種模式就是很常見的。

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

圖 2

請(qǐng)注意,分布式主節(jié)點(diǎn) Distributed Master 和工作節(jié)點(diǎn)服務(wù) Worker Service 僅存在于分布式 TensorFlow 中。TensorFlow 的單進(jìn)程版本包含一個(gè)特殊的 Session 實(shí)現(xiàn),它可以執(zhí)行分布式主服務(wù)器執(zhí)行的所有操作,但只與本地進(jìn)程中的設(shè)備進(jìn)行通信。

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

客戶端

用戶在客戶端編寫 TensorFlow 程序來構(gòu)建計(jì)算圖。該程序可以直接組成單獨(dú)的操作,也可以使用 Estimators API 之類的便利庫來組合神經(jīng)網(wǎng)絡(luò)層和其他更高級(jí)別的抽象概念。TensorFlow 支持多種客戶端語言,我們優(yōu)先考慮 Python 和 C ++,因?yàn)槲覀兊膬?nèi)部用戶最熟悉這些語言。隨著功能的日趨完善,我們一般會(huì)將它們移植到 C ++,以便用戶可以從所有客戶端語言優(yōu)化訪問。盡管大多數(shù)訓(xùn)練庫仍然只支持 Python,但 C ++ 確實(shí)能夠支持有效的推理。

客戶端創(chuàng)建會(huì)話,該會(huì)話將圖形定義作為tf.GraphDef 協(xié)議緩沖區(qū)發(fā)送到分布式主節(jié)點(diǎn)。當(dāng)客戶端評(píng)估圖中的一個(gè)或多個(gè)節(jié)點(diǎn)時(shí),評(píng)估會(huì)觸發(fā)對(duì)分布式主節(jié)點(diǎn)的調(diào)用以啟動(dòng)計(jì)算。

在圖 3 中,客戶端構(gòu)建了一個(gè)圖表,將權(quán)重(w)應(yīng)用于特征向量(x),添加偏差項(xiàng)(b)并將結(jié)果保存在變量中。

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

圖 3

代碼:

tf.Session

分布式主節(jié)點(diǎn) Distributed master

分布式主節(jié)點(diǎn):

基于客戶端指定的節(jié)點(diǎn),從完整的圖形中截取所需的子圖

對(duì)圖表進(jìn)一步進(jìn)行劃分,使其可以將每個(gè)圖形片段映射到不同的執(zhí)行設(shè)備上

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

由于主節(jié)點(diǎn)可以總攬步驟計(jì)算,因此它可以使用標(biāo)準(zhǔn)的優(yōu)化方法去做優(yōu)化,例如公共子表達(dá)式消除和常量的綁定。然后,對(duì)一組任務(wù)中優(yōu)化后的子圖或者片段執(zhí)行協(xié)調(diào)。

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

圖4

圖 5 顯示了示例圖的可能分區(qū)。分布式主節(jié)點(diǎn)已對(duì)模型參數(shù)進(jìn)行分組,以便將它們放在參數(shù)服務(wù)器上。

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

圖5

在分區(qū)切割圖形邊緣的情況下,分布式主節(jié)點(diǎn)插入發(fā)送和接收節(jié)點(diǎn)以在分布式任務(wù)之間傳遞信息(圖 6)。

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

圖 6

然后,分布式主節(jié)點(diǎn)將圖形片段傳送到分布式任務(wù)。

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

圖 7

代碼:

MasterService API definition

Master interface

工作節(jié)點(diǎn)服務(wù) Worker Service

在每個(gè)任務(wù)中,該部分負(fù)責(zé):

處理來自 master 發(fā)來的請(qǐng)求

為包含本地子圖規(guī)劃所需要的內(nèi)核執(zhí)行

協(xié)調(diào)與其他任務(wù)之間的直接信息交換

我們優(yōu)化了 Worker Service,以便其以較低的負(fù)載便能夠運(yùn)行大型圖形。當(dāng)前的版本可以執(zhí)行每秒上萬個(gè)子圖,這使得大量副本可以進(jìn)行快速的,細(xì)粒度的訓(xùn)練步驟。Worker service 將內(nèi)核分派給本地設(shè)備并在可能的情況下并行執(zhí)行內(nèi)核,例如通過使用多個(gè) CPU 內(nèi)核或者 GPU 流。

我們還特別針對(duì)每對(duì)源設(shè)備和目標(biāo)設(shè)備類型的 Send 和 Recv 操作進(jìn)行了專攻:

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

兩個(gè)本地 GPU 之間的傳輸使用對(duì)等 DMA,以避免通過主機(jī) CPU 主內(nèi)存進(jìn)行高負(fù)載的復(fù)制

對(duì)于任務(wù)之間的傳輸,TensorFlow 使用多種協(xié)議,包括:

gRPC over TCP

融合以太網(wǎng)上的 RDMA

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

實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

圖8

代碼:

WorkerService API definition

Worker interface

Remote rendezvous (for Send and Recv implementations)

內(nèi)核運(yùn)行

該運(yùn)行時(shí)包含了 200 多個(gè)標(biāo)準(zhǔn)操作,其中涉及了數(shù)學(xué),數(shù)組,控制流和狀態(tài)管理等操作。每個(gè)操作都有對(duì)應(yīng)各種設(shè)備優(yōu)化后的內(nèi)核運(yùn)行。其中許多操作內(nèi)核都是通過使用 Eigen::Tensor 實(shí)現(xiàn)的,它使用 C ++ 模板為多核 CPU 和 GPU 生成高效的并行代碼;但是,我們可以自由地使用像 cuDNN 這樣的庫,就可以實(shí)現(xiàn)更高效的內(nèi)核運(yùn)行。我們還實(shí)現(xiàn)了 quantization 量化,可以在移動(dòng)設(shè)備和高吞吐量數(shù)據(jù)中心應(yīng)用等環(huán)境中實(shí)現(xiàn)更快的推理,并使用 gemmlowp 低精度矩陣庫來加速量化計(jì)算。

如果用戶發(fā)現(xiàn)很難去將子計(jì)算組合,或者說組合后發(fā)現(xiàn)效率很低,則用戶可以通過注冊(cè)額外的 C++ 編寫的內(nèi)核來提供有效的運(yùn)行。例如,我們建議為一些性能的關(guān)鍵操作注冊(cè)自己的融合內(nèi)核,例如 ReLU 和 Sigmoid 激活函數(shù)及其對(duì)應(yīng)的梯度等。XLA Compiler提供了一個(gè)實(shí)驗(yàn)性質(zhì)的自動(dòng)內(nèi)核融合實(shí)現(xiàn)。

代碼:

OpKernel?interface

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4897

    瀏覽量

    90311
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    537

    瀏覽量

    26646
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    336

    瀏覽量

    62398

原文標(biāo)題:實(shí)現(xiàn) TensorFlow 架構(gòu)的規(guī)模性和靈活性

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    XMOS xCORE - 200 XL/XLF通用多核微控制器:高性能與靈活性的完美結(jié)合

    XMOS xCORE - 200 XL/XLF通用多核微控制器:高性能與靈活性的完美結(jié)合 在電子設(shè)計(jì)領(lǐng)域,高性能、高靈活性的微控制器一直是工程師們追求的目標(biāo)。XMOS的xCORE - 200 XL
    的頭像 發(fā)表于 04-28 09:05 ?206次閱讀

    XS1-G02B-FB144芯片:高性能與靈活性的完美結(jié)合

    眾多應(yīng)用場(chǎng)景中展現(xiàn)出了強(qiáng)大的性能和高度的靈活性。 文件下載: XS1-G02B-FB144-I4.pdf 芯片特性概覽 先進(jìn)的架構(gòu)設(shè)計(jì) XS1-G02B-FB144 是一款雙核心設(shè)備,采用先進(jìn)的多線程
    的頭像 發(fā)表于 04-27 15:15 ?71次閱讀

    低失真混頻器AD831:高性能與靈活性的完美結(jié)合

    低失真混頻器AD831:高性能與靈活性的完美結(jié)合 在電子設(shè)計(jì)領(lǐng)域,混頻器是實(shí)現(xiàn)信號(hào)頻率轉(zhuǎn)換的關(guān)鍵組件。今天,我們來深入探討一款高性能的低失真混頻器——AD831,它在多種應(yīng)用場(chǎng)景中展現(xiàn)出卓越的性能
    的頭像 發(fā)表于 04-24 16:25 ?229次閱讀

    探索PCM514x音頻DAC:高性能與靈活性兼具

    探索PCM514x音頻DAC:高性能與靈活性兼具 在音頻設(shè)備的設(shè)計(jì)中,數(shù)模轉(zhuǎn)換器(DAC)起著至關(guān)重要的作用。今天,我們就來深入了解一下德州儀器(TI)的PCM5141和PCM5142這兩款高性能
    的頭像 發(fā)表于 04-22 15:50 ?151次閱讀

    慧能泰HP1010A:高靈活性數(shù)字圖騰柱PFC控制器的卓越之選

    慧能泰HP1010A:高靈活性數(shù)字圖騰柱PFC控制器的卓越之選 在電子工程師的日常工作中,尋找高性能、高靈活性的電源管理解決方案是一項(xiàng)持續(xù)且重要的任務(wù)。今天要給大家介紹的是慧能泰半
    的頭像 發(fā)表于 03-27 11:00 ?284次閱讀

    AD4858數(shù)據(jù)采集系統(tǒng):高精度與靈活性的完美結(jié)合

    AD4858數(shù)據(jù)采集系統(tǒng):高精度與靈活性的完美結(jié)合 在電子設(shè)計(jì)領(lǐng)域,數(shù)據(jù)采集系統(tǒng)的性能直接影響著整個(gè)系統(tǒng)的精度和可靠。ADI公司的AD4858就是這樣一款備受關(guān)注的產(chǎn)品,它以其卓越的性能和豐
    的頭像 發(fā)表于 03-25 14:20 ?157次閱讀

    ADSP-218xN系列DSP微計(jì)算機(jī):高性能與靈活性的完美結(jié)合

    就來深入了解一下這款強(qiáng)大的處理器。 文件下載: ADSP-2185N.pdf 一、產(chǎn)品概述 ADSP-218xN系列由六款單芯片微計(jì)算機(jī)組成,專為數(shù)字信號(hào)處理應(yīng)用而優(yōu)化。該系列成員引腳兼容,僅在片上SRAM容量上有所差異,這種特性結(jié)合ADSP - 21xx代碼兼容,為設(shè)計(jì)決策提供了極大的
    的頭像 發(fā)表于 03-23 16:20 ?244次閱讀

    強(qiáng)強(qiáng)聯(lián)合!RT-Thread助力某國產(chǎn)天車操作系統(tǒng)廠商破解晶圓廠實(shí)時(shí)靈活性難題|優(yōu)秀案例

    的高度靈活性,傳統(tǒng)方案往往顧此失彼。近日,RT-Thread深度合作伙伴,給出了這一難題的完美答案,其革命架構(gòu)設(shè)計(jì),為智能工廠的搬運(yùn)效率與穩(wěn)定性樹立了新標(biāo)桿。
    的頭像 發(fā)表于 03-02 18:35 ?354次閱讀
    強(qiáng)強(qiáng)聯(lián)合!RT-Thread助力某國產(chǎn)天車操作系統(tǒng)廠商破解晶圓廠實(shí)時(shí)<b class='flag-5'>性</b>與<b class='flag-5'>靈活性</b>難題|優(yōu)秀案例

    探索PCM186x-Q1音頻ADC:高性能與靈活性的完美結(jié)合

    探索PCM186x-Q1音頻ADC:高性能與靈活性的完美結(jié)合 在汽車音頻系統(tǒng)的設(shè)計(jì)領(lǐng)域,對(duì)于高性能、高集成度音頻模數(shù)轉(zhuǎn)換器(ADC)的需求與日俱增。德州儀器(Texas Instruments)推出
    的頭像 發(fā)表于 01-29 17:40 ?759次閱讀

    TLV320ADC3140音頻ADC:高性能與靈活性的完美結(jié)合

    TLV320ADC3140音頻ADC:高性能與靈活性的完美結(jié)合 在音頻處理領(lǐng)域,一款優(yōu)秀的模數(shù)轉(zhuǎn)換器(ADC)對(duì)于實(shí)現(xiàn)高質(zhì)量的音頻采集和處理至關(guān)重要。TI的TLV320ADC3140就是這樣一款
    的頭像 發(fā)表于 01-29 11:15 ?450次閱讀

    TLV320ADC6120音頻ADC:高性能與靈活性的完美結(jié)合

    TLV320ADC6120音頻ADC:高性能與靈活性的完美結(jié)合 在音頻處理領(lǐng)域,一款高性能、靈活且功能豐富的模擬 - 數(shù)字轉(zhuǎn)換器(ADC)對(duì)于實(shí)現(xiàn)高質(zhì)量音頻采集至關(guān)重要。TI
    的頭像 發(fā)表于 01-29 10:15 ?343次閱讀

    TLV320ADC5120音頻ADC:高性能與靈活性的完美結(jié)合

    TLV320ADC5120音頻ADC:高性能與靈活性的完美結(jié)合 在音頻處理領(lǐng)域,一款高性能且功能豐富的模數(shù)轉(zhuǎn)換器(ADC)對(duì)于實(shí)現(xiàn)高質(zhì)量音頻采集至關(guān)重要。今天,我們就來深入探討德州儀器(TI
    的頭像 發(fā)表于 01-29 10:15 ?415次閱讀

    TAA3020音頻ADC:高性能與靈活性的完美結(jié)合

    TAA3020音頻ADC:高性能與靈活性的完美結(jié)合 在音頻處理領(lǐng)域,一款高性能、靈活且功能豐富的模擬 - 數(shù)字轉(zhuǎn)換器(ADC)對(duì)于實(shí)現(xiàn)優(yōu)質(zhì)音頻采集至關(guān)重要。TAA3020作為這樣一款產(chǎn)品,憑借其卓越
    的頭像 發(fā)表于 01-28 17:00 ?503次閱讀

    探索XMC7000工業(yè)微控制器:高性能與靈活性的完美結(jié)合

    探索XMC7000工業(yè)微控制器:高性能與靈活性的完美結(jié)合 在工業(yè)控制領(lǐng)域,高性能、高靈活性且能適應(yīng)惡劣環(huán)境的微控制器是工程師們的理想之選。今天,我們就來深入了解英飛凌推出的XMC7000工業(yè)微控制器
    的頭像 發(fā)表于 12-20 14:10 ?953次閱讀

    EtherCAT熱插拔技術(shù):提升工業(yè)自動(dòng)化系統(tǒng)靈活性的關(guān)鍵

    在工業(yè)自動(dòng)化領(lǐng)域,系統(tǒng)靈活性和維護(hù)至關(guān)重要。本文將探討EtherCAT從站熱插拔技術(shù),介紹其如何通過動(dòng)態(tài)管理從站設(shè)備,提高系統(tǒng)的靈活性和維護(hù)。EtherCAT熱插拔技術(shù)EtherC
    的頭像 發(fā)表于 10-16 11:36 ?769次閱讀
    EtherCAT熱插拔技術(shù):提升工業(yè)自動(dòng)化系統(tǒng)<b class='flag-5'>靈活性</b>的關(guān)鍵
    洛浦县| 凯里市| 巩义市| 嘉定区| 兴化市| 淄博市| 乌拉特中旗| 沾益县| 静宁县| 汉源县| 曲麻莱县| 应用必备| 民丰县| 敖汉旗| 龙南县| 贵南县| 城固县| 合山市| 黔东| 瑞安市| 嘉兴市| 望谟县| 宿迁市| 嘉禾县| 奉化市| 屏东县| 新源县| 涪陵区| 尤溪县| 防城港市| 汤阴县| 浦北县| 三都| 望城县| 伽师县| 门源| 滦南县| 沙洋县| 金沙县| 遂平县| 西宁市|