TensorFlow的入门初体验!
TensorFlow教程
目标:今天在这个TensorFlow教程中,我们将学习TensorFlow是什么,它在哪里使用,它的不同特性,Tensorflow应用程序,最新版本及其优缺点,以及如何在您的项目中使用它。
TensorFlow的历史
DistBelief是TensorFlow在升级之前被调用的基础,是2011年建立的基于深度学习神经网络的专有系统。 DistBelief的源代码被修改并且变成了一个更好的基于应用的库,在2015年被称为tensorflow。
什么是TensorFlow?
TensorFlow是一个强大的面向数据流的机器学习库,由Google的Brain Team创建并于2015年开放源代码。它主要在易于使用并广泛适用于数值和神经网络导向问题以及其他领域。
本质上,TensorFlow是一个用于处理复杂数学问题的低级工具包,它的目标是研究人员知道他们在做什么来构建实验性学习体系结构,并将其转化为正在运行的软件。
它可以被认为是一个编程系统,在这个系统中你将计算表示为图形。图中的节点代表数学运算,边缘表示在它们之间传递的多维数据数组(张量)。
最新版本
TensorFlow的最新版本是1.7.0,可在www.tensorflow.org上找到。它的设计思想深刻,但它适用于更广泛的问题。
关于张量
现在,顾名思义,它提供了用于定义张量上的函数并自动计算它们的导数的基元。
张量是用于计算机编程的高维数组,以数字形式表示大量数据。在互联网上还有其他的n-d数组库,比如Numpy,但是TensorFlow与它们分开,因为它提供了创建张量函数和自动计算衍生物的方法。
其他用途
您还可以在其上构建其他机器学习算法,如决策树或k-最近邻。下面给出的是TensorFlow的生态系统:
从上述表示中可以看出,TensorFlow很好地集成并且具有包括GPU处理,python和Cpp在内的依赖关系,您也可以将它与容器软件(如docker)集成在一起。
TensorBoard
TensorBoard是一套可视化工具,是TensorFlow的简易解决方案,由创作者提供,让您可视化图表并绘制关于图形的定量指标,并通过图像等附加数据通过它。
操作
TensorFlow运行在各种平台上,安装仅限于Linux,比纯CPU安装更繁琐。它可以使用pip或使用conda环境进行安装。这些应用程序超越深度学习,以支持其他形式的机器学习,如强化学习,这会让您进入以目标为导向的任务,例如赢得视频游戏或帮助机器人导航不平坦的景观。
TensorFlow应用程序
有许多机器学习应用程序,TensorFlow允许您探索其中的大部分应用程序,包括情感分析、谷歌翻译、文本摘要以及全球各大公司使用的图像识别技术。包括Airbnb、eBay、Dropbox、Snapchat、Twitter、优步、SAP、高通、IBM、英特尔,当然还有谷歌、Facebook、Instagram甚至亚马逊等。
TensorFlow功能
TensorGlow拥有用于Matlab和C ++的API,并且有广泛的语言支持。随着时间的推移,研究人员正在努力使其变得更好。最近,在最新的TensorFlow峰会上,已引入了用于训练和部署机器学习模型的JavaScript库tensorflow.js,而开源的浏览器集成平台是可以在playground.tensorflow.org上使用,您可以在其中查看更改超参数时发生的实时更改。
TensorFlow的优势
- TensorFlow具有响应式构造,因为您可以轻松地直观地显示图形的每个部分。
- 它具有平台灵活性,这意味着它是模块化的,其中一些部分可以是独立的,而其他部分可以合并。
- 它很容易在CPU和GPU上进行分布式计算。
- 它具有自动分化功能,它可以使基于梯度的机器学习算法受益,这意味着您可以计算相对于其他值的导数,从而得到图形扩展。
- 它具有对线程、异步计算和队列的高级支持。
- 它是可定制和开源的。
张量流限制
- 如果在相同的范围内导入GPU内存则会与Theano冲突。
- 不支持OpenCL
- 需要先进的微积分和线性代数的知识以及对机器学习的很好理解。
结论
TensorFlow是一个伟大的库,可用于创建深度学习网络的数据和图形计算数据,并且是谷歌搜索、谷歌翻译、谷歌照片等各种应用程序中使用最广泛的库。人们使用机器学习做了许多令人惊叹的事情,其中一些包括与医疗保健相关的应用程序、电影推荐引擎、音乐、个性化广告以及社交媒体情感挖掘等等。随着机器学习和人工智能的这些进步看起来似乎令人难以置信,而TensorFlow就是帮助实现这些目标的工具。