TensorFlow

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习[5]目前被50个团队[5]:min 0:15/2:17用于研究和生产许多Google商业产品[6]:p.2,如语音辨識GmailGoogle 相册和搜索[5]:0:26/2:17,其中许多产品曾使用过其前任软件DistBelief。

TensorFlow
開發者谷歌大脑团队[1]
初始版本2015年11月9日2015-11-09
穩定版本
2.4.1[2][3](2021年1月21日,31天前)
源代码库
编程语言PythonC++CUDA
系統平台LinuxmacOSWindowsAndroid
类型机器学习
许可协议Apache 2.0开源许可证
网站www.tensorflow.org
tensorflow.google.cn[4]

TensorFlow最初由谷歌大脑团队开发,用于Google的研究和生产,于2015年11月9日在Apache 2.0开源许可证下发布。[1][7]

历史

DistBelief

从2010年开始,谷歌大脑建立DistBelief作为他们的第一代专有机器学习系统。50多个团队在Google和其他Alphabet公司在商业产品部署了DistBelief的深度学习神经网络,包括Google搜索Google语音搜索、广告、Google 相册Google地图Google街景Google翻译YouTube[6][8]Google指派计算机科学家,如杰弗里·辛顿傑夫·迪恩,简化和重构DistBelief的代码库,使其变成一个更快、更健壮的应用级别代码库,形成了TensorFlow。[9]2009年,Hinton领导的研究小组大大减少使用DistBelief的神经网络的错误数量,通过Hinton在广义反向传播的科学突破。最值得注意的是,Hinton的突破直接使Google语音识别软件中的错误减少至少25%。[10]

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扩展)。[11]TensorFlow可用于64位LinuxmacOSWindows,以及移动计算平台,包括AndroidiOS

TensorFlow的计算使用有状态的数据流图表示。TensorFlow的名字来源于这类神经网络对多维数组执行的操作。这些多维数组被称为张量(Tensor)。2016年6月,Jeff Dean称在GitHub有1500个库使用了TensorFlow,其中只有5个来自Google。[12]

张量处理单元(TPU)

2016年5月,Google宣布了张量处理单元(TPU),一个专为机器学习和TensorFlow全定制专用集成电路。TPU是一个可编程的人工智能加速器,提供高吞吐量的低精度计算(如8位),面向使用或运行模型而不是训练模型。Google宣布他们已经在数据中心中运行TPU长达一年多,发现它们对机器学习提供一个数量级更优的每瓦特性能。[13]

2017年5月Google宣布第二代张量处理单元,并在Google Compute Engine中可用。[14]第二代TPU提供最高180 teraflops性能,组装成64个TPU的集群时提供最高11.5 petaflops性能。

TensorFlow Lite

2017年5月Google宣布从Android Oreo开始,提供一个专用于Android开发的软件栈TensorFlow Lite[15]

应用

Google于2015年10月26日正式发布了RankBrain,由TensorFlow支持。

特性

TensorFlow提供了一个Python API,以及C++Haskell页面存档备份,存于[16]Java页面存档备份,存于[17]Go页面存档备份,存于[18]Rust页面存档备份,存于[19]API。第三方包可用于 C#页面存档备份,存于[20].NET Core页面存档备份,存于[21]Julia页面存档备份,存于[22]R页面存档备份,存于[23]Scala页面存档备份,存于[24]

TensorFlow的底层核心引擎由C++实现,通过gRPC实现网络互访、分布式执行。虽然它的Python/C++/Java API共享了大部分执行代码,但是有关于反向传播梯度计算的部分需要在不同语言单独实现。目前只有Python API较为丰富地实现了反向传播部分。所以大多数人使用Python进行模型训练,但是可以选择使用其它语言进行线上推理。

TensorFlow在Windows和Linux上支持使用Bazel或CMake构建,在某些平台上也支持直接使用GNU make进行编译。

应用

广泛的应用程序使用TensorFlow作为基础,其中它已成功实现自动化图像字幕软件,例如DeepDream[25]2015年10月26日,Google正式启用了由TensorFlow提供支持的RankBrain。RankBrain现在处理大量的搜索查询,替换和补充传统的静态算法搜索结果。[26]

参阅

引用

  1. . [2015-11-10]. (原始内容存档于2015-11-17).
  2. . 2021年1月21日 [2021年2月7日] (英语).
  3. https://github.com/tensorflow/tensorflow/releases/tag/v2.4.1;出版日期:2021年1月21日;检索日期:2021年2月7日。
  4. . [2020-11-08]. (原始内容存档于2020-11-16).
  5. "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
  6. (PDF). Google Research. 2015-11-09 [2015-11-10]. (原始内容存档 (PDF)于2015-11-20).
  7. . 2015-11-09 [2015-11-10]. (原始内容存档于2015-11-10).
  8. . 2015-11-09 [2015-11-11]. (原始内容存档于2015-11-10).
  9. . 2015-11-11 [2015-11-11]. (原始内容存档于2015-11-10).
  10. . 2015-11-25 [2015-11-25]. (原始内容存档于2015-11-25).
  11. Metz, Cade. . 2015-11-10 [2015-11-11]. (原始内容存档于2015-11-11).
  12. Machine Learning: Google I/O 2016 Minute 07:30/44:44 页面存档备份,存于 accessdate=2016-06-05
  13. . [2016-05-19]. (原始内容存档于2016-05-18).
  14. . Google. 2017-05-17 [2017-05-18]. (原始内容存档于2017-05-17) (英语).
  15. . [2018-01-14]. (原始内容存档于2017-08-22).
  16. . [2018-01-14]. (原始内容存档于2019-05-01).
  17. . [2017-03-18]. (原始内容存档于2017-02-21).
  18. . [2017-03-18]. (原始内容存档于2017-02-21).
  19. . [2018-01-14]. (原始内容存档于2019-11-05).
  20. . [2018-01-14]. (原始内容存档于2019-11-05).
  21. . [2019-08-05]. (原始内容存档于2019-08-25).
  22. . [2018-01-14]. (原始内容存档于2019-05-12).
  23. . [2018-01-14]. (原始内容存档于2019-07-06).
  24. . [2018-01-14]. (原始内容存档于2019-02-18).
  25. . 2015-11-11 [2015-11-11]. (原始内容存档于2015-11-23).
  26. . 2015-11-25 [2015-11-25]. (原始内容存档于2015-11-25).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.