Tensorflow为一种机器学习库。
优点:
1.可自行设计神经网络结构;
2.不需要通过反向传播求解梯度,Tensorflow支持自动求导;
3.通过C++编写核心代码,简化了线上部署的复杂度(通过SWIG实现Python,Go和JAVA接口);
4.Tensorflow中内置TF.Learn和TF.Slim等组件,并兼容Sciket-learn estimator接口(evaluate、grid、search、cross、validation);
5.数据流式图支持自由的算法表达,可实现深度学习以外的机器学习算法;
6.可写内层循环代码控制计算图分支的计算,可将相关的分支转化为子图并执行迭代计算;
7.可进行并行设计,充分利用硬件资源。
8.具有灵活的移植性,编译速度较快;
在数据并行模式上:Tensorflow主要面向内存足以装载模型参数环境,从而实现计算效率的最大化;
支持卷积神经网络(Convolutional Neural Network ,CNN),循环神经网络(Recurent Neural Network,RNN),支持深度强化学习及计算密集的科学计算(偏微分方程求解);
在加入XLA后可以支持JIT和AOT,通过Bucketing trick可以比较高效的实现循环神经网络;目前只可计算静态图;
通过Tendorflow Serving组件可以将Tensorflow 训练好的模型导出;并部署成可以对外提高预测服务的RESTful接口;从而实现了从研究到生成整条流水线的框架:
训练模型—