内容简介:本文记录一些对 Tensorflow 学习的一点儿想法。Tensorflow 是用来表达和执行机器学习算法的系统,可以在电脑端移动端甚至浏览器上运行。Tensorflow 不像是一个工具包倒像是“语言”一种用来描述机器学习算法的语言。NLTK, OpenCV, Scikit-learn 可以算是工具包,开箱即用。但是 Tensorflow 给我们提供的功能远比这复杂,虽然 Tensorflow 也提供了 Dataset、train、inference, Serving 等相关的接口,好像 Tensorflo
学习 Tensorflow 到底在学什么
本文记录一些对 Tensorflow 学习的一点儿想法。
Tensorflow 是用来表达和执行机器学习算法的系统,可以在电脑端移动端甚至浏览器上运行。Tensorflow 不像是一个 工具 包倒像是“语言”一种用来描述机器学习算法的语言。NLTK, OpenCV, Scikit-learn 可以算是工具包,开箱即用。但是 Tensorflow 给我们提供的功能远比这复杂,虽然 Tensorflow 也提供了 Dataset、train、inference, Serving 等相关的接口,好像 Tensorflow 也在致力于打造一个机器学习算法开发和部署的 papline . 我简单总结一些 Tensorflow 主要做的事情 :
- 机器学习算法的表达
- 自动微分
- 实现计算可以在不同的设备,不同的系统上运行
- 分布式计算实现
我们通常只需要关注第一部分,分布式的实现和在各种设备上的计算,Tensorflow 会给我们提供各种方便的接口。
Tensorflow 可以分为两部分:client 和 master , client 主要有 Python 和 C++ 的接口,用来描述各种计算,比如深度学习算法。master 负责把各种计算放到对应的设备上,以及分布式的实现等等各种复杂的问题。lient 和 master 之间通过 sessin 来进行交互。
Tensorflow 把所有的计算(或者机器学习算法)抽象成有向图,有些类似 Spark 中的数据流图。client 通常可以用来构造计算图,计算图的节点被叫做一个 operation 。每个节点有多个或 0 个输入,输出也一样,各个 operation 之间的依赖关系就是边,在边上流动的是数据,用 Tensor 表示,Tensor 相当于一个多维数组,数组中的元素可以是不同类型 .
作为一个使用者想用 Tensorflow 来实现机器学习算法,就需要对各种类型的 operation 很了解,更进一步可以自己实现自定义的 operation 就更加自由了。通常情况下我们不需要自己去实现 operation 。Tensorflow 对各种 operation 做了分类:
所以如果说学好 Tensorflow 的关键是在理解架构之上对各种 operation 的理解和使用应该不会错。
还是推荐仔细读一下 Tensorflow white papers
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。