📜  什么是Tensorflow | TensorFlow简介

📅  最后修改于: 2021-01-11 10:22:52             🧑  作者: Mango

什么是TensorFlow?

TensorFlow机器学习深度学习的流行框架。这是一个免费的开源库,于2015年11月9日发布,由Google Brain Team开发。它完全基于Python编程语言,并用于数值计算和数据流,这使得机器学习更快,更轻松。

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

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

  • 张量是一个多维数组
  • 用于定义操作中的数据流。

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

TensorFlow的历史

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

  • 谷歌搜索引擎
  • 邮箱
  • 照片

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

它于2015年首次发布,而第一个稳定版本于2017年发布。它是基于Apache Open Source License的开源平台。我们可以免费使用它,对其进行修改并重新组织修订后的版本,而无需向Google支付任何费用。

TensorFlow的组件

张量

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

可以从输入数据或计算结果中生成张量。在TensorFlow中,所有操作都在图形内进行。该组是连续进行的一组计算。每个事务都被称为一个op节点连接。

图表

TensorFlow利用图框架。该图表收集并描述了培训期间进行的所有计算。

优点

  • 它已修复为可以在多个CPU或GPU和移动操作系统上运行。
  • 图形的可移植性允许保存计算以供当前或以后使用。该图可以保存,因为它可以在将来执行。
  • 图中的所有计算都是通过将张量连接在一起完成的。

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

我们可以将功能分为以下几个组成部分:

d = b + c
*="" +="" 2
="" a="d" e="c" e<="" p="">

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

届会

会话可以从图中执行操作。要使用张量的值填充图形,我们需要打开一个会话。在会话中,我们必须运行运算符以创建输出。

TensorFlow为什么受欢迎?

TensorFlow是所有人都更好的库,因为每个人都可以使用它。 TensorFlow库集成了不同的API以创建像CNN(卷积神经网络)RNN(递归神经网络)之类的规模深度学习架构。

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

与其他深度学习框架相比, TensorFlow在GitHub上吸引了最可观的人气。

TensorFlow的用例/应用

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

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

1.语音/声音识别

语音和声音识别应用程序是深度学习的最著名用例。如果神经网络具有正确的输入数据输入,则神经网络能够理解音频信号。

例如:

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

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

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

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

2.图像识别

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

例如,图像识别用于从图像中识别和识别人和物体。图像识别用于了解任何图像的上下文和内容。

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

这也用于工程应用中以识别形状以进行建模(从2d图像进行3d重建),并通过Facebook进行照片标记。

例如,深度学习使用TensorFlow分析成千上万张猫的照片。因此,深度学习算法可以学习识别猫,因为该算法用于查找物体,动物或人的一般特征。

3.时间序列

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

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

例如,它可以用于根据我们已经看过的电视节目或电影向我们推荐人们喜欢的电视节目或电影。

4.视频检测

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

例如, NASA正在开发一个深度学习网络,用于小行星的目标聚类和轨道分类。因此,它可以分类和预测NEO(近地物体)。

5.基于文本的应用程序

基于文本的应用程序也是一种流行的深度学习算法。情感分析,社交媒体,威胁检测和欺诈检测是基于文本的应用程序的示例。

例如, Google翻译支持100多种语言。

当前正在使用TensorFlow的一些公司是Google,AirBnb,eBay,Intel,DropBox,Deep Mind,空中客车,CEVA,Snapchat,SAP,Uber,Twitter,可口可乐和IBM。

TensorFlow的功能

TensorFlow具有交互式多平台编程界面,与其他可用的深度学习库相比,该界面可扩展且可靠。

TensorFlow的这些功能将告诉我们TensorFlow的普及。

1.回应式建构

我们可以可视化图形的每个部分,这在使用NumpySciKit时不是可选的。要开发深度学习应用程序,首先,创建深度学习应用程序需要两个或三个组件,并且需要一种编程语言。

2.灵活

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

3.容易训练

它可以轻松地在CPU和分布式计算的GPU上进行训练。

4.并行神经网络训练

从我们可以训练多个神经网络和各种GPU的角度来看,TensorFlow提供给管道,这使得模型在大规模系统上非常有效。

5.大型社区

Google已经开发了它,并且已经有一大批软件工程师不断致力于提高稳定性。

6.开源

关于机器学习库的最好的事情是它是开源的,因此任何人只要有互联网连接就可以使用它。因此,人们可以操纵图书馆并提供各种有用的产品。它已经成为另一个DIY社区,拥有一个庞大的论坛供人们开始使用它,以及发现它很难使用的人。

7.功能列

TensorFlow具有功能列,可以将其视为原始数据和估计量之间的中间。因此,输入数据与我们的模型联系起来。

以下功能描述了功能列的实现方式。

8.统计分布的可用性

该库提供了分发功能,包括伯努利,Beta,Chi2,统一,伽马,这些都是必不可少的,尤其是在考虑概率方法(例如贝叶斯模型)的情况下。

9.分层组件

TensorFlow通过诸如tf.contrib.layers之类的函数产生权重和偏差的分层操作,还提供批处理规范化,卷积层和辍学层。因此, tf.contrib.layers.optimizer具有诸如AdagradSGDMomentum之类的优化器,这些优化器通常用于解决数值分析的优化问题。

10.可视化工具(使用TensorBoard)

我们可以检查不同的模型表示形式,并在使用TensorBoard进行调试时进行必要的更改。

11,事件记录器(使用TensorBoard)

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


>