热线电话:13121318867

登录
2020-07-11 阅读量: 897
Tensorflow介绍(二)

计算图(流, flow)

现在我们理解了Tensor的含义,是时候了解流(Flow)了。流是指一个计算图或简单的一个图,图不能形成环路,图中的每个节点代表一个操作,如加法、减法等。每个操作都会导致新的张量形成。

图片.png

上图展示了一个简单的计算图,所对应的表达式为:

e = (a+b)x(b+1)

计算图具有以下属性:

· 叶子顶点或起始顶点始终是张量。意即,操作永远不会发生在图的开头,由此我们可以推断图中的每个操作都应该接受一个张量并产生一个新的张量。同样,张量不能作为非叶子节点出现,这意味着它们应始终作为输入提供给操作/节点。

· 计算图总是以层次顺序表达复杂的操作。通过将a + b表示为c,将b + 1表示为d,可以分层次组织上述表达式。 因此,我们可以将e写为:

e = (c)x(d) 这里 c = a+b 且 d = b+1.

· 以反序遍历图形而形成子表达式,这些子表达式组合起来形成最终表达式。

· 当我们正向遍历时,遇到的顶点总是成为下一个顶点的依赖关系,例如没有a和b就无法获得c,同样的,如果不解决c和d则无法获得e。

· 同级节点的操作彼此独立,这是计算图的重要属性之一。当我们按照图中所示的方式构造一个图时,很自然的是,在同一级中的节点,例如c和d,彼此独立,这意味着没有必要在计算d之前计算c。 因此它们可以并行执行。

计算图的并行

上面提到的最后一个属性当然是最重要的属性之一。它清楚地表明,同级的节点是独立的,这意味着在c被计算之前不需空闲,可以在计算c的同时并行计算d。Tensorflow充分利用了这个属性。

0.3821
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子