TensorFlow
此條目包含過多行話或專業術語,可能需要簡化或提出進一步解釋。 |
開發者 | 谷歌大腦團隊[1] |
---|---|
首次發布 | 2015年11月9日 |
當前版本 |
|
源代碼庫 | |
編程語言 | Python、C++、CUDA |
平台 | Linux、macOS、Windows、Android |
類型 | 機器學習庫 |
許可協議 | Apache 2.0開源許可證 |
網站 | www tensorflow |
TensorFlow是一個開源軟件庫,用於各種感知和語言理解任務的機器學習。[4]目前廣泛地用於研究和生產中,比如Google商業產品[5]:p.2,如語音辨識、Gmail、Google 相冊和搜索[4]:0:26/2:17,其中許多產品曾使用過其前任軟件DistBelief。
TensorFlow最初由谷歌大腦團隊開發,用於Google的研究和生產,於2015年11月9日在Apache 2.0開源許可證下發布。[1][6]
歷史
[編輯]DistBelief
[編輯]從2010年開始,谷歌大腦建立DistBelief作為他們的第一代專有的機器學習系統。50多個團隊在Google和其他Alphabet公司在商業產品部署了DistBelief的深度學習神經網絡,包括Google搜索、Google語音搜索、廣告、Google 相冊、Google地圖、Google街景、Google翻譯和YouTube。[5][7]Google指派計算機科學家,如傑弗里·辛頓和傑夫·迪恩,簡化和重構DistBelief的代碼庫,使其變成一個更快、更健壯的應用級別代碼庫,形成了TensorFlow。[8]2009年,Hinton領導的研究小組大大減少使用DistBelief的神經網絡的錯誤數量,通過Hinton在廣義反向傳播的科學突破。最值得注意的是,Hinton的突破直接使Google語音識別軟件中的錯誤減少至少25%。[9]
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可以運行在多個CPU和GPU(和可選的CUDA擴展和圖形處理器通用計算的SYCL擴展)。[10]TensorFlow可用於64位Linux、macOS和Windows,以及移動計算平台,包括Android和iOS。
TensorFlow的計算使用有狀態的數據流圖表示。TensorFlow的名字來源於這類神經網絡對多維數組執行的操作。這些多維數組被稱為張量(Tensor)。2016年6月,Jeff Dean稱在GitHub有1500個庫使用了TensorFlow,其中只有5個來自Google。[11]
張量處理單元(TPU)
[編輯]2016年5月,Google宣布了張量處理單元(TPU),一個專為機器學習和TensorFlow全定製的專用集成電路。TPU是一個可編程的人工智能加速器,提供高吞吐量的低精度計算(如8位),面向使用或運行模型而不是訓練模型。Google宣布他們已經在數據中心中運行TPU長達一年多,發現它們對機器學習提供一個數量級更優的每瓦特性能。[12]
2017年5月Google宣布第二代張量處理單元,並在Google計算引擎中可用。[13]第二代TPU提供最高180 teraflops性能,組裝成64個TPU的集群時提供最高11.5 petaflops性能。
TensorFlow Lite
[編輯]2017年5月Google宣布從Android Oreo開始,提供一個專用於Android開發的軟件棧TensorFlow Lite[14]。
用於搜索引擎
[編輯]Google於2015年10月26日正式發布了RankBrain,由TensorFlow支持。
TensorFlow 2
[編輯]隨着TensorFlow在研究論文上的市場份額因PyTorch的優勢而衰減[15],在2019年9月TensorFlow團隊宣布了程序庫的一個新的主要版本。TensorFlow 2.0介入了很多變更,最重要的是TensorFlow eager,它將自動微分的方案,從靜態計算的圖,變更為「運行時定義」的方案,它最初因Chainer和後來的PyTorch而流行[15]。其他主要的變更包括移除一些舊庫,在不同版本的TensorFlow的訓練模型之間的交叉兼容性,還有在GPU上性能的顯著改進[16]。
使用
[編輯]TensorFlow充當機器學習的核心平台和函數庫。TensorFlow的API使用Keras來允許用戶製作自己的機器學習模型[17]。除了建造和訓練它他們的模型之外,TensorFlow還能幫助裝載數據來訓練模型,並使用TensorFlow Serving來部署它[18]。
TensorFlow提供了一個Python API[19],以及C++[20]、Haskell[21]、Java[22]、Go[23]和Rust[24]API。第三方包可用於C#[25]、.NET Core[26]、Julia[27]、R[28]和Scala[29]。
應用
[編輯]廣泛的應用程序使用TensorFlow作為基礎,其中它已成功實現自動化圖像字幕軟件,例如DeepDream。[30]2015年10月26日,Google正式啟用了由TensorFlow提供支持的RankBrain。RankBrain現在處理大量的搜索查詢,替換和補充傳統的靜態算法搜索結果。[31]
參見
[編輯]引用
[編輯]- ^ 1.0 1.1 Credits. [2015-11-10]. (原始內容存檔於2015-11-17).
- ^ Release 2.18.0. 2024年10月24日 [2024年10月27日].
- ^ Google 为 TensorFlow 启用 tensorflow.google.cn 域名. [2020-11-08]. (原始內容存檔於2020-11-16).
- ^ 4.0 4.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
- ^ 5.0 5.1 TensorFlow: Large-scale machine learning on heterogeneous systems (PDF). Google Research. 2015-11-09 [2015-11-10]. (原始內容存檔 (PDF)於2015-11-20).
- ^ Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. 2015-11-09 [2015-11-10]. (原始內容存檔於2015-11-10).
- ^ Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More. 2015-11-09 [2015-11-11]. (原始內容存檔於2015-11-10).
- ^ What Is TensorFlow, and Why Is Google So Excited About It?. 2015-11-11 [2015-11-11]. (原始內容存檔於2015-11-10).
- ^ Google chairman: We’re making 'real progress' on artificial intelligence. 2015-11-25 [2015-11-25]. (原始內容存檔於2015-11-25).
- ^ Metz, Cade. TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World. 2015-11-10 [2015-11-11]. (原始內容存檔於2015-11-11).
- ^ Machine Learning: Google I/O 2016 Minute 07:30/44:44 (頁面存檔備份,存於網際網路檔案館) accessdate=2016-06-05
- ^ Google supercharges machine learning tasks with TPU custom chip. [2016-05-19]. (原始內容存檔於2016-05-18).
- ^ Build and train machine learning models on our new Google Cloud TPUs. Google. 2017-05-17 [2017-05-18]. (原始內容存檔於2017-05-17) (英語).
- ^ Google’s new machine learning framework is going to put more AI on your phone. [2018-01-14]. (原始內容存檔於2017-08-22).
- ^ 15.0 15.1 He, Horace. The State of Machine Learning Frameworks in 2019. The Gradient. 10 October 2019 [22 May 2020]. (原始內容存檔於2019-10-10).
- ^ TensorFlow 2.0 is now available!. TensorFlow Blog. 30 September 2019 [22 May 2020]. (原始內容存檔於2019-10-30).
- ^ TensorFlow Core | Machine Learning for Beginners and Experts. TensorFlow. [2021-11-04]. (原始內容存檔於2023-01-20) (英語).
- ^ Introduction to TensorFlow. TensorFlow. [2021-10-28]. (原始內容存檔於2023-01-20) (英語).
- ^ Python. [2022-12-12]. (原始內容存檔於2022-09-05).
- ^ C++. [2022-12-12]. (原始內容存檔於2023-01-20).
- ^ Haskell(頁面存檔備份,存於網際網路檔案館)
- ^ Java(頁面存檔備份,存於網際網路檔案館)
- ^ Go(頁面存檔備份,存於網際網路檔案館)
- ^ Rust(頁面存檔備份,存於網際網路檔案館)
- ^ C#(頁面存檔備份,存於網際網路檔案館)
- ^ .NET Core(頁面存檔備份,存於網際網路檔案館)
- ^ Julia(頁面存檔備份,存於網際網路檔案館)
- ^ R(頁面存檔備份,存於網際網路檔案館)
- ^ Scala(頁面存檔備份,存於網際網路檔案館)
- ^ Google Offers Up Its Entire Machine Learning Library as Open-Source Software. 2015-11-11 [2015-11-11]. (原始內容存檔於2015-11-23).
- ^ Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public. 2015-11-25 [2015-11-25]. (原始內容存檔於2015-11-25).
外部連結
[編輯]- 官方網站
- 官方網站(簡體中文)
- GitHub上的TensorFlow