TensorFlow

免费试着砖

在2015年11月,Google发布了它为机器学习,并命名为开源框架TensorFlow。它支持深度学习、神经网络和一般数值计算cpu、gpu和集群gpu。TensorFlow最大的优势之一是它的开源社区的开发人员,数据科学家,和数据工程师为其存储库。可以找到TensorFlow的当前版本GitHub上发行说明。TensorFlow是迄今为止最受欢迎的AI引擎使用。

最受欢迎的人工智能引擎

TensorFlow是什么?

TensorFlow数值计算是一个开源库,大规模机器学习,深入学习,和其他统计和预测分析的工作量。这种类型的技术使它更快和更容易开发人员实现机器学习模型,协助获取数据的过程,服务规模预测,将来和细化结果。

好的,所以完全TensorFlow做什么工作?它可以训练和运行深层神经网络为手写数字分类,图像识别,词嵌入,自然语言处理(NLP)。其软件中包含的代码库可以添加到任何应用程序,以帮助其学习这些任务。

TensorFlow应用程序可以运行在传统的cpu(中央处理器)或gpu(更高性能的图形处理单元)。因为TensorFlow是由谷歌,它也作用于公司的张量处理单元(tpu),是专门设计用于加快TensorFlow工作。

你也可能想知道:TensorFlow用什么语言?虽然它使用Python作为前端API来构建应用程序框架,它实际上已经包装在几种语言包括c++和Java。这意味着你可以训练和部署您的机器学习模型快,不管你使用的语言或平台。bob体育客户端下载

点击这里获取更多faq TensorFlow模式发展。

TensorFlow历史

谷歌在2015年首次发布TensorFlow在Apache 2.0许可下。它的前身是一个闭源称为DistBelief谷歌框架,这对于深度学习的实现提供了一个实验。

谷歌第一tpu在2016年详细的公开和内部使用结合TensorFlow电力公司的一些应用程序和在线服务。这包括谷歌RankBrain搜索算法和街景地图技术。

2017年初,谷歌TensorFlow达到发布1.0.0地位。一年后,谷歌提供了第二代tpu谷歌云平台用户培训和运行自己的机器学习模型。bob体育客户端下载

谷歌发布了最新版本,TensorFlow 2.0, 2019年10月。谷歌采取了用户的反馈考虑为了使各种改进框架和更容易使用——例如,它现在使用相对简单的Keras API模型训练。

是谁创造了TensorFlow ?

你现在知道,谷歌开发TensorFlow,继续自己的框架和维护。它是由谷歌大脑的研究团队,他们开展基础研究,以推进关键领域的机器智能,促进更好的深度学习理论的理解。

谷歌大脑团队设计TensorFlow能够独立工作从谷歌自己的计算基础设施,但它获得很多优势从一个商业巨头的支持。以及资助项目的快速发展,多年来,谷歌还改善TensorFlow,以确保它是易于部署和使用。

谷歌选择TensorFlow一个开源框架,目的是加速了人工智能的发展。bob下载地址作为一个以社区为基础的项目,所有用户可以帮助改善技术,每个人都有好处。

TensorFlow是如何工作的呢?

TensorFlow结合各种机器学习和深度学习(或神经网络)模型和算法,并使他们有用的公共接口。

它使开发人员能够创建数据流图与计算节点代表数学运算。每个连接节点之间表示多维向量或矩阵,创造所谓的张量。

虽然TensorFlow Python提供了前端API,在Python中不执行实际的数学操作。相反,高性能c++二进制文件在幕后执行这些操作。Python指导交通之间的片段,通过高级编程抽象挂钩在一起。

TensorFlow应用程序可以运行在几乎任何方便的目标,包括iOS和Android设备,云中的本地机器,或一个集群,以及cpu或gpu(或谷歌定制的tpu如果你使用谷歌云)。

TensorFlow包括集高级和低级的api。谷歌建议简化数据管道开发的高级api和应用程序编程,但低级api(称为TensorFlow核心)可用于调试应用程序和实验。

TensorFlow用于什么?与TensorFlow你能做什么?

TensorFlow旨在简化开发和执行高级分析应用程序的过程等用户数据科学家,统计学家,和预测建模。

不同类型和规模的企业广泛使用框架自动化流程和开发新系统,这是特别有用的大规模并行处理应用程序,如神经网络。它也被用于实验和测试无人驾驶车辆。

如您所料,TensorFlow母公司谷歌也使用它的内部操作,如改善其搜索引擎的信息检索功能,和驱动应用程序的自动电子邮件反应生成,图像分类和光学字符识别。

TensorFlow的优点之一是,它提供了抽象,这意味着开发人员可以专注于应用程序的整体逻辑框架负责细节。也方便开发人员需要调试并获得反省到TensorFlow应用。

TensorBoard可视化套件有一个互动的、基于web的仪表板,允许您检查和概要图表的方式运行。还有一个热切的执行模式,允许你单独评估和修改每个图形操作和透明的,而不是创建整个图作为一个不透明的对象和评估它。

砖运行时机器学习包括TensorFlowTensorBoard,因此您可以使用这些库没有安装任何包。

现在让我们看看如何使用TensorFlow。

如何安装TensorFlow

完整的说明和教程上可用tensorflow.org这里是一些基本的情况。

系统需求:

  • Python 3.7 +
  • 皮普19.0或更高版本(需要manylinux2010支持,TensorFlow 2需要新版本的pip)
  • Ubuntu 16.04或更高版本(64位)
  • macOS 10.12.6(塞拉利昂)或更高(64位)(不支持GPU)
  • Windows 7或更高(64位)

硬件需求:

  • 从TensorFlow 1.6开始,二进制文件使用AVX指令可能不会老的cpu上运行。
  • 需要一个CUDA GPU支持®启用卡(Ubuntu和窗户)

# 1。在您的系统上安装Python开发环境

检查您的Python环境已经配置:

python3 - - version

pip3 - - version

如果这些包已经安装,跳到下一步。

否则,安装Python, pip包管理器,venv。

如果在虚拟环境中,使用python3 - m pip下面的命令。这将确保您升级和使用Python pip代替系统脉冲。

# 2。创建一个虚拟环境(推荐)

Python虚拟环境是用来隔离包安装的系统。

# 3。TensorFlow pip安装包

选择一个从PyPI下列TensorFlow包安装:

  • 与CPU和tensorflow最新稳定版本GPU的支持(Ubuntu和窗户)
  • tf-nightly—预览构建(不稳定)。Ubuntu和Windows包括GPU的支持
  • tensorflow = = 1.15——tensorflow的最终版本1. x。

验证安装。如果一个张量返回,你安装TensorFlow成功。

注意:一些安装机制需要TensorFlow Python包的URL。您所指定的值取决于您的Python版本。

如何更新TensorFlow

pip包管理器提供了一个简单的方法升级TensorFlow,不管环境。

先决条件:

  • Python 3.6 - -3.9安装和配置(开始前检查Python版本)。
  • TensorFlow 2安装。
  • pip包管理器版本19.0或更高版本(如果必要检查pip和升级版本)。
  • 进入命令行/终端或笔记本电脑环境。

TensorFlow升级到新版本:

# 1。打开终端(CTRL + ALT + T)。

# 2。检查当前安装TensorFlow版本:

pip3显示tensorflow

命令显示包的信息,包括版本。

# 3。TensorFlow升级到新版本:

pip3 -安装升级tensorflow = = <版本>

确保你选择一个版本兼容您的Python版本,否则不会安装的版本。笔记本的环境,使用以下命令,并重新启动内核完成后:

! pip安装升级tensorflow = = <版本>

这个自动删除旧版本的依赖关系和安装新的升级。

# 4。检查升级版本通过运行:

pip3显示tensorflow

TensorFlow Lite是什么?

2017年,谷歌推出的新版本TensorFlow称为TensorFlow Lite。TensorFlow Lite用于嵌入式和移动设备进行了优化。这是一个开源的,产品准备好,跨平台的深度学习的框架,将pre-trained Tenbob体育客户端下载sorFlow模型为一个特殊的格式,可以优化速度或存储。

确保您使用正确的版本对于任何给定的场景,您需要知道何时使用TensorFlow和何时使用TensorFlow Lite。例如,如果您需要部署一个高性能的深度学习模型在没有好的网络连接,你会使用TensorFlow Lite减少文件大小。

如果你开发一个模型边缘设备,它应该是轻量级的,以便它使用最小的空间,增加下载速度较低带宽网络。为了实现这一点,需要优化,以减少大小的模型或改进的延迟,TensorFlow Lite是通过量化和体重修剪。

由此产生的模型是轻量级的足以被部署为一个低延迟推理在边缘设备如Android和iOS手机,或基于linux的嵌入式设备如覆盆子π或微控制器。TensorFlow Lite还使用几个硬件加速器速度、准确性、运行和优化功耗,重要的推论的边缘。

在TensorFlow致密层是什么?

致密层用于浅层和深层神经网络的创建。人工神经网络是类人脑结构由系统的神经元,它们能够通过例子学习而不是编程与特定的规则。

在深度学习,使用多个层提取从原始输入高级功能;网络是由几层时,它被称为多层神经网络。其中每一层的节点,把输入的数据和一组称为权重系数放大或抑制输入。

2.0版本,TensorFlow采取了深度学习API称为Keras TensorFlow之上运行,提供了许多不同的预构建层神经网络体系结构和用途。致密层就是其中之一,它有一个深刻的联系,这意味着每个神经元接收输入上一层的神经元。

致密层通常是用于改变尺寸,旋转,缩放和翻译的向量生成。他们有能力学习功能的结合上一层的功能。

TensorFlow和Python的区别是什么?

TensorFlow机器学习是一个开源框架,Python是一种流行的计算机编程语言。这是TensorFlow中使用的语言之一。TensorFlow Python是推荐的语言,尽管它还使用c++和JavaScript。

Python开发,帮助程序员编写清晰、逻辑代码为小型和大型项目。通常是用于构建网站和软件,自动化任务,进行数据分析。这使得它对初学者学习TensorFlow相对简单。

一个有用的问题是:什么版本的Python TensorFlow支持吗?某些TensorFlow版本只兼容特定版本的Python, Python 3.7到3.10和2.0要求。确保您安装TensorFlow之前检查的要求。

PyTorch和TensorFlow是什么?

TensorFlow不是唯一的机器学习框架存在。有很多其他的选择,比如PyTorch有相似之处,许多相同的需求。所以,实际TensorFlow和PyTorch之间的区别是什么?

PyTorch TensorFlow只是两个框架由科技公司开发的Python深的学习环境,帮助人形电脑来解决实际问题的能力。PyTorch和TensorFlow之间主要的区别是他们执行代码的方式。与Python语言PyTorch更紧密集成。

正如我们所看到的,TensorFlow强大的可视化功能,生产使用的部署选项,并支持移动平台。bob体育客户端下载PyTorch并不像建立但仍受欢迎的简单性和易用性,以及动态计算图表和高效的内存使用。

至于哪个更好的问题,TensorFlow或Pytorch——它真的取决于你想要达到的目的。如果你的目标是建立人工智能产品,TensorFlow将适合你,而PyTorch更适合研究性开发人员。PyTorch是适合在项目启动和运行,但TensorFlow更健壮更大的项目的功能和更复杂的工作流。

公司利用TensorFlow

根据TensorFlow网站,其他一些大牌公司使用该框架以及谷歌。这些包括Airbnb,可口可乐、eBay、英特尔、高通、SAP、Twitter, Uber, Snapchat开发商提前Inc .)和体育STATS LLC咨询公司。

公司利用tensorflow

前五名TensorFlow替代品

1。DataRobot

DataRobot是一个基于云计算的机器学习框架,旨在帮助企业扩展其数据科学功能通过部署机器学习模型和创建先进的人工智能应用程序。

框架使您能够使用开源建模技术和优化最有价值的R, Python,火花,H2O,大众,XGBoost。通过自动化预测分析,DataRobot帮助数据科学家和分析师产生更精确的预测模型。

有越来越多的图书馆最好的特性,算法和参数值与自动化系综,建立每一个模型,并且用户可以很容易地找到并结合多个算法和预构建的原型特征提取和数据准备(不需要试错猜测)。

2。PyTorch

开发的团队在2017年在GitHub.com上Facebook和开源,bob下载地址PyTorch是一个新的深度学习框架。正如我们前面所提到的,它与TensorFlow有几个相似之处,包括硬件加速组件和设计的高度互动的发展模式。

PyTorch也优化了性能利用本机Python支持异步执行。好处包括内置动态图和一个更强大的比TensorFlow社区。

然而,PyTorch并不部署直接在线训练模型,提供了一个框架和一个API服务器需要生产。它还需要第三方- Visdom可视化,和这的特点是相当有限的。

3所示。Keras

Keras是一个高级开源设计神经网络图书馆用户友好的,模块化,易于扩展。是用Python编写的,支持多个后端神经网络计算引擎——尽管其主要(默认)后端TensorFlow,是谷歌和它的主要支持者。

我们已经提到过的TensorFlow Keras高级API,而且Keras Theano之上运行。它有许多独立的模块,你可以结合起来,包括神经层,成本函数,优化器,初始化方案,激活函数和正则化方案。

Keras支持广泛的生产部署选项,并大力支持多个gpu和分布式训练。然而,社区支持很小,图书馆通常用于小数据集。

4所示。MXNet

Apache MXNet是一个开源的深度学习软件框架,用于定义、培训和部署深神经网络在各种设备上。它的荣誉是通过Amazon AWS英超深度学习框架。

它能随跨多个gpu和多个机器,允许快速模型训练,并支持一个灵活的编程模型,使用户能够混合符号和命令式编程的最大效率和生产力。

MXNet还支持多种编程语言api,包括Python、c++, Scala, R, JavaScript,茱莉亚,Perl,(尽管它的本地api不是task-agreeable TensorFlow)。

5。CNTK

CNTK微软,也被称为认知工具箱,工具箱是一个统一的深度学习使用数据流图结构描述为一系列的计算步骤(TensorFlow一样,尽管它不是那么容易学习或部署)。

它主要关注创建深度学习神经网络,可以快速处理这些任务。CNTK允许用户轻松地实现和结合前馈款等流行的模型类型,卷积网(cnn)和复发性网络(RNNs / LSTMs)。

CNTK有一组广泛的api (Python, c++, c#、Java),可以作为您的Python库,c#或c++程序或作为一个独立的机器学习工具通过自己的模型描述语言(BrainScript)。它支持64位的Linux或Windows 64位操作系统。

注:2.7版本是最后CNTK的主要版本,也没有新功能发展计划。

我应该用TensorFlow吗?

TensorFlow有很多优势。开源机器bob下载地址学习框架提供了优秀的架构支持,允许方便地部署计算框架跨多种平台。bob体育客户端下载它受益于谷歌的声誉,和几个大的名称采用TensorFlow进行人工智能任务。

TensorFlow另一方面,一些细节的实现很难获得完全确定性模型训练的结果一些培训工作,但团队正在考虑更多的控制影响工作流的决定论。

开始很简单,尤其是TensorFlow由砖通过砖,一个开箱即用的集成运行时机器学习。你可以得到集群启动并运行在秒和受益于一系列的低级和高级api。

额外的资源

回到术语表