tensorflow是google开源的深度学习框架,本文讲解tensorflow中最重要的一些概念。

tensorflow有3个最重要的概念:

  1. 数据模型
  2. 计算模型
  3. 运行模型

这3个概念从它的名字里就可以体现出来了。tensor说的是它的数据模型,flow说的是它的计算模型,合起来之后还有运行,所以还有运行模型。

接下来先从计算模型说。计算模型中最重要的是计算图,计算图有节点和边,节点代表了tensorflow中的一个运算或者计算,什么是运算呢?几个例子,定义常量就是一个运算,这是tensorflow中的规则,那么类似的加法等运算更是运算了。这些运算都是计算图中的一个节点。tensorflow中的flow体现了计算图的理念。flow意思是“流”,流代表的是计算的方式。通过定义计算图中的运算之后,这些运算通过流动来进行计算,最终计算出结果。从这里,可以总结一下写tensorflow的程序最重要的两步:

  1. 定义计算图的节点(定义运算)。
  2. 执行计算(通过边来进行计算)。

在tensorflow中,会默认保存一个默认的计算图,如果显示指定的话,也可以指定计算图。

接下来是数据模型。tensor是tensorflow的数据模型,它描述的是tensorflow使用和管理数据的方式。在tensorflow中,数据都是使用tensor(张量)来进行描述的,可以把tensor理解成多维数组,但是在tensorflow的实现中,tensor并没有保存多维数组,tensor保存的是计算的引用,它会保存整个计算的流程,在使用的时候再进行计算。在tensorflow中,tensor有3个最重要的属性:

  1. 名字:名字的命名方式是节点名:第几个输出,例如add:0,表示add节点的第0个输出,是从0计数的。
  2. 维度:例如(2,)说的是一个一维数组,长度是2。
  3. 类型:dtype,有int32等。

接下来是运行模型。定义好计算图之后,计算结果还不能得到,必须使用会话来让计算图运行,得到结果。使用会话的方式有2种,但是推荐使用第2种。第一种是直接声明会话和结束会话,这是因为会话拥有tensorflow的资源,使用资源需要声明会话,使用完要关闭会话释放资源。第二种方式是使用类似python的with来声明会话,这样在结束的时候就不需要显示声明结束会话了。会话和计算图类似,但是tensorflow不会自动设置默认的会话,如果需要让某个会话作为默认会话,需要显示声明。

以上就是tensorflow中的一些概念。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐