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). 

      外部链接[编辑]