前言
Tensorflow的前身時谷歌的神經(jīng)網(wǎng)絡(luò)算法庫DistBelief,被廣泛應(yīng)用于各類機(jī)器學(xué)習(xí)、深度學(xué)習(xí)算法的編程實現(xiàn)。Tensorflow具有實現(xiàn)代碼簡潔、編程范式靈活、分布式深度學(xué)習(xí)算法執(zhí)行效率高、多語言API支持、CPU/GPU部署方便、良好的可擴(kuò)展性、可移植性及在學(xué)術(shù)研究和產(chǎn)品研發(fā)兩端取得良好平衡等優(yōu)秀特性。TensorFlow
由Tensor(張量)和Flow(流)兩個單詞組成,意味著"張量的流動",形象地描述了TensorFlow是以張量數(shù)據(jù)和流計算的方式來運行整個程序,它把任意維度的數(shù)據(jù)都統(tǒng)一用張量來表示
。
TensorFlow從本質(zhì)上看就是一個基于數(shù)據(jù)流編程的符號數(shù)學(xué)系統(tǒng),其設(shè)計之初就被定義為靈活且通用的端到端深度學(xué)習(xí)平臺。
技術(shù)特點
TensorFlow相比其他框架具有如下優(yōu)點 :
- 運算性能強(qiáng)勁。 線性代數(shù)編譯器(XLA)可以幫助TensorFlow在CPU、GPU、TPU、嵌入式設(shè)備等平臺上更快速地運行機(jī)器學(xué)習(xí)模型的訓(xùn)練與推理任務(wù)。同時提供大量針對不同軟硬件環(huán)境的優(yōu)化配置參數(shù),可以根據(jù)需要進(jìn)一步提升計算性能。
- 框架設(shè)計通用。TensorFlow不僅可以用機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方面的研究,而且也可以廣泛用于其他計算領(lǐng)域。同時它提供了高層封裝API、底層原生API,用于幫助用戶快速實現(xiàn)算法模型及分布式并行模式。
- 支持生產(chǎn)環(huán)境部署。它支持使用同一套API實現(xiàn)探索環(huán)境和生產(chǎn)環(huán)境的部署。
- 語言接口豐富。它的核心層由C++實現(xiàn),應(yīng)用層使用SWIG等技術(shù)封裝,提供了多語言API的支持。目前支持的語言有Python、C、C++、Java、Go、NodeJs、R、Julia等。
- 端云協(xié)同計算。它同時支持在云側(cè)(服務(wù)端)和端側(cè)(移動設(shè)備等終端)運行。
組件結(jié)構(gòu)
TensorFlow是一個包含數(shù)十萬行代碼的大型軟件,其組件結(jié)構(gòu)較為復(fù)雜。由于其代碼組織合理、文檔資料充分,通過這些信息可以將它的軟件結(jié)構(gòu)進(jìn)行不同層次的抽象,抽象之后的組件結(jié)構(gòu)示意圖如下:
外圍項目
Google官方團(tuán)隊及開源貢獻(xiàn)者在TensorFlow社區(qū)開設(shè)了若干算法模型庫及人工智能應(yīng)用程序項目。這些項目可以直接復(fù)用來加快自己的項目開發(fā)進(jìn)度,提升自己的模型與應(yīng)用設(shè)計水平。
TensorFlow運行時核心庫
構(gòu)成TensorFlow的主體是其運行時(RunTime)核心庫,這個核心庫是指通過pip命令等方式安裝TensorFlow之后,部署到Lib\site-packages
或類似目錄中的動態(tài)鏈接庫文件。生成這個庫的C++源代碼大致分為3個層次:分布式運行時、公共運行時和算子核函數(shù)。
- 分布式運行時:實現(xiàn)數(shù)據(jù)流圖
計算
的基本邏輯 - 公共運行時:實現(xiàn)數(shù)據(jù)流圖的
跨進(jìn)程協(xié)同
計算邏輯 - 算子核函數(shù):包含圖上具體操作節(jié)點的
算法實現(xiàn)代碼
TensorFlow運行時核心庫導(dǎo)出的函數(shù)接口基于C和C++語言,為了方便其他語言,提供了多語言API層。以python為例,可以使用import tensorflow
導(dǎo)入。
通信及計算庫
這庫有的是外部組件(如CPU代數(shù)計算的Eigen庫),也有作為TensorFlow源代碼的一部分集成在核心庫內(nèi)部(如用戶GPU并行計算的StreamExecutor庫)。用戶只需要按照軟件文檔安裝好必要的外部依賴包即可。文章來源:http://www.zghlxwxcb.cn/news/detail-832486.html
基礎(chǔ)設(shè)施
上述所有都是部署在基礎(chǔ)設(shè)施上,在服務(wù)端的運行場景,最常見的宿主操作系統(tǒng)試試Linux,硬件一般為X86 CPU和NVIDIA GPU。在移動終端的運行場景,宿主機(jī)操作系統(tǒng)可以是Android、IOS等,硬件一般為ARM CPU和專用的人工智能芯片。TensorFlow支持原生物理環(huán)境、虛擬機(jī)、容器,方便構(gòu)建基于云計算環(huán)境的各種應(yīng)用。文章來源地址http://www.zghlxwxcb.cn/news/detail-832486.html
到了這里,關(guān)于人工智能之Tensorflow技術(shù)特點及組件結(jié)構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!