查看“第一个TF程序:实现回归模型”的源代码
←
第一个TF程序:实现回归模型
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<p>为了用python实现高效的数值计算,我们通常会使用函数库,比如NumPy,会把类似矩阵乘法这样的复杂运算使用其他外部语言实现。不幸的是,从外部计算切换回Python的每一个操作,仍然是一个很大的开销。如果你用GPU来进行外部计算,这样的开销会更大。用分布式的计算方式,也会花费更多的资源用来传输数据。</p> <p>TensorFlow也把复杂的计算放在python之外完成,但是为了避免前面说的那些开销,它做了进一步完善。Tensorflow不单独地运行单一的复杂计算,而是让我们可以先用图描述一系列可交互的计算操作,然后全部一起在Python之外运行。(这样类似的运行方式,可以在不少的机器学习库中看到。)</p> == 0.TensorFlow整体介绍== <p>使用 TensorFlow, 你必须明白 TensorFlow:</p> 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使用 tensor 表示数据. 通过 变量 (Variable) 维护状态. 使用 feed 和 fetch 可以为任意的操作(arbitrary operation)赋值或者从其中获取数据. <p>一个 TensorFlow 图描述了计算的过程. 为了进行计算, 图必须在 会话 里被启动. 会话 将图的 op 分发到诸如 CPU 或 GPU 之类的 设备 上, 同时提供执行 op 的方法. 这些方法执行后, 将产生的 tensor 返回. 在 Python 语言中, 返回的 tensor 是 numpy ndarray 对象; 在 C 和 C++ 语言中, 返回的 tensor 是tensorflow::Tensor 实例.[3]</p> <p></p> ==1.引入占位符placeholder== <p>使用TensorFlow之前,首先导入它:</p> <nowiki>import tensorflow as tf</nowiki> <p>我们通过操作符号变量来描述这些可交互的操作单元,可以用下面的方式创建一个:</p> <nowiki>x = tf.placeholder("float", [None, 784])</nowiki> <p>x不是一个特定的值,而是一个占位符placeholder,我们在TensorFlow运行计算时输入这个值。我们用2维的浮点数张量来表示待处理的图像,这个张量的形状是[None,784 ],这里的None表示此张量的第一个维度可以是任何长度的,因为我们希望能够输入任意数量的MNIST图像,None后面的784表示每一张图展平成784维的向量。</p> ==2. 引入变量Variable== <p>我们的模型也需要权重值和偏置量,在TensorFlow里面用Variable来表示它们 。 一个Variable代表一个可修改的张量,存在在TensorFlow的用于描述交互性操作的图中。它们可以用于计算输入值,也可以在计算中被修改。对于各种机器学习应用,一般都会有模型参数,可以用Variable表示。</p> W = tf.Variable(tf.zeros([784,10])) b = tf.Variable(tf.zeros([10])) <p>我们赋予tf.Variable不同的初值来创建不同的Variable:在这里,我们都用全为零的张量来初始化W和b。因为我们要学习W和b的值,它们的初值可以随意设置。</p> <p>注意,W的维度是[784,10],因为我们想要用784维的图片向量乘以它以得到一个10维的证据值向量,每一位对应不同数字类。b的形状是[10],所以我们可以直接把它加到输出上面。</p> *[[文件:T1-11.png|500px]] ==3. 实训模型== 现在,我们可以实现我们的模型啦。只需要一行代码! y = tf.nn.softmax(tf.matmul(x,W) + b) *首先,我们用tf.matmul(X,W)表示x乘以W,对应之前等式里面的W<sub>x</sub>,这里x是一个2维张量拥有多个输入。然后再加上b,把和输入到tf.nn.softmax函数里面。 *[[文件:T1-8.png]] <p>至此,我们先用了几行简短的代码来设置变量,然后只用了一行代码来定义我们的模型。TensorFlow不仅仅可以使softmax回归模型计算变得特别简单,它也用这种非常灵活的方式来描述其他各种数值计算,从机器学习模型对物理学模拟仿真模型。一旦被定义好之后,我们的模型就可以在不同的设备上运行:计算机的CPU,GPU,甚至是手机!</p> <p></p> 下一节 [[训练模型]] <b>参考文档:</b> *[1] MNIST机器学习入门 http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html *[2] TensorFlow下MNIST数据集下载脚本input_data.py http://blog.csdn.net/lwplwf/article/details/54896959 *[3] [学习笔记] TensorFlow 入门之基本使用 https://www.cnblogs.com/flyu6/p/5555161.html
返回至
第一个TF程序:实现回归模型
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息