TensorFlow(TF)是一个功能强大的开源软件库,它由Google的布莱恩(Brain)团队开发,主要用于深度神经网络。它自2015年11月使用Apache 2.0开源协议首次发布后飞速发展,截至2019年5月,它在Github的项目仓库(https://github.com/tensor-flow/tensorflow)上已经有超过51 000条提交,大约1830个贡献者。这些数据说明了它自身的流行度。
我们先来看看TensorFlow到底是什么,以及它为何在众多深度神经网络研究人员和工程师中如此流行。Google称它为“机器智能的开源软件库”,但随着很多深度学习库的出现,比如PyTorch(https://pytorch.org/)、Caffe(https://caffe.berkeleyvision.org/)和MxNet(https://mxnet.apache.org/),是什么使得TensorFlow仍然与众不同呢?大多数深度学习库(如TensorFlow)都有自动求导工具(一种用于优化的数学工具),许多是开源平台,其中大多数提供CPU/GPU选项,有预训练模型,支持常用的神经网络架构(比如循环神经网络、卷积神经网络和深度信念网络)。
除此之外,TensorFlow还有以下重要的功能:
对于所有开源项目,Github上的五角星数量是衡量其流行度的重要途径(见图1-1)。截至2019年3月,TensorFlow、Keras和PyTorch的星数分别为123 000、39 100和25 800。可见,TensorFlow成了机器学习中最受欢迎的框架。
图1-1 Github上各种深度学习项目的星数
Google Trends(趋势)是另一种衡量流行度的途径,结果再次证明TensorFlow和Keras分列一二位(截至2019年底),而PyTorch紧随其后(见图1-2)。
图1-2 各种深度学习项目的Google Trends