5.3.2 TensorFlow编程思想

更新于 2026年10月10日 版权声明
5.3.2 TensorFlow编程思想

从内部机制上来说,TensorFlow(TF)就是通过建立数据流图来进行数值计算。所以,当使用TF来搭建模型时,其实主要涉及两个方面:根据模型建立数据流图,然后送入数据运行数据流图得到结果。数据流图中每个操作会有输入与输出,并且输入和输出都是张量,所以使用TF的操作可以构建自己的机器学习模型,其背后的TensorFlow编程逻辑就是一个数据流图。这个数据流图是静态的,即这个数据流图中每个节点接收什么样的张量和输出什么样的张量,在运行前已经固定下来了。

前面已经学过,要运行数据流图,需要开启一个会话,只有在Session中这个数据流图才可以真正运行。

图5⁃19所示Python代码就可以构建一个与图5⁃17相匹配的数据流图。

图示

图5⁃19 构建数据流图

代码很简洁,首先导入tensorflow库,并定义一个数据流图实例tf,代码3~7行用于创建tf的a、b、c、d、e五个节点,其中,a节点为输入节点,其输入为常数4;b节点也是输入节点,其输入为常数2;c节点是乘法操作节点,其输入为a和b两个节点的输出,即4和2;d节点是加法操作节点,其输入也为a和b两个节点的输出,即4和2;e节点也是加法操作节点,其输入为c和d两个节点的输出,即8和6。第9行代码定义了一个tf会话,第10行代码,启动该会话的执行,输出节点e的操作结果,即14。

一般来讲,TensorFlow的程序由两大部分构成:

①构建数据流图(代码第3~7行)。(https://www.daowen.com)

②运行数据流图(代码第9~11行)。

现在总结一下TensorFlow的编程思路如下:

第一步 构建一个数据流图。图中的节点可以是TensorFlow支持的任何数学操作。

第二步 初始化变量。将前期定义的变量赋初值。

第三步 创建一个会话。这才是图计算开始的地方,也是体现它“惰性”的地方,也就是说,仅仅构建一个图,这些图不会自动执行计算操作,而是还要显式提交到一个会话去执行。也就是说,它的执行,是滞后的。

第四步 在会话中运行图的计算。把编译通过的合法数据流图传递给会话,这时张量(Tensor)才真正“流动(Flow)”起来。

第五步 关闭会话。当整个数据流图无须再计算时,则关闭会话,回收系统资源。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)