
输出myVariable = 2.0。 如不雅我们想改变变量的值,可以应用assign函数,如下所示:

(这将输出10.0)

我们将为zheg法度榜样供给一些练习数据,即x的某些值和y的所需值,根据练习数据计算W的值,然后供给测试数据以查看结不雅的精确度测试数据。因为采取了异常简单的模型,是以精确度可以轻松达到100%。 然则,在真实和更复杂的模型中,这几乎不会产生。 但畏敲?解的目标,可以如许做。

如今,我们将定义简单的模型如下:

如今,为了练习数据并更接近真实模型,我们将不得不编写一个损掉函数,然后将其最小化。为了简单起见,我们将平方误差的和作为损掉函数。 缺点只不过是结不雅应用我们的模型和期望值(y)之间的差别。
一种类型的节点是不变的,不须要输入,并输出一个内部存储的值。我们来看看如安在TensorFlow中定义一个常量。
然后将对每个输入进行平方,并添加它们。 以下是雷同的履行情况:

为了简单起见,我们将基于梯度降低优化器的概念(如不雅你不知道这个问题,请不要担心,请持续浏览)来构建本身的小优化器,以改┞俘W的值,然后对其进行测试 。
要做的就是计算模型的损掉,把持W的价值以最小化损掉,检查损掉是否削减,并根据损掉的结不雅进一步把持W的价值。 为这个优化器编写的代码如下所示:

在膳绫擎的代铝闼楝加法和减法是用于记忆上一次履行什么操作(加法或减法)的标记。 currentLoss是在轮回开端时存储损掉函数值的变量,oldLoss是在轮回停止时存储损掉函数值的变量。这两个变量在轮回之间进行比较以检查操作(加法或减法)若何影响损掉值,即减小或增长损掉值。在此基本长进行进一步的操作。要么W的值减1或增长1.这只是一个示例优化器。优良的优化器要复杂得多,效力也很高,很多已经在TensorFlow中实现了。这只是一个示例优化器,可能无法完美运行,然则可以给你一个TensorFlow若何工作的概念,这就是文┞仿的重要目标。膳绫擎编写的代码在读完之后很轻易懂得,本文中评论辩论了代码中应用的所有内容。

对于输入,给出了[1,2,3,4]的x和[10,20,30,40]的y(期望值)。所以,可以看到,W的值应当是10.0,我们今朝已经初始化为1.0。模型应当应用供给给它的练习数据,并将W大年夜1.0变换到10.0,在测试数据上应用W。
要运行法度榜样,必须初始化全局变量,创建一个会话对象,并在全局变量句柄上调用它的run办法,如下所示:

到这就根本停止了, 为了检查W的值,我们将在最后放置一个输出语句:

这将在运行时输出10.0作为输出。这意味着W的值大年夜1.0更改为10.0。如不雅我们为模型供给其他数据来检查y的值,那么就应当获得10倍的值。我在代码后面加上三个输出语句检查输出:

获得的输出是:

正如预期的那,本文是以一种比较简荡竽暌怪轻易懂得的方法来解释概念。
【编辑推荐】
- 无办事器强势来袭,法度榜样员应当若何应用?
- 构建数据中间关机法度榜样,做好最坏的预备
- 心塞了!双11法度榜样员彻夜难眠,考验技巧的时刻到了
- Web办事器、应用法度榜样办事器、HTTP办事器差别
- 企业借助有效的应用法度榜样重构微办事的3大年夜步调
推荐阅读
如何使用Red Hat System Roles完成Ansible集成
开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 IT用户可以加倍轻松地治理Red Hat Linux企业情况,应>>>详细阅读
地址:http://www.17bianji.com/lsqh/39857.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示