迈入TensorFlow的队列:教你写本身的措施
副问题[/!--empirenews.page--]
【编译】在本文中,我们将行使Python在TensorFlow中实现一个很是根基的措施,以便在现实中看到它。 TensorFlow中的计较包括两个阶段: 构建计较图 运行计较图 计较图是之条件到的数据流图。 数据流图的每个节点将有助于评估TensorFlow计较的操纵。在TensorFlow中,每个节点将零个或多个张量作为输入,并发生一个张量作为输出。 一种范例的节点是稳固的,不必要输入,并输出一个内部存储的值。我们来看看如安在TensorFlow中界说一个常量。 输出的语句将是: 请留意,输出不是9.0或19.0,而是张量工具。这是由于我们只是成立了计较图,但没有运行它。在运行之前,让我们看看上面的输出是什么意思。 在Tensor工具中,第一个参数是该张量的名称。名称的Const部门由TensorFlow自己分派给它,而不是措施员明晰给出的。天生的名称后头随着一个:,后头随着一个数字(在这个例子中是0)。这个数字是正在定名的张量的索引。 这意味着,一个节点可以发生多个输出或多个张量。在这种环境下,这个数字将成为输出中每个张量的下标。在这里,固然只有一个输出,以是张量被赋值为0.假如尚有一个输出,则该张量将被赋值为1。 第二个参数暗示该张量的外形。。第三种范例是张量的数据范例。你可以明晰地给它,就像第一个常量做的那样,可能TensorFlow也可以对它举办揣度,就像第二个常量那样。 假如我们想将9.0和19.0看作输出,我们将不得不现实运行方才构建的计较图。要做到这一点,必需建设一个回话工具并挪用它的run要领。可以这样做,如下所示: 上述代码的输出将是9.0和19.0。 此刻,添加这两个常量。 添加是一个操纵,操纵只是TensorFlow中的另一个节点。 上述代码的输出为: 这里,+只是tf . add()的一个简写。 那么,怎样将本身的代价观转达给它呢?为了到达这些目标,占位符呈此刻图片中。占位符是稍后提供一个值的理睬。让我们快速建设两个占位符,并对它们执行操纵,以便在操纵中利便查察。 这里,myValue1和myValue2都是占位符,其值稍后将提供。请留意,这里给出的数据范例是逼迫的(dtype)。在挪用会话工具的run要领时,可以提供占位符的值,如上面的示例所示。这些值是在run要领的feed_dict参数中提供的。因此,上述代码的输出为: 可是呆板进修的重点是让我们的数据可实习,以便我们可以逊??,按照实习功效对其举办优化,而且实现一个可以或许在真实数据上险些事变的模子。 那么,怎样使我们的数据在TensorFlow中可以实习呢? 为了到达这个目标, 变量应承我们将可实习参数添加到我们的措施中。 变量界说如下: Evey变量被初始化为一个值(在这种环境下为2.0),并给出一个数据范例是可选的。 可是变量只是用上面的方法界说的;,它尚未初始化。当你挪用tf.Variable时,变量不会被初始化。 要初始化TensorFlow措施中的全部变量,必需显式挪用一个非凡操纵,如下所示: 重要的是要熟悉到init是对初始化全部全局变量的TensorFlow子图的一个句柄。在挪用sess. run之前,变量未初始化。 输出myVariable = 2.0。 假如我们想改变变量的值,可以行使assign函数,如下所示: (这将输出10.0) 好的,此刻已经清晰了写一个TensorFlow措施的根基前提,然后采纳一个很是简朴的例子来实现它。 我们将实验以下模式: 我们将为zheg措施提供一些实习数据,即x的某些值和y的所需值,按照实习数据计较W的值,然后提供测试数据以查察功效的准确度测试数据。因为回收了很是简朴的模子,因此精确度可以轻松到达100%。 可是,在真实和更伟大的模子中,这险些不会产生。 但为了领略的目标,可以这样做。 因为我们将提供x和y的值,将声明它们为占位符。因为每个输入都必需改变W的值,把它声明为一个具有初始值的变量, 假设1.声明将会是这样的: 此刻,我们将界说简朴的模子如下: 此刻,为了实习数据并更靠近真实模子,我们将不得不编写一个丧失函数,然后将其最小化。为了简朴起见,我们将平方偏差的和作为丧失函数。 错误只不外是功效行使我们的模子和祈望值(y)之间的差别。 然后将对每个输入举办平方,并添加它们。 以下是沟通的执行环境: 为了简朴起见,我们将基于梯度降落优化器的观念(假如你不知道这个题目,请不要担忧,请继承阅读)来构建本身的小优化器,以更正W的值,然后对其举办测试 。 要做的就是计较模子的丧失,哄骗W的代价以最小化丧失,搜查丧失是否镌汰,并按照丧失的功效进一步哄骗W的代价。 为这个优化器编写的代码如下所示: 可以必定,丧失可以到达0,由于我们行使了一个简朴的模子。对付更伟大的模子,可以适内地改变前提。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |