那曲檬骨新材料有限公司

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

TensorFlow架構(gòu)分析探討

大小:0.4 MB 人氣: 2017-09-30 需要積分:1

  TensorFlow是什么?

  TensorFlow基于數(shù)據(jù)流圖,用于大規(guī)模分布式數(shù)值計算的開源框架。節(jié)點表示某種抽象的計算,邊表示節(jié)點之間相互聯(lián)系的張量。

  TensorFlow架構(gòu)分析探討

  計算圖實例

  TensorFlow支持各種異構(gòu)的平臺,支持多CPU/GPU,服務(wù)器,移動設(shè)備,具有良好的跨平臺的特性;TensorFlow架構(gòu)靈活,能夠支持各種網(wǎng)絡(luò)模型,具有良好的通用性;此外,TensorFlow架構(gòu)具有良好的可擴展性,對OP的擴展支持,Kernel特化方面表現(xiàn)出眾。

  TensorFlow最初由Google大腦的研究員和工程師開發(fā)出來,用于機器學習神經(jīng)網(wǎng)絡(luò)方面的研究,于2015.10宣布開源,在眾多深度學習框架中脫穎而出,在Github上獲得了最多的Star量。

  本文將闡述TensorFlow的系統(tǒng)架構(gòu),幫助讀者加深理解TensorFlow的工作機理。

  本文假設(shè)讀者已經(jīng)了解TensorFlow的基本編程模型,包括計算圖, OP, Tensor, Session等基本概念。

  系統(tǒng)概述 TensorFlow的系統(tǒng)結(jié)構(gòu)以C API為界,將整個系統(tǒng)分為「前端」和「后端」兩個子系統(tǒng):

  前端系統(tǒng):提供編程模型,負責構(gòu)造計算圖;

  后端系統(tǒng):提供運行時環(huán)境,負責執(zhí)行計算圖。

  

  TensorFlow系統(tǒng)架構(gòu)

  如上圖所示,重點關(guān)注系統(tǒng)中如下4個基本組件,它們是系統(tǒng)分布式運行機制的核心。

  Client

  Client是前端系統(tǒng)的主要組成部分,它是一個支持多語言的編程環(huán)境。它提供基于計算圖的編程模型,方便用戶構(gòu)造各種復雜的計算圖,實現(xiàn)各種形式的模型設(shè)計。

  Client通過Session為橋梁,連接TensorFlow后端的「運行時」,并啟動計算圖的執(zhí)行過程。

  Distributed Master

  在分布式的運行時環(huán)境中,Distributed Master根據(jù)Session.run的Fetching參數(shù),從計算圖中反向遍歷,找到所依賴的「最小子圖」。

  然后,Distributed Master負責將該「子圖」再次分裂為多個「子圖片段」,以便在不同的進程和設(shè)備上運行這些「子圖片段」。

  最后,Distributed Master將這些「子圖片段」派發(fā)給Work Service;隨后Work Service啟動「子圖片段」的執(zhí)行過程。

  Worker Service

  對于每以個任務(wù),TensorFlow都將啟動一個Worker Service。Worker Service將按照計算圖中節(jié)點之間的依賴關(guān)系,根據(jù)當前的可用的硬件環(huán)境(GPU/CPU),調(diào)用OP的Kernel實現(xiàn)完成OP的運算(一種典型的多態(tài)實現(xiàn)技術(shù))。

  另外,Worker Service還要負責將OP運算的結(jié)果發(fā)送到其他的Work Service;或者接受來自其他Worker Service發(fā)送給它的OP運算的結(jié)果。

  Kernel Implements

  Kernel是OP在某種硬件設(shè)備的特定實現(xiàn),它負責執(zhí)行OP的運算。

  組件交互

  TensorFlow架構(gòu)分析探討

  組件交互

  如上圖所示,假設(shè)存在兩個任務(wù):

  /job:ps/task:0: 負責模型參數(shù)的存儲和更新

  /job:worker/task:0: 負責模型的訓練或推理

  接下來,我們將進一步抽絲剝繭,逐漸挖掘出TensorFlow計算圖的運行機制。

  客戶端 Client基于TensorFlow的編程接口,構(gòu)造計算圖。目前,TensorFlow主流支持PythonC++的編程接口,并對其他編程語言接口的支持日益完善。

  此時,TensorFlow并未執(zhí)行任何計算。直至建立Session會話,并以Session為橋梁,建立Client與后端運行時的通道,將Protobuf格式的GraphDef發(fā)送至Distributed Master。

  也就是說,當Client對OP結(jié)果進行求值時,將觸發(fā)Distributed Master的計算圖的執(zhí)行過程。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

TensorFlow架構(gòu)分析探討下載

相關(guān)電子資料下載

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      百家乐现金网平台| 闲和庄百家乐赌场娱乐网规则 | 百家乐官网的玩法技巧和规则| 百家乐翻天粤语下载| 大发888游戏平台17| 真人百家乐官网什么平台| 百家乐视频下栽| 大发888娱乐城可靠吗| 百家乐官网游戏怎么刷钱| 澳门百家乐娱乐城送彩金| 永利高现金网可信吗| 试玩百家乐官网网| 百家乐龙虎台布价格| 元朗区| 百家乐有哪些注| 大发888游戏 平台| 百家乐官网赌博在线娱乐| 银河百家乐的玩法技巧和规则| 澳门博彩业| 百家乐官网孖宝揽| 大发888娱乐场 注册| 百家乐官网三路法| 菲律宾太阳城88| 百家乐官网桌子豪华| 国美百家乐的玩法技巧和规则 | 大发888娱乐城下载地址| 破解百家乐官网游戏机| 威尼斯人娱乐场官网是骗人的吗 | 大发888鸿博博彩| 新锦江百家乐官网娱乐场开户注册| 威尼斯人娱乐网官网| 百家乐官网投注技巧球讯网| 网上百家乐有哪些玩法| 百家乐官网代理每周返佣| 百家乐网上真钱赌场娱乐网规则| 澳门赌百家乐官网心法| 水果老虎机游戏下载| 任我赢百家乐官网软件| 大发888开户大发娱乐权威吗| 中骏百家乐官网的玩法技巧和规则 | 金榜百家乐现金网|