tensorflow有什么用

TOP1 118

tensorflow有三大核心作用,分别是:1、加速计算;2、自动梯度;3、常用神经网络接口。TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief 。

1、加速计算

神经网络本质上由大量的矩阵相乘、矩阵相加等基本数学运算构成,Tensorflow等重要功能就是利用GPU方便地实现并行计算加速功能。为了演示GPU的加速效果,我将通过完成多次矩阵A和矩阵B的矩阵相乘运算,并测量其平均运算时间来比对。其中矩阵A的shape为[1,n],矩阵B的shape为[n,1],通过调节n即可控制矩阵的大小。

首先我们分别创建使用CPU和GPU环境运算的2个矩阵

接下来实现CPU和GPU运算的函数,并通过timeit.timeit()函数来测量两个函数的运算时间。需要注意的是,第一次计算时一般需要完成额外的环境初始化工作,因此这段时间不能计算在内。我们通过热身环节将这段时间去除,再测量预算时间

我们将不同大小n下的cpu和gpu环境的运算时间绘制为曲线。

2、自动梯度

在使用Tensorflow构建前向计算过程的时候,除了能够获得数值结果,Tensorflow还会自动构建计算图,通过Tensorflow提供的自动求导的功能,可以不需要手动推导,即可计算输出对网络参数的偏导数。考虑如下表达式:

y = aw^2 + bw +c, 输出y对于变量w的导数关系为:dy/dw = 2aw+b,考虑在(a,b,c,w) = (1,2,3,4)处的导数,代入上面的式子可得:dy/dw = 214 + 2 = 10。

通过Tensorflow方式,可以不需要手动推导导数的表达式,直接给出函数的表达式,即可由Tensorflow自动求导

3、常用神经网络接口

TensorFlow 除了提供底层的矩阵相乘、相加等数学函数,还内建了常用神经网络运算 函数、常用网络层、网络训练、模型保存与加载、网络部署等一系列深度学习系统的便捷 功能。使用 TensorFlow 开发,可以方便地利用这些功能完成常用业务流程,高效稳定。


最后,推荐我们的管理工具给大家。

回复

我来回复
  • 暂无回复内容

联系我们
关注微信
关注微信
分享本页
返回顶部