什么是 TensorFlow?

TensorFlow是一种流行的机器学习深度学习框架。TensorFlow 是由 Google Brain 团队为深度神经网络(DNN)开发的功能强大的开源软件库,于 2015 年 11 月首次发布,在 Apache 2.x 协议许可下可用。

TensorFlow 可以训练和运行图像识别、手写数字分类、循环神经网络、词嵌入自然语言处理、视频检测等的深度神经网络。TensorFlow 在多个CPUGPU以及移动操作系统上运行。

TensorFlow这个词是由两个词组成的,即Tensor和Flow

  1. Tensor是一个多维数组
  2. Flow用于定义操作中的数据流。

TensorFlow 用于定义在多维数组或 Tensor 上运行的数据流。

TensorFlow 的历史

许多年前,深度学习在提供大量数据时开始超越所有其他机器学习算法。谷歌看到可以使用这些深度神经网络来升级其服务:

  • 谷歌搜索引擎
  • Gmail
  • 谷歌照片

他们构建了一个名为 TensorFlow 的框架,以允许研究人员和开发人员在AI模型中协同工作。一旦它获得批准和扩展,它就允许很多人使用它。

TensorFlow 框架于 2015 年首次发布,2017 年推出第一个稳定版本。它是 Apache Open Source License 下的开源平台。我们可以免费使用、修改和重新组织修订版,而无需向 Google 支付任何费用。

TensorFlow 的组件

张量

TensorFlow 的名称源自其核心框架“ Tensor”。张量是表示所有类型数据的 n 维向量或矩阵。张量中的所有值都包含具有已知形状的相似数据类型。数据的形状是矩阵或数组的维度。

图表

TensorFlow 使用图形框架。该框架收集并描述了训练期间完成的所有计算。

优势

  • TensorFlow框架可以运行在多个 CPU 或 GPU 和移动操作系统上。
  • TensorFlow框架允许保存计算模型供当前或以后使用。
  • TensorFlow框架中所有计算都是通过将张量连接在一起来完成的。

考虑以下表达式 a= (b+c)*(c+2)

我们可以将功能分解为下面给出的组件:

d=b+c
e=c+2
a=d*e

现在,我们可以在下面以图形方式表示这些操作:

为什么 TensorFlow 很受欢迎?

TensorFlow 对所有人来说都是非常好的选择。TensorFlow 库集成了不同的API以创建像CNN(卷积神经网络)RNN(循环神经网络)深度学习架构。

TensorFlow 基于图计算;它可以允许开发人员使用 Tensorboard 创建神经网络的构建。这个工具有助于调试我们的程序。它在 CPU(中央处理单元)和 GPU(图形处理单元)上运行。


TensorFlow 的应用实例

与其他流行的深度学习框架相比,TensorFlow 提供了惊人的功能和服务。TensorFlow 用于创建具有多层的大规模神经网络

它主要用于深度学习或机器学习问题,例如分类感知理解发现预测创造

1.语音/声音识别

语音和声音识别应用程序是深度学习最广为人知的用例。如果给神经网络提供适当的数据输入,神经网络能够理解音频信号。

语音识别用于物联网、汽车、安全和 UX/UI。

情感分析主要用于客户关系管理(CRM)

缺陷检测(发动机噪音)主要用于汽车和航空。

语音搜索主要用于客户关系管理(CRM)

2. 图像识别

图像识别是使深度学习和机器学习流行的第一个应用程序。电信、社交媒体和手机制造商大多使用图像识别。它还用于人脸识别、图像搜索、运动检测、机器视觉和照片聚类分析等。

图像识别可用于识别图像中的人和物体。用于理解任何图像的上下文和内容。

对于对象识别,TensorFlow 有助于分类和识别较大图像中的任意对象。

图像识别也用于工程应用中,用来识别形状,进行建模(从2d图像重建3d)和 照片标记。

3.时间序列

深度学习使用时间序列算法来检查时间序列数据以提取有意义的统计数据。例如,使用时间序列来预测股市。

商品推荐是时间序列最常见的案例。亚马逊谷歌FacebookNetflix正在使用深度学习来提出建议。深度学习算法用于分析客户活动并将其与数百万其他用户进行比较,以确定客户可能喜欢购买或观看的内容。

时间序列也可以用来根据我们已经看过的电视节目或电影向我们推荐人们喜欢的电视节目或电影。

4. 视频检测

深度学习算法用于视频检测。它用于运动检测、游戏、安全、机场和 UI/UX 领域的实时威胁检测。

美国航天局正在开发一个用于小行星对象聚类和轨道分类的深度学习网络。它可以对 NEO(近地天体)进行分类和预测。

5. 基于文本的应用程序

基于文本的应用程序也是一种流行的深度学习算法。情感分析、社交媒体、威胁检测和欺诈检测是基于文本的应用程序的示例。例如,谷歌翻译支持 100 多种语言。


TensorFlow 的特点

TensorFlow 具有交互式多平台编程接口,与其他可用的深度学习库相比,它具有可扩展性和可靠性。

TensorFlow 的这些特性将告诉我们 TensorFlow 的流行程度。

1. 响应式构造

我们可以将图表的每个部分可视化,而在使用NumpySciKit时是不支持的。要开发深度学习应用程序,首先创建深度学习应用程序需要两个或三个组件,且基于某一种编程语言。

2. 灵活性

可操作性是 TensorFlow 的基本功能之一。它具有模块化和我们想要独立制作的部分。

3. 易于训练

它在分布式计算中很容易在 CPU 和 GPU 上训练。

4. 并行神经网络训练

从某种意义上说,TensorFlow 为管道提供了我们可以训练多个神经网络和各种GPU,这使得模型在大规模系统上非常有效。

5. 社区支持

谷歌已经完成了此产品发布,并且拥有一个庞大的软件工程师团队,不断致力于提高其稳定性。

6. 开源

机器学习库最好的一点是它是开源的,任何人都可以使用它,就像他们有互联网连接一样。因此,人们可以操纵图书馆并提出各种各样的有用产品。它已成为另一个DIY社区,拥有一个大型论坛,供人们开始使用它以及发现难以使用它的人。

7. 特色栏目

TensorFlow 有特征列,可以输入数据与我们的模型联系起来。

下面的特性描述了特性列是如何实现的。

8. 统计分布的可用性

该库提供了分布函数,包括 Bernoulli、Beta、Chi2、Uniform、Gamma,这些函数是必不可少的,尤其是在考虑概率方法(如贝叶斯模型)时。

9. 分层组件

TensorFlow 从 tf.contrib.layers 等函数产生权重和偏差的分层操作,还提供批量归一化、卷积层和 dropout 层。所以tf.contrib.layers.optimizersAdagradSGDMomentum等优化器,这些优化器通常用于解决数值分析的优化问题。

10. Visualizer(使用 TensorBoard)

我们可以检查模型的不同表示,并在 TensorBoard 的帮助下进行调试时进行必要的更改。

11.事件记录器(带 TensorBoard)

就像 UNIX 一样,我们使用tail -f在 cmd 监视任务的输出。它使用 TensorBoard 从图表和生产中检查、记录事件和摘要。

相关