TensorFlow是一个用于Google创建和发布的快速数值计算的Python库。它是一个基础库,可用于直接创建深度学习模型,或使用包装库来简化在TensorFlow之上构建的过程。
在这篇文章中,您将发现用于深度学习的TensorFlow库。让我们开始吧。
什么是TensorFlow?
TensorFlow是一个用于快速数值计算的开源库。
它由Google创建并维护,并在Apache 2.0开源许可下发布。 虽然可以访问底层的C ++ API,但API名义上是用于Python编程语言的。与Theano等深度学习中使用的其他数值库不同,TensorFlow设计用于研究和开发以及生产系统,尤其是Google搜索中的RankBrain和有趣的DeepDream项目。
它可以在单CPU系统,GPU以及移动设备和数百台机器的大规模分布式系统上运行。
如何安装TensorFlow
如果您已经拥有Python SciPy环境,那么安装TensorFlow非常简单。
TensorFlow适用于Python 2.7和Python 3.3+。 您可以按照TensorFlow网站上的“下载和设置”说明进行操作。 通过PyPI进行安装可能是最简单的,并且下载和设置网页上有用于Linux或Mac OS X平台的pip命令的特定说明。
如果您愿意,还可以使用virtualenv和docker图像。要使用GPU,只支持Linux,它需要Cuda Toolkit。
你在TensorFlow中的第一个例子
根据有向图的结构中的数据流和操作来描述计算。
节点:节点执行计算并具有零个或多个输入和输出。 在节点之间移动的数据称为张量,它是实数值的多维数组。
边缘:该图定义了数据流,分支,循环和状态更新。 特殊边缘可用于同步图形内的行为,例如等待完成多个输入的计算。
操作:操作是一个命名的抽象计算,它可以获取输入属性并生成输出属性。 例如,您可以定义添加或乘法操作。
使用TensorFlow进行计算
第一个示例是TensorFlow网站上示例的修改版本。 它显示了如何使用会话创建会话,定义常量和使用这些常量执行计算。
import tensorflow as tf
sess = tf.Session()
a = tf.constant(10)
b = tf.constant(32)
print(sess.run(a+b))
运行此示例显示:
42
使用TensorFlow进行线性回归
下一个示例来自TensorFlow教程的介绍。
此示例显示了如何定义变量(例如W和b)以及作为计算结果的变量(y)。
我们对TensorFlow有一定的了解,它将计算的定义和声明与会话中的执行和运行调用分开。
运行此示例将输出以下输出:
您可以在“基本使用指南”中了解有关TensorFlow机制的更多信息。
更多深度学习模型
您的TensorFlow安装附带了许多深度学习模型,您可以直接使用它们进行试验。
鉴于TensorFlow目前这么流行,想要学习和实践的程序员们也可以了解下谷歌最近的AI开源项目——AIY Projects。AIY 全称是 Artificial Intelligence Yourself,顾名思义就是利用 AI 来进行的 DIY 功能套件。借助 AIY 项目,创客可以利用人工智能来实现更像人与人交流的人机交互。谷歌目前为 AIY Projects 推出了两款硬件产品--AIY Voice Kit 和 AIY Vision Kit。
Vision Kit 由Raspberry Pi和Intel movidius提供动力。它可以运行具有低耗处理能力的深度学习算法。Raspberry Pi Zero WH 包括视觉处理单元芯片,可以高效地运行Tensor Flow图像处理。
而且谷歌为此还发布了一个TensorFlow.js的工具,有了这项工具,即使不是机器视觉领域的专家,大家也可以实现很多应用场景,比如在浏览器中训练自己的宠物脸辨识系统,在自家的监视系统中使用等等。