TensorFlow

維基百科,自由的百科全書
跳至導覽 跳至搜尋
TensorFlow
File:TensorFlow logo.svg
開發者谷歌大腦團隊[1]
首次發布2015年11月9日,​10年前​(2015-11-09
當前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    源代碼庫
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    編程語言PythonC++CUDA
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      平台LinuxmacOSWindowsAndroid
      類型機器學習
      許可協議Apache 2.0開源許可證
      網站www.tensorflow.org
      tensorflow.google.cn[2]

      TensorFlow是一個開源軟件庫,用於各種感知和語言理解任務的機器學習[3]目前廣泛地用於研究和生產中,比如Google商業產品[4]: p.2 ,如語音辨識GmailGoogle 相冊和搜索[3]: 0:26/2:17 ,其中許多產品曾使用過其前任軟件DistBelief。

      TensorFlow最初由谷歌大腦團隊開發,用於Google的研究和生產,於2015年11月9日在Apache 2.0開源許可證下發布。[1][5]

      歷史[編輯]

      DistBelief[編輯]

      從2010年開始,谷歌大腦建立DistBelief作為他們的第一代專有機器學習系統。50多個團隊在Google和其他Alphabet公司在商業產品部署了DistBelief的深度學習神經網絡,包括Google搜索Google語音搜索、廣告、Google 相冊Google地圖Google街景Google翻譯YouTube[4][6]Google指派計算機科學家,如傑弗里·辛頓傑夫·迪恩,簡化和重構DistBelief的代碼庫,使其變成一個更快、更健壯的應用級別代碼庫,形成了TensorFlow。[7]2009年,Hinton領導的研究小組大大減少使用DistBelief的神經網絡的錯誤數量,通過Hinton在廣義反向傳播的科學突破。最值得注意的是,Hinton的突破直接使Google語音識別軟件中的錯誤減少至少25%。[8]

      TensorFlow[編輯]

      TensorFlow是谷歌大腦的第二代機器學習系統。

      從0.8.0版本(發布於2016年4月)開始原生的支持分布式運行。

      從0.9.0版本(發布於2016年6月)開始支持iOS

      從0.12.0版本(發布於2016年12月)開始支持Windows系統。該移植代碼主要由微軟貢獻。

      1.0.0版本發布於2017年2月11日。雖然參考實現運行在單台設備,TensorFlow可以運行在多個CPUGPU(和可選的CUDA擴展和圖形處理器通用計算SYCL擴展)。[9]TensorFlow可用於64位LinuxmacOSWindows,以及移動計算平台,包括AndroidiOS

      TensorFlow的計算使用有狀態的數據流圖表示。TensorFlow的名字來源於這類神經網絡對多維數組執行的操作。這些多維數組被稱為張量(Tensor)。2016年6月,Jeff Dean稱在GitHub有1500個庫使用了TensorFlow,其中只有5個來自Google。[10]

      張量處理單元(TPU)[編輯]

      2016年5月,Google宣布了張量處理單元(TPU),一個專為機器學習和TensorFlow全定製專用集成電路。TPU是一個可編程的人工智能加速器,提供高吞吐量的低精度計算(如8位),面向使用或運行模型而不是訓練模型。Google宣布他們已經在數據中心中運行TPU長達一年多,發現它們對機器學習提供一個數量級更優的每瓦特性能。[11]

      2017年5月Google宣布第二代張量處理單元,並在Google計算引擎中可用。[12]第二代TPU提供最高180 teraflops性能,組裝成64個TPU的集群時提供最高11.5 petaflops性能。

      TensorFlow Lite[編輯]

      2017年5月Google宣布從Android Oreo開始,提供一個專用於Android開發的軟件棧TensorFlow Lite[13]

      用於搜索引擎[編輯]

      Google於2015年10月26日正式發布了RankBrain英語RankBrain,由TensorFlow支持。

      TensorFlow 2[編輯]

      隨着TensorFlow在研究論文上的市場份額因PyTorch的優勢而衰減[14],在2019年9月TensorFlow團隊宣布了程序庫的一個新的主要版本。TensorFlow 2.0介入了很多變更,最重要的是TensorFlow eager,它將自動微分的方案,從靜態計算的圖,變更為「運行時定義」的方案,它最初因Chainer英語Chainer和後來的PyTorch而流行[14]。其他主要的變更包括移除一些舊庫,在不同版本的TensorFlow的訓練模型之間的交叉兼容性,還有在GPU上性能的顯著改進[15]

      使用[編輯]

      TensorFlow充當機器學習的核心平台和函數庫。TensorFlow的API使用Keras來允許用戶製作自己的機器學習模型[16]。除了建造和訓練它他們的模型之外,TensorFlow還能幫助裝載數據來訓練模型,並使用TensorFlow Serving來部署它[17]

      TensorFlow提供了一個Python API[18],以及C++[19]、Haskell[20]、Java[21]、Go[22]和Rust[23]API。第三方包可用於C#[24]、.NET Core[25]、Julia[26]、R[27]和Scala[28]

      應用[編輯]

      廣泛的應用程序使用TensorFlow作為基礎,其中它已成功實現自動化圖像字幕軟件,例如DeepDream英語DeepDream[29]2015年10月26日,Google正式啟用了由TensorFlow提供支持的RankBrain英語RankBrain。RankBrain現在處理大量的搜索查詢,替換和補充傳統的靜態算法搜索結果。[30]

      參見[編輯]

      引用[編輯]

      1. ^ 1.0 1.1 Credits. [2015-11-10]. (原始內容存檔於2015-11-17). 
      2. ^ Google 为 TensorFlow 启用 tensorflow.google.cn 域名. [2020-11-08]. (原始內容存檔於2020-11-16). 
      3. ^ 3.0 3.1 "TensorFlow: Open source machine learning"頁面存檔備份,存於網際網路檔案館) "It is machine learning software being used for various kinds of perceptual and language understanding tasks" — Jeffrey Dean, minute 0:47 / 2:17 from Youtube clip
      4. ^ 4.0 4.1 TensorFlow: Large-scale machine learning on heterogeneous systems (PDF). Google Research. 2015-11-09 [2015-11-10]. (原始內容存檔 (PDF)於2015-11-20). 
      5. ^ Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. 2015-11-09 [2015-11-10]. (原始內容存檔於2015-11-10). 
      6. ^ Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More. 2015-11-09 [2015-11-11]. (原始內容存檔於2015-11-10). 
      7. ^ What Is TensorFlow, and Why Is Google So Excited About It?. 2015-11-11 [2015-11-11]. (原始內容存檔於2015-11-10). 
      8. ^ Google chairman: We’re making 'real progress' on artificial intelligence. 2015-11-25 [2015-11-25]. (原始內容存檔於2015-11-25). 
      9. ^ Metz, Cade. TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World. 2015-11-10 [2015-11-11]. (原始內容存檔於2015-11-11). 
      10. ^ Machine Learning: Google I/O 2016 Minute 07:30/44:44頁面存檔備份,存於網際網路檔案館) accessdate=2016-06-05
      11. ^ Google supercharges machine learning tasks with TPU custom chip. [2016-05-19]. (原始內容存檔於2016-05-18). 
      12. ^ Build and train machine learning models on our new Google Cloud TPUs. Google. 2017-05-17 [2017-05-18]. (原始內容存檔於2017-05-17) (English). 
      13. ^ Google’s new machine learning framework is going to put more AI on your phone. [2018-01-14]. (原始內容存檔於2017-08-22). 
      14. ^ 14.0 14.1 He, Horace. The State of Machine Learning Frameworks in 2019. The Gradient. 10 October 2019 [22 May 2020]. (原始內容存檔於2019-10-10). 
      15. ^ TensorFlow 2.0 is now available!. TensorFlow Blog. 30 September 2019 [22 May 2020]. (原始內容存檔於2019-10-30). 
      16. ^ TensorFlow Core | Machine Learning for Beginners and Experts. TensorFlow. [2021-11-04]. (原始內容存檔於2023-01-20) (English). 
      17. ^ Introduction to TensorFlow. TensorFlow. [2021-10-28]. (原始內容存檔於2023-01-20) (English). 
      18. ^ Python. [2022-12-12]. (原始內容存檔於2022-09-05). 
      19. ^ C++. [2022-12-12]. (原始內容存檔於2023-01-20). 
      20. ^ Haskell頁面存檔備份,存於網際網路檔案館
      21. ^ Java頁面存檔備份,存於網際網路檔案館
      22. ^ Go頁面存檔備份,存於網際網路檔案館
      23. ^ Rust頁面存檔備份,存於網際網路檔案館
      24. ^ C#頁面存檔備份,存於網際網路檔案館
      25. ^ .NET Core頁面存檔備份,存於網際網路檔案館
      26. ^ Julia頁面存檔備份,存於網際網路檔案館
      27. ^ R頁面存檔備份,存於網際網路檔案館
      28. ^ Scala頁面存檔備份,存於網際網路檔案館
      29. ^ Google Offers Up Its Entire Machine Learning Library as Open-Source Software. 2015-11-11 [2015-11-11]. (原始內容存檔於2015-11-23). 
      30. ^ Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public. 2015-11-25 [2015-11-25]. (原始內容存檔於2015-11-25). 

      外部連結[編輯]