作家
登录

迈入TensorFlow的行列:教你写自己的程序

作者: 来源: 2017-12-18 10:28:17 阅读 我要评论

开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散


在本文中,我们将应用Python在TensorFlow中实现一个异常根本的法度榜样,以便在实际中看到它。

TensorFlow中的计算包含两个阶段:

可以肯定,损掉可以达到0,因为我们应用了一个简单的模型。对于更复杂的模型,可以适本地改变前提。

构建计算图

运行计算图

计算图是之前提到的数据流图。 数据流图的每个节点将有助于评估TensorFlow计算的操作。在TensorFlow中,每个节点将零个或多个张量作为输入,并产生一个张量作为输出。

输出的语句将是:

好的,如今已经清跋扈了写一个TensorFlow法度榜样的根本前提,然后采取一个异常简单的例子来实现它。 我们将实施以下模式:

请留意,输出不是9.0或19.0,而是张量对象。这是因为我们只是建立了计算图,但没有运行它。在运行之前,让我们看看膳绫擎的输出是什么意思。

在Tensor对象中,第一个参数是该张量的名称。名称的Const部分由TensorFlow本身分派给它,而不是法度榜样员明白给出的。生成的名称后面跟着一个:,后面跟着一个数字(在这个例子中是0)。这个数字是正在定名的┞放量的索引。

这意味着,一个节点可以产生多个输出或多个张量。在这种情况下,这个数字将成为输出中每个张量的下标。在这里,固然只有一个输出,所以张量被赋值为0.如不雅还有一个输出,则该张量将被赋值为1。

第二个参数表示该张量的外形。。第三种类型是张量的数据类型。你可以明白地给它,就像第一个常量做的那样,或者TensorFlow也可以对它进行揣摸,就像第二个常量那样。

如不雅我们想将9.0和19.0看作输出,我们将不得不实际运行方才构建的计算图。要做到这一点,必须创建一个回话对象并调用它的run办法。可以如许做,如下所示:

上述代码的输出将是9.0和19.0。

如今,添加这两个常量。 添加是一个操作,操作只是TensorFlow中的另一个节点。

上述代码的输出为:

因为我们将供给x和y的值,将声明它们为占位符。因为每个输入都必须改变W的值,把它声明为一个具有初始值的变量, 假设1.声明将会是如许的:

这里,+只是tf . add()的一个简写。

那么,若何将本身的价值不雅传递给它呢?为了达到这些目标,占位符涌如今图片中。占位符是稍后供给一个值典范诺。让我们快速创建两个占位符,并对它们履行操作,以便在操作中便利查看。

这里,myValue1和myValue2都是占位符,其值稍后将供给。请留意,这里给出的数据类型是强迫的(dtype)。在调用会话对象的run办法时,可以供给占位符的值,如膳绫擎的示例所示。这些值是在run办法的feed_dict参数中供给的。是以,上述代码的输出为:

然则机械进修的重点是让我们的数据可练习,以便我们可以练习它,根据练习结不雅对其进行优化,并且实现一个可以或许在真实数据上几乎工作的模型。

那么,若何使我们的数据在TensorFlow中可以练习呢? 为了达到这个目标, 变量许可我们将可练习参数添加到我们的法度榜样中。 变量定义如下:

Evey变量被初始化为一个值(在这种情况下为2.0),并给出一个数据类型是可选的。 然则变量只是用膳绫擎的方法定义的;,它尚未初始化。当你调用tf.Variable时,变量不会被初始化。 要初始化TensorFlow法度榜样中的所有变量,必须显式调用一个特别操作,如下所示:

重要的是要熟悉到init是对初始化所有全局变量的TensorFlow子图的一个句柄。在调用sess. run之前,变量未初始化。


  推荐阅读

  如何使用Red Hat System Roles完成Ansible集成

开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 IT用户可以加倍轻松地治理Red Hat Linux企业情况,应>>>详细阅读


本文标题:迈入TensorFlow的行列:教你写自己的程序

地址:http://www.17bianji.com/lsqh/39857.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)