first contact with tensorflow【中文版】

上传人:豆浆 文档编号:24902845 上传时间:2017-12-08 格式:PDF 页数:7 大小:459.98KB
返回 下载 相关 举报
first contact with tensorflow【中文版】_第1页
第1页 / 共7页
first contact with tensorflow【中文版】_第2页
第2页 / 共7页
first contact with tensorflow【中文版】_第3页
第3页 / 共7页
first contact with tensorflow【中文版】_第4页
第4页 / 共7页
first contact with tensorflow【中文版】_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《first contact with tensorflow【中文版】》由会员分享,可在线阅读,更多相关《first contact with tensorflow【中文版】(7页珍藏版)》请在金锄头文库上搜索。

1、写在之前 :本书是翻译自 ,已获原作者授权。 作者写这本书的目的是为了快速实践深度学习。因此,读者应该有基本的机器学习知识和必要的数据知识。本书将采用主流的机器学习算法来进行 tensorflow 训练。 第一章将简短介绍 TensorFlow 代码和编程模型。 Tensorflow 基本概念 本章将简短介绍 TensorFlow 代码和编程模型。学完本章后,期待读者会TensorFlow 的 package 安装方法。 Tensorflow 开源包 TensorFlow 源于 Google 大脑团队的机器学习和深度神经网络研究。这个系统能够解决更广泛的机器学习问题。 TensorFlow 使

2、用计算图来表示一个计算任务。图中的节点代表数学运算,也可以表示数据的输入、输出和读写等操作;图中的边表示多维数组 (Tensors),节点之间的某种联系。 TensorFlow 使用计算图来构建计算过程,用符号来表示计算操作。这使得TensorFlow 可以同时运用 Linux 64 位操作系统的 CPU 和 GPU 性能,TensorFlow 也可以在移动端 Android 或者 iOS 上执行。 TensorFlow 的可视化模块 TensorBoard 可监控算法的运行状态并显示。 TensorFlow Serving Google 最近开源了 TensorFlow Serving, T

3、ensorFlow Serving 可以帮助机器学习开发者将他们的 TensorFlow 机器学习模型(可以扩展到其它各类型的机器学习模型)加载到产品中。 TensorFlow Serving采用 C+编写,并已开源到 github。 TensorFlow 和 TensorFlow Serving 到底有啥区别呢? TensorFlow 项目主要是基于各种机器学习算法构建模型,并为某些特定类型的数据输入做适应学习,而 TensorFlow Serving 则专注于让这些模型能够加入到产品环境中。开发者使用 TensorFlow 构建模型,然后 TensorFlow Serving 基于客户端输

4、入的数据 使用前面 TensorFlow 训练好的模型进行预测。 个人认为 TensorFlow Serving 是将 tensorflow 训练出来的模型更好的应用于生产环境中,通过它的 API 等支持的方式来方便对外提供稳定可靠的服务。TensorFlow Serving 的意义就在于能够很方便的将深度学习生产化,解决了模型无法提供服务的弊端,并且用的是 C+语言,性能上应该不错。这样以后深度学习方向的创业公司都能很方便的将产品商业化,保证 7*24 小时的可靠服务。 典型的 pipeline:输入待训练的数据到学习者 (Learner)中,输出训练模型。稍后模型验证之后发布到 Tenso

5、rFlow Serving 系统。 对于生产环境来说,启动模型,随着时间不断迭代模型,新的训练数据出现需要训练优化模型,这些都是常态。现在有了 TensorFlow Serving 就可以在不停止服务的情况下更新模型和数据, Google 内部许多 pipelines 一直在运行。 客户端和服务端之间的通信采用的是 RPC 协议实现,其为 Google 开源的一个高性能 RPC 框架。 安装 TensorFlow 是时候开始练手了,你需要一遍看书一边在电脑上操作。 TensorFlow 提供 Python API(也可以用 C / C +),所以你得安装 Python 2.7(具体咋安装自行

6、Google)。 一般来讲,使用 Python 工作时最好用 virtualenv 虚拟环境。 Virtualenv 可以在一台机器不同的项目间保持 Python 依赖隔离。使用 virtualenv 安装 TensorFlow不会覆盖已有的 Python 版本,这样做也能使排查安装问题变得更容易。 首先安装必备软件: # Ubuntu/Linux 64-bit $ sudo apt-get install python-pip python-dev python-virtualenv # Mac OS X $ sudo easy_install pip $ sudo pip install

7、-upgrade virtualenv 建立 virtualenv 环境 . 为了将环境建在 /tensorflow 目录下 , 执行 : $ virtualenv -system-site-packages /tensorflow 接下来激活 virtualenv: $ source /tensorflow/bin/activate # with bash $ source /tensorflow/bin/activate.csh # with csh (tensorflow)$ Once the virtualenv is activated, you can use pip to ins

8、tall TensorFlow inside it: 激活 virtualenv 后即可使用 pip 在 virtualenv 内安装 TensorFlow: # Ubuntu/Linux 64-bit, CPU only: (tensorflow)$ sudo pip install -upgrade https:/ # Mac OS X, CPU only: (tensorflow)$ sudo easy_install -upgrade six (tensorflow)$ sudo pip install -upgrade https:/ 你可访问官方文档来确认所安装的版本。 如果你要在

9、 GPU 上跑你的代码,你需要访问官方文档来看看是否满足指定的要求。运行 Tensorflow GPU 需要安装额外的软件。 当你使用完后可执行如下命令关闭虚拟环境: (tensorflow)$ deactivate 其它安装 TensorFlow 的方法请访问官方网站获取信息。 TensorFlow 的 “Hello World” 你可以使用任何文本编辑器编写 python 代码,然后保存为扩展名 “.py”的文件(eg test.py)。 用 python 命令行即可执行 test.py。 为了快速的熟悉 TensorFlow 编程,下面从一段简单的代码开始: import tensorf

10、low as tf a = tf.placeholder(float) b = tf.placeholder(float) y = tf.mul(a, b) sess = tf.Session() print sess.run(y, feed_dict=a: 3, b: 3) 在上面的代码中,导入 Python 模块 tensorflow。然后定义符号变量,也称为占位符。在后面程序执行中会操作这些变量。我们把这些变量作为参数,TensorFlow 的乘法函数 tf.mul 会调用。数学函数 tf.mul 会操作 tensor,这时的动态大小、多维数组。 TensorFlow 的算术操作如下:

11、tf.add, tf.sub, tf.mul, tf.div, tf.mod, tf.abs, tf.neg, tf.sign, tf.inv, tf.square,tf.round, tf.sqrt, tf.pow, tf.exp, tf.log, tf.maximum, tf.minimum, tf.cos, tf.sin TensorFlow 也为程序员提供一些函数来进行数学操作,列表如下: 操作 描述 tf.diag 给定对角线上的值,返回对角 tensor tf.transpose 转置 tf.matmul tensor 乘法,即矩阵乘法 tf.matrix_determinant

12、方阵的行列式 操作 描述 tf.matrix_inverse 方阵的逆矩阵 接下来,创建一个会话。事实上,直到这步还没有执行 TensorFlow 代码。程序通过 Session()创建一个会话与 Tensorflow 库交互;直到调用 run()方法才会创建会话,并运行指定的代码。在本例中, run()方法调用变量值和 feed_dict 参数,表达式运行完成退出会显示结果 9 。 本例比较简单,仅仅为了展示 TensorFlow 完整的过程。然而,我们更感兴趣的是灵活的结构化代码,插入操作来构建计算图。比如,类似于 Python 编程中的IPython。为了达到这个目的, TensorFl

13、ow 提供了 *tf.InteractiveSession()*类。 编程模型的理解已经超出了本书的范围,但为了继续接下来的章节,我们仅仅需要知道计算结构包含所有的操作信息和数据。 上面的计算图描述的是数学计算。节点( node)代表数学操作,但是它们也可以代表数据项的点,输出结果或者读写持久化的变量。边( edge)描述的是输入和输出的节点之间的关系。 TensorFlow 将图形定义转换成分布式执行的操作 , 以充分利用可用的计算资源(如 CPU 或 GPU). 一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测 . 如果检测到 GPU, TensorFlo

14、w 会尽可能地利用找到的第一个 GPU 来执行操作 . 并行计算能让代价大的算法计算加速执行, TensorFlow 也在实现上对复杂操作进行了有效的改进。大部分核相关的操作都是设备相关的实现,比如 GPU。下面是一些重要的操作 /核 : 操作分组 操作 Maths Add, Sub, Mul, Div, Exp, Log, Greater, Less, Equal Array Concat, Slice, Split, Constant, Rank, Shape, Shuffle 操作分组 操作 Matrix MatMul, MatrixInverse, MatrixDeterminant

15、Neuronal Network SoftMax, Sigmoid, ReLU, Convolution2D, MaxPool Checkpointing Save, Restore Queuesand syncronizations Enqueue, Dequeue, MutexAcquire, MutexRelease Flow control Merge, Switch, Enter, Leave, NextIteration TensorBoard:可视化学习 为了更方便 TensorFlow 程序的理解, TensorFlow 包括从函数、调试与优化等方面进行了可视化,并发布了一套叫做 TensorBoard 的可视化工具。TensorBoard 从不同统计数据来展现图计算过程的详细信息和参数。 TensorBoard 模块的数据展示是在 TensorFlow 执行和汇总数据存储的过程。在TensorFlow 的 文档 ,你可以找到更详细的 Python API 的解释。 输入下面的指令来启动 TensorBoard,包括跟踪(也可以成为序列化)的路径参数: (tensorflow)$ tensorboard -logdir= n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号