TensorFlow 是什么?有什么作用?

yizhihongxing

TensorFlow 是什么?有什么作用?

谷歌大脑团队在 2011 年启动了一个项目,目的是探索超大规模深度神经网络的服务,并应用于谷歌产品的研究和部署以提高谷歌的服务性能。

在早期,Google 构建了 DistBelief,这是第一代可扩展的分布式训练和推理系统。它可以利用具有数千台机器的计算集群来训练大型模型。

谷歌在这方面进行了许多项目,包括无监督学习、语言表示、图像和对象检测模型、人脸和语音识别、强化学习等。

随后,基于对 DistBelief 的实验以及对权宜之计的系统属性以及训练和使用神经网络的需求的全面了解,Google 构建了 TensorFlow

Tensorflow 是第二代系统,用于提高大规模机器学习模型的性能。在最顶级的机器学习系统中,TensorFlow 是由谷歌开发的开源库软件,用于执行机器学习和深度学习实践。

什么是 TensorFlow?

TensorFlow 是一个用于机器学习的开源平台,它拥有一个包罗万象、灵活的工具和技术生态系统、图书馆和社区资源。

它勾勒出一组中众多设备上的数据流图节点,以及多个计算设备上的一个设备内的数据流图节点,涵盖 CPU、GPU 和张量处理单元 (TPU)。

它允许开发人员试验现代训练和优化算法,因为它拥有一系列完全专注于深度学习模型训练和接口的应用程序。

它的开发是为了使计算堆栈更明显、更快速,适用于广泛的机器学习和深度学习应用程序。它是一个开放的端到端符号数学库,用于管理不同的编程。

在构建满足收集训练模型所需数据的过程的神经网络时,经常使用它。它是直接或通过包装库制作深度学习模型的基础库,以简化在 TensorFlow 上设计的过程。

它具有高可扩展性,可以促进不同类型的高级数值计算,而这些高级数值计算是为大规模机器学习应用程序训练深度学习模型所需的。它以方便的语言“ Python ”执行任务,并以“ C++ ”执行它们。

TensorFlow 的主要特点

  • 使用包含多空间阵列的数学表达式精确地发挥作用。
  • 对机器和大型数据集进行复杂计算的高度校准。
  • 借助深度神经网络和机器学习理论。
  • 它使用数据流图执行计算;

TensorFlow 的主要构成

  • TensorFlow:之所以称为 TensorFlow,是因为它将输入视为多维数组,也称为张量。所有的计算都涉及张量。张量是描述所有类型数据的 n 维向量或矩阵。
  • 图形:构建了一种流程图或一组各种操作的计算,这些操作在输入时执行。输入从一端进入,经过各种操作并作为输出从另一端退出。所有的操作都发生在一个图中,每个操作被称为“操作节点”并相互链接。

TensorFlow 生态系统

它结合了多种工具和库来帮助和更有效地工作;

  • TensorBoard:是一组用于检查、可视化和了解 TensorFlow 图形和执行的 Web 应用程序。它可用于查看 TensorFlow 图并放大图子部分的详细信息。它的使用包括绘制训练运行期间的损失和准确度、可视化张量随时间变化的直方图、描述图像等额外数据、比较训练运行和运行时统计数据、总内存使用量、张量形状等。

  • Datalab:Jupyter notebooks 方便探索数据、解释 TensorFlow 模型和强制训练运行。Google Cloud Datalab 提供了一个基于 Jupyter 的工作区,其中包含所有工具,例如用于数据集的 BigQuery、用于数据处理的 Apache Beam,以及 NumPy、Pandas、Scikit-learn、Matplotlib 等其他工具。

  • Facets:是最近发布的用于数据可视化的开源工具,可帮助识别 ML 数据集并获得每个属性的形状和特征的想法,并观察模式和相互之间的交互。

TensorFlow 的优势

作为 Google 开发的应用程序,TensorFlow 具有多种优势,其中一些将在下面讨论;

TensorFlow 为 ML 提供的最大好处是“抽象”,而不是纠结于实现算法的细节。它确定有意义的方法,将一个函数的输出附加到另一个函数的输入,使开发人员可以专注于应用程序的完整逻辑。

TensorFlow 为调试 TensorFlow 应用程序的开发人员提供了额外的便利。它具有“ Eager Execution ”模式,可以独立且清晰地检查和修改每个图形操作,而不是将整个图形构建为单个对象并立即对其进行评估。同样,“ TensorBoard ”可视化有助于检查和安排基于 Web 的交互式仪表板中的图形执行。

TensorFlow 在 Google 的支持下获得了许多优势。谷歌一直在支持该项目的开发步伐,并围绕 TensorFlow 做出了许多重要贡献,使其易于部署和使用。这些是一个“在线中心”,用于共享使用该框架开发的模型以及该框架在浏览器和移动设备中的整合。

TensorFlow 的同类深度学习框架

TensorFlow 与许多机器学习框架竞争,例如PyTorch、CNTK、MXNet,这些都是深度学习领域的主要框架。接下来将为您比较它们与 TensorFlow 差异:

  • PyTorch 具有使用 Python 开发的优势,与 TensorFlow 有许多相似之处;它允许根据业务的要求进行设计,以及许多有益的元素。显然,对于需要在更短时间内运行的项目的快速开发,TensorFlow 更受欢迎,而 TensorFlow 更适合大型项目和更复杂的任务。

  • CNTK是 Microsoft 认知工具包,可以更快地运行许多神经网络任务,并包含大量 API(C、C++、Java、Python)。但CNTK的学习和部署不如 TensorFlow 方便。相反,TensorFlow 使用图形格式来解释数据流和建模深度学习神经网络的目标。

  • Apache MXNet被亚马逊认可为 AWS 上的主要深度学习框架,可以计算大量 GPU 和机器,并加强广泛的语言 API,如 Python、R、Scala、C++、Pearl、Go、JavaScript、Julia。但是,其原始 API 不适用于 TensorFlow。

TensorFlow:应用程序

  1. 它应用在了各种 Google 产品和应用程序中,包括 Gmail、Google翻译、Google地图、Google搜索、照片、语音、Android、YouTube 和 Play等。

  2. 世界各地的领先企业都在使用它,其中包括 Airbnb、Ebay、Dropbox、Snapchat、Twitter、IBM、Uber,当然还有 Google。

总结

在本教程中,您发现了用于深度学习和机器学习的 TensorFlow 开源库。您了解 TensorFlow 是用于快速数值计算的库,专门针对为机器学习应用程序开发的大型深度学习模型的演化和验证所需的各种类型的操作而开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:TensorFlow 是什么?有什么作用? - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年4月5日

相关文章

  • tensorflow打印pb、ckpt模型的参数以及在tensorboard里显示图结构

    打印pb模型参数及可视化结构import tensorflow as tf from tensorflow.python.framework import graph_util tf.reset_default_graph() # 重置计算图 output_graph_path = ‘/home/huihua/NewDisk/stuff_detector_v…

    tensorflow 2023年4月6日
    00
  • 深度学习_1_Tensorflow_2_数据_文件读取

    队列和线程 文件读取, 图片处理 问题:大文件读取,读取速度, 在tensorflow中真正的多线程 子线程读取数据 向队列放数据(如每次100个),主线程学习,不用全部数据读取后,开始学习 队列与对垒管理器,线程与协调器 dequeue() 出队方法 enqueue(vals,name=None) 入队方法 enqueue_many(vals,name=N…

    tensorflow 2023年4月6日
    00
  • TensorFlow Ops

    1. Fun with TensorBoard In TensorFlow, you collectively call constants, variables, operators as ops. TensorFlow is not just a software library, but a suite of softwares that includ…

    tensorflow 2023年4月7日
    00
  • TensorFlow实现Batch Normalization

    TensorFlow实现Batch Normalization的完整攻略如下: 什么是Batch Normalization? Batch Normalization是一种用于神经网络训练的技术,通过在神经网络的每一层的输入进行归一化操作,将均值近似为0,标准差近似为1,进而加速神经网络的训练。Batch Normalization的主要思想是将输入进行预处…

    tensorflow 2023年5月17日
    00
  • ubuntu-14.04安装最新tensorflow记录

    1.安装英伟达驱动./NVIDIA-Linux-x86_64-384.69.runnvidia-smi成功表示驱动ok 2.安装cudadpkg -i cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.debapt-get updateapt-get install cuda安装patch2(也可以不装)dp…

    tensorflow 2023年4月8日
    00
  • tensorflow计算各个类别的正确率

    import tensorflow as tf def count_nums(true_labels, num_classes): initial_value = 0 list_length = num_classes list_data = [ initial_value for i in range(list_length)] for i in rang…

    tensorflow 2023年4月8日
    00
  • tensorflow如何切换CPU和GPU

      import os if Bert_Use_GPU: os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘0,1’ #使用GPU0,1 else: os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘-1’ #使用CPU   

    tensorflow 2023年4月8日
    00
  • 安装多个版本的TensorFlow的方法步骤

    安装多个版本的 TensorFlow 的方法步骤 在 TensorFlow 的开发过程中,我们可能需要同时安装多个版本的 TensorFlow。本文将详细讲解如何安装多个版本的 TensorFlow 的方法步骤,并提供两个示例说明。 步骤1:安装 Anaconda 在安装多个版本的 TensorFlow 之前,我们需要先安装 Anaconda。Anacond…

    tensorflow 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部