2015年11月,Google正式發佈了Tensorflow的白皮書並開源TensorFlow 0.1 版本。html
2017年02月,Tensorflow正式發佈了1.0.0版本,同時也標誌着穩定版的誕生。算法
2019年10月,TensorFlow在經歷七個多月(2019年3月1日-2019年10月1日)的 2.0 Alpha 版本的更新迭代後發佈 2.0 正式版。編程
2.0 正式版官方介紹視頻性能優化
https://v.qq.com/x/page/b3003v2g8dq.html網絡
雖然 2.0 正式版纔剛剛發佈,就已經引發了學術界與科研界普遍關注與好評:架構
爲何TensorFlow 2.0 的發佈可以引起了普遍的討論和關注?下面筆者經過對於TensorFlow「奮鬥史」介紹與解讀來分析TensorFlow如何成就的王霸之路。app
TensorFlow的「奮鬥史」包括三個章節:鋒芒初露(0.1),中原逐鹿(1.0),王者歸來(2.0)。框架
在2011年,Google Brain內部孵化出一個項目叫作DistBelief,它是爲深度神經網絡構建的一個機器學習系統。雖然這個著名的系統並無開源,可是Google研究者有大量關於它設計的論文被你們所熟知,它也被普遍應用於Google內部的科研和商業產品中。這個項目最先能夠追溯到2009年,由Geoffery Hinton帶領的團隊開發的一個實現了廣義反向傳播算法的框架,基於這個框架,Google內部能夠快速試驗新的深度學習算法並提升算法精度。好比在使用這套框架後,Google內部語音識別的錯誤率下降了25%。機器學習
後來,Google決定將DistBelief打形成更加穩健、快速、通用的機器學習框架,調動了至關多的工程師和科學家投入到對DistBelief的改造,這其中就包括大名鼎鼎的Jeff Dean。有了這樣的豪華開發陣容,DistBelief迅速成熟蛻變,成爲一個高魯棒和工業級的機器學習框架,這就是後來於2015年11月發佈的TensorFlow 0.1 版。分佈式
雖然相較於較早開源的Caffe、MXNet等優秀的機器學習框架,TensorFlow還略顯年輕,可是做爲Google內部的第二代機器學習框架,TensorFlow有了更加有趣的靈魂。相較於側重於卷積的Caffe與剛從校園走出來的MXNet,TensorFlow以更加成熟完備的姿態展露鋒芒。它是基於DataFlow的計算模型,算子相組合造成一個計算圖,計算的過程就是數據在這個計算圖的節點進行計算並流動。同時,這個計算圖能夠被切成不一樣的子圖,並分配到不一樣的Device上,包括CPU、GPU和其餘的計算設備,這樣自然地對分佈式友好。此外,TensorFlow從一開始就被設計成運行在多個平臺上,如inference能夠運行在iOS和Android設備上,訓練則能夠運行在不一樣的硬件設備上。
2016年4月14日,Google發佈了分佈式TensorFlow,版本號爲 0.8,這是TensorFlow發佈以後的比較重大的版本更新。Google的博文介紹了TensorFlow在圖像分類的任務中,在100個GPUs和不到65小時的訓練時間下,達到了78%的正確率。在激烈的商業競爭中,更快的訓練速度是人工企業的核心競爭力。而分佈式TensorFlow意味着它可以真正大規模進入到人工智能產業中,產生實質性影響。
在2016年6月,TensorFlow發佈了新版本的早期版本,版本號爲 0.9,增長了對iOS的支持。隨着谷歌增長了TensorFlow對iOS的支持,應用程序將可以在更聰明的功能集成到它們的應用程序,最終使它們更聰明和能幹。
從 0.9 版本開始,TensorFlow 支持了多平臺,而且進入高速發展時期,開始不斷趕超並拉開與其餘深度學習框架的距離。雖只是源起,卻鋒芒畢露,初現王霸之氣。
時間到了,2017年1月初,谷歌公佈了 TensorFlow 1.0.0-alpha ,即 TensorFlow 1.0 的第一個「草稿」版本。2017年2月,TensorFlow在發佈了1.0.0版本,也標誌着穩定版的誕生。
與已有版本相比,全新的 TensorFlow 1.0 主要有如下改進:
1.0 版本不只爲 TensorFlow 機器學習函數庫帶來多重升級,並且爲 Python 和 Java 用戶使用TensorFlow 作開發下降了難度。另外,新版本的修補也獲得了改善。更有意思的是,因爲對TensorFlow 計算作優化的新編譯器,在智能手機上運行基於 TensorFlow 的機器學習 APP 將成爲可能。Tensorflow它已成爲 GitHub 最受歡迎的開源項目。
下圖是KDnuggets網站對2018年的機器學習框架的使用作的一個調查統計,能夠看出當時TensorFlow已經遙遙領先於其餘競爭(Keras 是一個上層封裝,底層調用的仍是 TensorFlow),奠基了其深度學習霸主的地位。
中國有句古話:盛極必衰,否極泰來,這句話對於Google的 TensorFlow 也一樣適用。1.x 版本在高速發展過程當中,也爲本身後來發展築起一道山,TensorFlow也產生了不少被人詬病的地方,好比API的穩定性、效率和基於靜態計算圖的編程上的複雜性等。同時,堅持靜態圖模式也培養起來了足以撼動 TensorFlow 霸主地位的框架(上述圖中默默無聞的第三名,後來強勢崛起的PyTorch)。
1.x 版本後期,TensorFlow發展因爲自身緣由(1. 爲本身後來發展築起一道山 2.堅持靜態圖模式)遭遇到瓶頸。PyTorch以動態圖開發模式,統一化的模塊命名方式,更加人性化的編程的方式(Pythonic),強勢出道。這些優點無一不擊中 TensorFlow 的痛點,不斷追趕、威脅TensorFlow霸主地位。
下圖經過搜索全世界對機器學習和人工智能類別的興趣(Google Interest),採用過去六個月的平均興趣分數,並將其與前六個月的平均興趣分數進行了比較。能夠看出,TensorFlow 的平均興趣分數處於降低狀態,PyTorch卻呈上升趨勢。
下面谷歌的圖表顯示了過去一年的搜索興趣。TensorFlow爲藍色,Keras爲黃色,PyTorch爲紅色,fastai爲綠色。能夠看出TensorFlow整體呈現降低趨勢,而PyTorch卻呈現持續增加姿態,不斷縮小與TensorFlow的距離。
按這樣的趨勢,PyTorch在用戶搜索興趣方面追遇上TensorFlow指日可待了,TensorFlow遭遇到出生以來最大的挑戰(其實TensorFlow也就才三歲多)。TensorFlow會如何應對這個挑戰呢?是循序漸進,在1.x版本上進行小修小補,得過且過(這個詞用得有些過了,之因此會用是恰好寫到這裏的時候聽到這首歌,同時這個詞語與表達筆者對上述方法的不苟同);仍是推倒重來,從新設計新版TensorFlow,涅槃重生。這個選擇會關乎到之後TensorFlow數年的發展和與PyTorch競爭的成敗。筆者相信,Google 並不會作選擇,小孩纔會作選擇,大人全都要。以谷歌的巨大致量,在內部執行兩個方案,最後看市場反饋推出最合適的。Google是大公司,以穩爲主的策略仍是很容易讓人理解的。
咱們都知道Google推出了後者方案,選擇涅槃重生,重塑自身。那麼全新的TensorFlow 2.0 究竟新在哪裏呢?TensorFlow官網給出了答覆:
幾乎每一條都直擊TensorFlow1.x用戶的痛點,廣大使用TensorFlow1.x轉到PyTorch的用戶表示TensorFlow 2.0 真香,紛紛倒戈。
Google深度學習科學家以及Keras的做者表示,TensorFlow 2.0 是一個新時代的機器學習平臺,這將改變了一切。
深度學習研究和教育者、fast.ai創始人Jeremy Howard也稱讚 2.0 版本的發佈是」使人興奮的一步,與TensorFlow一代相比是一個巨大的飛躍「。
目前GitHub上排名第一的NLP機器學習課程practicalAI的做者以及蘋果公司AI研究員Goku Mohandas在推特上說,他們正在從PyTorch轉向TensorFlow 2.0。
此後,PyTorch在與TensorFlow的爭霸中將再難有勝算,TensorFlow 1.x 版本的失誤給了PyTorch趕超的機會,PyTorch已盡力追趕了,可是仍是沒有實現趕超。Now,TensorFlow 2.0 已經補全缺點,同時具有比PyTorch更加完備的多平臺支持、更成熟的部署方式與數量巨大的用戶基數。若是PyTorch早出生一年,或者TensorFlow 2.0 晚發佈一年,PyTorch仍是有機會的,可是沒有若是,Google依舊是最強大科技公司之一,很難反覆給對手機會趕超。TensorFlow再次呈現對於其餘框架壓倒式優點,實現王者歸來。
TensorFlow從最開始 0.1 版本誕生時受到普遍關注,到 1.0 版本的全面爆發,再到今年 2.0 版本正式發佈,它已趨於完美。TensorFlow的成長依託於Google的強大研發與號召力,但TensorFlow的成功更歸功於設計的完備性、審時度勢和適時革新。
經歷四年時光,TensorFlow的發展與成功離不開先天的優秀天賦(Google Brain),更有賴於後天的努力拼搏(適時革新)。有天分又有努力,TensorFlow的成功理所應當。
想要體驗正式版本TensorFlow 2.0 能夠訪問=>『TensorFlow2.0正式版教程』極簡安裝TF2.0正式版(CPU&GPU)教程:https://xiaosongshine.blog.csdn.net/article/details/101844926
喜歡個人文章歡迎訪問
小宋是呢 CSDN=> https://xiaosongshine.blog.csdn.net/
小宋是呢 知乎=> https://www.zhihu.com/people/xiaosongshine/activities
原文出處:https://www.cnblogs.com/xiaosongshine/p/11620816.html