TensorFlow 是一款通过数据流图进行数值计算的开源库。在数据流图中,节点代表数学运算,边代表连接了节点的多维数组(张量)。灵活的架构设计让你可以在台式机、服务器,甚至移动设备的CPU、GPU上面部署运算节点。TensorFlow最早是被Google Brain的研究者和工程师开发出来的用于机器学习和深度神经网络的研究,但是这个系统也同样适用于其他领域。
TensorFlow的特性
深度灵活性
TensorFlow不是一个僵化的神经网络库。只要你能够把你的运算表达为数据流图,你就可以使用TensorFlow。TensorFlow提供了现成的神经网络中常见的图,用户也可以在TensorFlow的基础上自己编写库。编写自定义的复合运算就像写一个Python函数那么简单。如果底层的数据算子没有提供,你也可以用C++自己写一个。
可移植性
台式机、服务器,甚至移动设备,都可以部署、移植TensorFlow的程序。既可以在CPU上运行,也能在GPU运行。如果你想部署到云端,没问题。Docker很容易支持TensorFlow。
连接科研与产品
研究员通过TensorFlow研究新的算法,产品团队用TensorFlow训练模型并把模型集成在产品中提供给用户。学术界的科学研究和工业界的产品部署可以更加快速地迭代。
自动求导
如果你使用了基于梯度的学习算法,TensorFlow的自动求导会给你带来很大的便利。作为用户,你只需要自己定义你的预测模型的计算架构和目标函数,只需要加上数据,TensorFlow可以自动为你计算导数。
语言选择
TensorFlow提供了方便易用的Python接口,也支持C++,Java,Go等语言。
性能最大化
你可以把你的计算单元部署到CPU、GPU等不同的设备上面,并使用线程、队列、异步计算来最大化你的硬件使用效率。TensorFow为你提供一切便利。
谁可以使用TensorFlow
TensorFlow是给每个人的。学生、研究者、爱好者、黑客、工程师、开始者、发明家、创造者都可以使用。TensorFlow基于Apache2.0开源协议。
谁在使用TensorFlow
ARM、Snapchat、Airbus、Google、Uber、京东、Twitter、Deepmind、ebay、小米、Dropbox等。