1、TensorFlow的演進歷史
2011年Google開發(fā)了它的第一代分布式機器學(xué)習(xí)系統(tǒng)DistBelief,著名計算機科學(xué)家杰夫·迪恩(Jeff Dean)和深度學(xué)習(xí)專家吳恩達(Andrew )都是這個項目成員。升級版的DistBelief就是大家熟悉的TenorsFlow,2015年11月發(fā)布了0.1版本,并正式開源;2017年2月發(fā)布1.0版本,是當(dāng)時應(yīng)用最普遍的深度學(xué)習(xí)框架;2019年春發(fā)布2.0版本,在易用性上做了很大提升;現(xiàn)在TensorFlow官網(wǎng)已經(jīng)Release了V 2.11。TensorFlow有幾大優(yōu)勢。
首先,它出身好。
出身在谷歌這個大戶人家,基礎(chǔ)是Google自用的分布式機器學(xué)習(xí)系統(tǒng)DistBelief,而作為DistBelief的繼承者,TensorFlow更快、更靈活、具有更強的適用性,也被譽為是谷歌“AI First”轉(zhuǎn)型重要支點之一。
開發(fā)團隊能力卓越。
Google的技術(shù)能力不用再說了,這個項目中的成員吳恩達(Andrew )和杰夫·迪恩(Jeff Dean)都是AI領(lǐng)域響當(dāng)當(dāng)?shù)拿恕_@里重點介紹一下Jeff Dean,他在硅谷就是傳奇,美國工程院院士,2021年IEEE馮諾依曼獎獲得者(獲獎理由是“以表彰對大規(guī)模分布式計算機系統(tǒng)和人工智能系統(tǒng)科學(xué)與工程的貢獻”)。Jeff在1999年加入谷歌,是谷歌的第20號員工,谷歌大腦、開源框架TensorFlow、谷歌廣告系統(tǒng)、谷歌搜索系統(tǒng)等關(guān)鍵技術(shù)的重要創(chuàng)始人之一,現(xiàn)在是谷歌AI掌門人。
Jeff Dean實在太過強大,傳說硅谷的工程師們編出了不少關(guān)于他有多牛的段子。比如,“All pointers point to Jeff Dean”(所有指針都是指向Jeff的),“Compilers don't warn Jeff Dean. Jeff Dean warns compilers.”(編譯器從來不給Jeff編譯警告,而是Jeff警告編譯器),“Jeff Dean's keyboard has two keys: 1 and 0.”(Jeff的鍵盤只有兩個鍵:1和0)。
產(chǎn)品不斷迭代,持續(xù)進步。
Tensorflow這個平臺有許多更新和版本,一直在不斷滿足開發(fā)者不斷增長的需求,列舉這些年來的一些主要發(fā)展
推出TPU專用芯片,夯實硬件底座:Google在2015年開始使用張量處理單元TPU,2017年發(fā)布第二代,在2018年發(fā)布第三代,2021年發(fā)布第四代。TPU作為專用人工智能加速處理器就是使用TensorFlow開發(fā),2018年,Google宣布TPU它的云平臺上進行beta測試。
應(yīng)用范圍擴展,支持移動和物聯(lián)網(wǎng)設(shè)備:2017年發(fā)布TensorFlow Lite用于移動和物聯(lián)設(shè)備上部署ML模型,在圖像分類、物體分類等方面都有應(yīng)用。
集成的模塊和工具不斷改進,提升易用性:如推出TensorFlow Extended (TFX),用于部署生產(chǎn)ML管道的端到端平臺,幫助用戶完成從研究到生產(chǎn)的階段的轉(zhuǎn)換。又如TensorFlow.js,一個用JavaScript開發(fā)模型的ML庫,可以直接在瀏覽器或Node.js中使用ML,開發(fā)人員可以使用靈活的API直接在JavaScript中構(gòu)建和訓(xùn)練模型。
大版本持續(xù)升級,提升易用性:"TensorFlow 2.0 is coming"就是直接面對越來越受歡迎的PyTorch的激烈競爭,TensorFlow于2019年9月發(fā)布了TensorFlow 2.0版本,針對1.0版本調(diào)試困難、API混亂、入門困難、代碼晦澀等問題進行了重大升級,2.0版本擁有簡單直觀的API和更好的資源文檔,這個版本中TensorFlow基于語義版本將平臺模塊化。同時,官方提供了TensorFlow 1.x升級到2.0的遷移指南,還有一個自動轉(zhuǎn)換的腳本。
2、TensorFlow 2.0.0版本中最重要的變化點之一 -Keras
在TensorFlow官網(wǎng)上2.0.0版本Release中Highlights了Keras,說明如下,“TF2.0 delivers Keras as the central high level API used to build and train models. Keras provides several model-building APIs such as Sequential, Functional, and Subclassing along with eager execution, for immediate iteration and intuitive debugging”。如前文討論TensorFlow2.0版本升級的核心目標(biāo)是使TensorFlow更易于使用,更易于學(xué)習(xí),同時也是應(yīng)對Pytroch等“好用”的開源框架的競爭,而Keras就是2.0版本最重要的改進點。
Keras的主要開發(fā)者是Google的工程師Fran?ois Chollet(也是一位大牛),這是一個由Python編寫的開源人工神經(jīng)網(wǎng)絡(luò)庫,可作為TensorFlow、Microsoft CNTK、Amazon MxNet等的高階應(yīng)用程序接口,進行深度學(xué)習(xí)模型的設(shè)計、調(diào)試、應(yīng)用和可視化。Keras在代碼結(jié)構(gòu)上由面向?qū)ο蠓椒ň帉?,完全模塊化并具有可擴展性,其運行機制和說明文檔有將用戶體驗和使用難度納入考慮,努力簡化復(fù)雜算法的實現(xiàn)難度 。Keras支持現(xiàn)今人工智能領(lǐng)域的主流算法,包括CNN和RNN等。硬件和開發(fā)環(huán)境方面,Keras支持多操作系統(tǒng)、支持多GPU并行計算,可根據(jù)后臺設(shè)置轉(zhuǎn)化為Tensorflow、CNTK等系統(tǒng)下的組件 。
在2.0版本Keras這中優(yōu)美的API與TensorFlow緊密集成,官方表示,對開發(fā)者來說TensorFlow 2.0用起來跟Python差不多。
3、TensorFlow里包含了哪些內(nèi)容?
(1)總覽:進入TenorFlow的官網(wǎng)(https://www.tensorflow.org)
我們可以理解為 ①Install環(huán)境+ ② TensorFlows生態(tài)內(nèi)容 +③ GitHub庫
(2)如今,TensorFlow 2.x是一個豐富的學(xué)習(xí)生態(tài)系統(tǒng),除了核心學(xué)習(xí)引擎外,這里還有大量可免費使用的工具,我們展開盤點一下它包含哪些內(nèi)容
TensorFlow.js:一個API的集合,可直接在瀏覽器或Node.js中訓(xùn)練和部署機器學(xué)習(xí)模型。
TensorFlow Datasets:TensorFlow中包含的官方數(shù)據(jù)集。此外,還有可通過Google Research和Google支持的數(shù)據(jù)集搜索免費獲得的數(shù)據(jù)集。
TensorFlow Hub:包含經(jīng)過訓(xùn)練的機器學(xué)習(xí)模型的代碼庫,這些模型(如Bert,F(xiàn)ast R-CNN)稍作調(diào)整便可以部署到任何設(shè)備上。
TensorFlow Extended:也被稱作TFX,完整的端到端平臺,含轉(zhuǎn)換工具(Transform)、分析工具(Model Analysis)和服務(wù)系統(tǒng)(TensorFlow Serving)。
TensorFlow Lite:用于嵌入式和移動設(shè)備的TensorFlow的輕量級版本,支持應(yīng)用在Android和iOS上。
TensorBoard:用于檢查、調(diào)試和優(yōu)化模型及指標(biāo)的可視化環(huán)境。
TensorBoard Federated:在去中心化數(shù)據(jù)上使用機器學(xué)習(xí)和其他計算工作的框架。
TensorBoard Probability:將概率模型與深度學(xué)習(xí)相結(jié)合的框架。
TensorBoard Playground:用于可視化、調(diào)試和檢查神經(jīng)網(wǎng)絡(luò)的UI,常用于教育教學(xué)。
Accelerated Linear Algebra:線性代數(shù)的特定領(lǐng)域編譯器,可優(yōu)化TensorFlow計算,也被稱作XLA。
MLPerf:是ML基準(zhǔn)套件,用于測量ML軟件框架、ML硬件加速器和ML云平臺的性能。
4、TensorFlow安裝 (1)基礎(chǔ)環(huán)境
Ubuntu 16.04 或更高版本
Windows 7 或更高版本(含 C++ 可再發(fā)行軟件包)
macOS 10.12.6 (Sierra) 或更高版本(不支持 GPU)
(2)安裝Python:安裝3.6及以上的版本(官網(wǎng)要求),Windows系統(tǒng)可以在Python Releases for Windows | Python.org下載后安裝。
(3)下載并安裝TensorFlow(以windows環(huán)境舉例)
安裝并確認pip版本:
【1】右鍵點擊桌面左下角的開始圖標(biāo),然后選擇運行,在彈出的窗口中輸入cmd,然后點擊確定;
【2】安裝高于20.3的pip版本(參考以下操作)
C:ProgramFilesPython310>pipinstall--upgradepip//requriesthelatest pip C:UsersKlinsmann>python-mpiplist//checkpipversion Package Version ------------------------------------- pip 22.3.1
安裝TensorFlow:
【3】使用pip installtensorflow在系統(tǒng)下安裝并校驗版本
C:Program FilesPython310>pip install tensorflow C:Program FilesPython310>python -m pip list Package Version ------------------------------------- tensorflow 2.11.0
導(dǎo)入并校驗是否安裝成功:
【4】輸入python,按下回車鍵進入python解釋器,輸入import pandas導(dǎo)入這個庫,報錯的話就說明安裝成功了
C:UsersKlinsmann>python >>> import tensorflow說明:更多TensorFlow安裝選項可參考https://www.tensorflow.org/install
(4)運行Tensor,驗證安裝結(jié)果
輸入以下代碼,若系統(tǒng)返回了一個張量,則證明已成功安裝TensorFlow
importtensorflowastf print(tf.reduce_sum(tf.random.normal([1000, 1000])))
系統(tǒng)返回了“tf.Tensor(-1061.2717, shape=(), dtype=float32)”,證明我們安裝成功了,一個Tensor生成了。
審核編輯:劉清
-
TPU
+關(guān)注
關(guān)注
0文章
141瀏覽量
20730 -
加速處理器
+關(guān)注
關(guān)注
0文章
8瀏覽量
6446 -
tensorflow
+關(guān)注
關(guān)注
13文章
329瀏覽量
60536
原文標(biāo)題:深度學(xué)習(xí)框架(2)- 了解TensorFlow,安裝TensorFlow
文章出處:【微信號:Hardware_10W,微信公眾號:硬件十萬個為什么】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論