该实验的主要内容是在TensorFlow中实现(a+b)*c的值的计算。其中,a、b均为1×2的矩阵常量,且a=[2.1,3.5],b=[2.2,1.7];c为2×1的矩阵常量,且 。
(1)了解TensorFlow的数据模型、计算模型和运行模型。
(2)掌握计算图、张量的基本使用方法。
(3)在TensorFlow中用代码实现(a+b)*c的计算。
(4)运行程序,看到结果。
本次实验后,要求学生能:
(1)了解TensorFlow的数据模型、计算模型和运行模型。
(2)掌握计算图、张量的基本使用方法。
(3)能够用代码在TensorFlow中实现基本运算。
计算图的构建方式主要包括静态计算图和动态计算图。在静态计算图中,TensorFlow 程序通常被组织成一个构建阶段和一个执行阶段。构建阶段通过构建计算图来定义TensorFlow程序中将要进行的所有计算操作;执行阶段则在会话中启动计算图,并执行之前定义的所有计算操作。在动态计算图的构建方式中,每进行一个计算操作后,该操作会动态地加入默认的计算图中,立即执行并得到结果,而无须再开启会话进行操作运算。鉴于 TensorFlow 2.0 中已经采用动态计算图作为默认的计算图构建方式,在本实验中,我们也采用动态计算图来完成矩阵的运算。
本实验的实验环境为TensorFlow 2.0+Python 3.6。
为了实现(a+b)*c 的计算,我们需要定义(a+b)*c 的计算图。在该计算图中,应包含a、b、c 三个矩阵常量的节点和“+”“c”两个计算操作节点,定义的所有节点将自动地加入计算图中,并立即完成运算。其实现代码如下:
通过以上代码可以完成计算图的创建和矩阵的运算。打印 result 的值,可以看到输出结果:
tf.Tensor([[39.42]],shape=(1,1),dtype=float32)