《深度学习之图像识别核心技术与案例实战》—2.1.2 TensorFlow简介

举报
华章计算机 发表于 2019/06/01 23:40:04 2019/06/01
【摘要】 本书摘自《深度学习之图像识别核心技术与案例实战》一书中的第2章,第2.1.2节,作者是言有三 。

2.1.2  TensorFlow简介

  TensorFlow是Google brain推出的开源机器学习库,与Caffe一样,主要用于深度学习的相关任务。与Caffe相比,TensorFlow的安装简单很多,一个pip命令就可以解决,新手也不会误入各种“坑”。

  TensorFlow中的Tensor就是张量,代表N维数组,与Caffe中的blob是类似的。Flow即流,代表基于数据流图的计算。神经网络的运算过程就是数据从一层流动到下一层,TensorFlow更直接地强调了这个过程。

  TensorFlow最大的特点是计算图,即先定义好图,然后进行运算,所以所有的TensorFlow代码都包含两部分。第一部分是创建计算图,表示计算的数据流,实际上就是定义好了一些操作,可以将它看作是Caffe中Prototxt的定义过程;第二部分是运行会话,执行图中的运算,可以看作是Caffe中的训练过程,只是TensorFlow的会话比Caffe灵活很多,由于是Python接口,因此取中间结果分析、debug等方便很多。

  TensorFlow也有内置的TF.Learn和TF.Slim等上层组件,可以帮助开发者快速地设计新网络,并且兼容Scikit-learn estimator接口,可以方便地实现evaluate、grid search、cross validation等功能。同时TensorFlow不只局限于神经网络,其数据流式图支持非常自由的算法表达,可以轻松实现深度学习以外的机器学习算法。

  用户可以写内层循环代码控制计算图分支的计算,TensorFlow会自动将相关的分支转为子图并执行迭代运算。TensorFlow也可以将计算图中的各个节点分配到不同的设备上执行,充分利用硬件资源。

  在TensorFlow中定义新的节点时只需要写一个Python函数,如果没有对应的底层运算核,则需要写C++或者CUDA代码来实现运算操作。此外,TensorFlow还支持深度强化学习及其他计算密集的科学计算(如偏微分方程求解等)。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。