TensorFlow使用图来表示计算任务,图中的节点被称之为op(operation的缩写)。TensorFlow程序通常被组织成一个构建阶段,和一个执行阶段。在构建阶段,op的执行步骤被描述成一个图。在执行阶段,使用会话执行图中的op(op就是节点)。简单的说,先给出描述,只在run()方法中执行操作。

        运行会话的方式有两种,一种是使用Session类的run()方法,另一种是使用Tensor.eval()和Operation.run()组合,这种方式也叫做交互式使用,这样可以避免使用一个变量来持有会话。

1.TensorFlow做矩阵乘法运算

        下面的代码有详尽的注释,我们可以清楚的看到图的构建,和图的执行。

        注意代码第二行,如果你使用了中文注释,请务必加上这行代码,否则会因为中文注释报错。

2.TensorFlow的交互式使用:矩阵减法的例子

        运行是在特定的时候进行,与前面的例子不同,运行变成了由op的run方法驱动。

        eval()方法只能在一个已启用会话的图中调用该tensor的值。

3.TensorFlow做线性回归拟合参数

        下面的例子就非常经典了,这是TensorFlow官方教程的第一个demo,代码已经加了注释,大家可以细细品味。

        这个例子开始使用GD(Gradient Decent)优化参数,也就带有机器学习的意味,对于理解tensorflow构建机器学习系统非常重要。

        Caffe由配置文件定义网络结构,而TensorFlow通过图的方式定义运算,是一种符号化的运算方法。这篇博客通过代码由浅入深的介绍了TensorFlow进行数学运算和机器学习的过程,基本上就是按照先定义op,再运行会话的方式进行,会话可以由op发起也可以由session发起。这就理解了TensorFlow构架机器学习和深度学习系统的过程。

        OK,See You Next Chapter!

发表评论

电子邮件地址不会被公开。 必填项已用*标注