本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【j2开奖】资源 | TensorFlow极简教程:创建、保存和恢复机器学习模型

时间:2017-03-19 19:34来源:118图库 作者:开奖直播现场 点击:
参与:Jane W、李泽南 TensorFlow 是一个由谷歌发布的机器学习框架,在这篇文章中,我们将阐述 TensorFlow 的一些本质概念。相信你不会找到比本文更简单的介绍。 TensorFlow 机器学习范例

参与:Jane W、李泽南

TensorFlow 是一个由谷歌发布的机器学习框架,在这篇文章中,我们将阐述 TensorFlow 的一些本质概念。相信你不会找到比本文更简单的介绍。

TensorFlow 机器学习范例——Naked Tensor

  链接:https://github.com/jostmey/NakedTensor?bare

在每个例子中,我们用一条直线拟合一些数据。使用梯度下降(gradient descent)确定最适合数据的线的斜率和 y 截距的值。如果你不知道梯度下降,请查看维基百科:

  https://en.wikipedia.org/wiki/Gradient_descent

报码:【j2开奖】资源 | TensorFlow极简教程:创建、保存和恢复机器学习模型

创建所需的变量后,数据和线之间的误差是可以被定义(计算)的。定义的误差被嵌入到优化器(optimizer)中。然后启动 TensorFlow,并重复调用优化器。通过不断迭代最小化误差来达到数据与直线的最佳拟合。

按照顺序阅读下列脚本:

serial.py

tensor.py

bigdata.py

Serial.py

这个脚本的目的是说明 TensorFlow 模型的基本要点。这个脚本使你更容易理解模型是如何组合在一起的。我们使用 for 循环来定义数据与线之间的误差。由于定义误差的方式为循环,该脚本以序列化(串行)计算的方式运行。

Tensor.py

这个脚本比 serial.py 更进一步,虽然实际上这个脚本的代行更少。代的结构与之前相同,唯一不同的是这次使用张量(tensor)操作来定义误差。使用张量可以并行(parallel)运行代码。

每个数据点被看作是来自独立同分布的样本。因为每个数据点假定是独立的,所以计算也是独立的。当使用张量时,每个数据点都在分隔的计算内核上运行。我们有 8 个数据点,所以如果你有一个有八个内核的计算机,它的运行速度应该快八倍。

BigData.py

你现在距离专业水平仅有一个流行语之遥。我们现在不需要将一条线拟合到 8 个数据点,而是将一条线拟合到 800 万个数据点。欢迎来到大数据时代。

代码中有两处主要的修改。第一点变化是簿记(bookkeeping),因为所有数据必须使用占位符(placeholder)而不是实际数据来定义误差。在代码的后半部分,数据需要通过占位符馈送(feed)入模型。第二点变化是,因为我们的数据量是巨大的,在给定的任意时间我们仅将一个样本数据传入模型。每次调用梯度下降操作时,新的数据样本将被馈送到模型中。通过对数据集进行抽样,TensorFlow 不需要一次处理整个数据集。这样抽样的效果出奇的好,并有理论支持这种方法:

https://en.wikipedia.org/wiki/Stochastic_gradient_descent

理论上需要满足一些重要的条件,如步长(step size)必须随每次迭代而缩短。不管是否满足条件,这种方法至少是有效的。

结论

当你运行脚本时,你可能看到怎样定义任何你想要的误差。它可能是一j2像和卷积神经网络(convolutional neural network)之间的误差。它可能是古典音乐和循环神经网络(recurrent neural network)之间的误差。它让你的想象力疯狂。一旦定义了误差,你就可以使用 TensorFlow 进行尝试并最小化误差。

希望你从这个教程中得到启发。

需求

Python3 (https://www.python.org/)

TensorFlow (https://www.tensorflow.org/)

NumPy ()

TensorFlow:保存/复和混合多重模型

在第一个模型成功建立并训练之后,你或许需要了解如何保存复这些模型。继续之前,也可以阅读这个 Tensorflow 小入门:

  https://blog.metaflow.fr/tensorflow-a-primer-4b3fa0978be3#.wxlmweb8h

你有必要了解这些信息,atv,因为了解如何保存不同级别的代码是非常重要的,这可以避免混乱无序。

如何实际保存和加载

保存(saver)对象

可以使用 Saver 对象处理不同会话(session)中任何与文件系统有持续数据传输的交互。构造函数(constructor)允许你控制以下 3 个事物:

目标(target):在分布式架构的情况下用于处理计算。可以指定要计算的 TF 服务器或「目标」。

(责任编辑:本港台直播)

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容