• 1.摘要
  • 2.基本信息
  • 3.发展历史
  • 4.系统安装
  • 4.1.语言与系统支持
  • 4.2.版本兼容性
  • 5.工作原理
  • 5.1.核心组件
  • 5.2.低阶API
  • 5.3.高阶API
  • 5.4.加速器
  • 5.5.优化器
  • 5.6.可视化工具
  • 5.7.调试程序
  • 6.系统部署
  • 7.安全性
  • 8.生态系统
  • 8.1.社区
  • 8.2.项目
  • 8.3.应用开发
  • 8.4.研究
  • 9.参考资料

TensorFlow

谷歌研发的人工智能学习系统

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统1

1/2

TensorFlow可被用于语音识别图像识别等多项机器学习和深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。TensorFlow将完全开源,任何人都可以用。

基本信息

  • 外文名

    TensorFlow

  • 许可协议

    Apache2.0 opensour celicense

  • 官网

    www.tensorflow.org/

  • 编程语言

    PythonC++CUDA

  • 类型

    机器学习库

发展历史

TensorFlow

谷歌大脑自2011年成立起开展了面向科学研究和谷歌产品开发的大规模深度学习应用研究,其早期工作即是TensorFlow的前身DistBelief。DistBelief的功能是构建各尺度下的神经网络分布式学习和交互系统,也被称为“第一代机器学习系统”。DistBelief在谷歌和Alphabet旗下其它公司的产品开发中被改进和广泛使用。

2015年11月,在DistBelief的基础上,谷歌大脑完成了对“第二代机器学习系统”TensorFlow的开发并对代码开源。相比于前作,TensorFlow在性能上有显著改进、构架灵活性和可移植性也得到增强。此后TensorFlow快速发展,截至稳定API版本1.12,已拥有包含各类开发和研究项目的完整生态系统。在2018年4月的TensorFlow开发者峰会中,有21个TensorFlow有关主题得到展示。

1/3

截止到2019年8月31日,TensorFlow已成长为一个灵活的机器学习框架,已到2.0阶段,下载量4100万,提交次数5万+,代码改动请求(PR)9900+,贡献量1800+1

2019年9月,谷歌推出了TensorFlow 2.02

系统安装

语言与系统支持

1/3

TensorFlow支持多种客户端语言下的安装和运行。截至版本1.12.0,绑定完成并支持版本兼容运行的语言为C和Python,其它(试验性)绑定完成的语言为JavaScript、C++、Java、Go和Swift,依然处于开发阶段的包括C#、Haskell、Julia、Ruby、Rust和Scala。

Python

TensorFlow提供Python语言下的四个不同版本:CPU版本(tensorflow)、包含GPU加速的版本(tensorflow-gpu),以及它们的每日编译版本(tf-nightly、tf-nightly-gpu)。TensorFlow的Python版本支持Ubuntu16.04、Windows 7、macOS10.12.6 Sierra、Raspbian 9.0及对应的更高版本,其中macOS版不包含GPU加速。安装Python版TensorFlow可以使用模块管理工具pip/pip3或anaconda并在终端直接运行。

此外Python版TensorFlow也可以使用Docker安装:

C

TensorFlow提供C语言下的API用于构建其它语言的API,支持x86-64下的Linux类系统和macOS 10.12.6 Sierra或其更高版本,macOS版不包含GPU加速。安装过程如下:

下载TensorFlow预编译的C文件到本地系统路径(通常为/usr/local/lib)并解压缩。

使用ldconfig编译链接

此外用户也可在其它路径解压文件并手动编译链接。