关于Tensorflow 2.0的重要注意事项



深度学习应用程序已经改变了很多事情。 一些给人们带来了更光明的未来的希望,而另一些引起了人们的怀疑。 但是,对于开发人员而言,深度学习应用程序的增长使他们更加困惑,无法从众多的深度学习框架中选择最好的。

TensorFlow是即将出现的深度学习框架之一。 可以说,它是目前最流行的深度学习框架。 Uber,Nvidia,Gmail等大公司使用Tensorflow来开发最新的深度学习应用程序,这一事实无可比拟。

但是现在,我正在寻找它是否确实是最好的深度学习框架。 或者,也许在与之竞争的所有其他框架中找到使其成为最出色的东西。

这就是所有有关TensorFlow 2.0的信息


大多数开发人员和数据科学家都喜欢将Python与TensorFlow结合使用。 TensorFlow不仅可以在Windows,Linux和Mac上运行,还可以在iOS和Android操作系统上运行。

TF使用静态计算图进行操作。 这意味着开发人员首先定义图,运行所有计算,必要时对体系结构进行更改,然后重新训练模型。 通常,可以使用多维矩阵解决许多机器学习和深度学习的概念。 Tensorflow 2.0所做的就是帮助描述几何对象之间的线性关系。 张量是一个基本单位,我们可以在其中轻松有效地应用矩阵运算。

import tensorflow as TF const1 = TF.constant([[05,04,03], [05,04,03]]); const2 = TF.constant([[01,02,00], [01,02,00]]); result = TF.subtract(const1, const2); print(result) 

上面代码的输出将如下所示:

 TF.Tensor([[04 02 03] [04 02 03]]) 

如您所见,我在这里给了两个常数,我从另一个常数中减去了一个值,并通过减去两个值得到了一个Tensor对象。 此外,使用Tensorflow 2.0,无需在运行代码之前创建会话。

使用TensorFlow 2.0之前要了解的一件事是,您将需要编写大量代码,并且您不仅需要使用TensorFlow执行算术运算。 它更多地涉及进行深度学习研究,构建AI预测器,分类器,生成模型,神经网络等。 当然,TF可以帮助后者,但是重要的任务,例如定义神经网络的体系结构,定义输出和输入数据的容量,都需要人类认真思考才能完成。

训练这些AI模型最快的方法是Google于2016年推出的张量处理单元(TPU)。TPU通过多种方式处理神经网络训练问题。

量化 -这是一个功能强大的工具,使用8位整数来计算神经网络预测。 例如,当您将量化应用于Inception v3之类的图像识别模型时,您会将其压缩后的大小从原始大小的91MB压缩到23MB。

并行处理 -矩阵乘法器单元上的并行处理是一种众所周知的方法,可通过矢量处理来提高大型矩阵运算的性能。 具有矢量处理支持的机器可以在一个时钟周期内处理多达数十万个操作元素。

CISC -TPU在CISC设计上进行工作,该设计着重于执行高级指令,这些指令运行高级任务,例如乘法和加法等。 TPU使用以下资源来执行复杂的任务:

  • 矩阵乘法器单元(MXU):65,536个8位乘法和加法单元,用于矩阵运算。
  • 统一缓冲区(UB):用作寄存器的24MB SRAM。
  • 激活单元(AU):有线激活功能。

脉动阵列 -脉动阵列基于MXU的新体系结构,也称为TPU的核心。 MXU读取一次该值,但将其用于许多不同的操作,而无需将其存储回寄存器。 它多次重复使用输入以产生输出。 该阵列称为收缩压阵列,因为数据以与我们的心脏泵血相同的方​​式在波形中流过芯片。 它提高了编码的操作灵活性,并提供了更高的操作密度。


如您所见,TPU的所有这些主要要点都有助于有效地分析和处理数据。 除此之外,它还提供TensorFlow数据集,开发人员可以将其用于训练一些定制设计的AI解决方案以及进行进一步的研究工作。

另外,根据最新更新, Cerebras Systems (一家新的人工智能公司) 还将推出基于TPU模型的最大半导体芯片。 在该芯片中,您可以找到有史以来最大的用于处理,训练和处理AI应用程序的处理器。 这个巨大的芯片等于iPad的大小,并拥有1.2万亿个晶体管。

与其他深度学习框架相比,TensorFlow的最大优势之一是可扩展性。 与PyTorch等其他框架不同,TensorFlow是为大规模推理和分布式训练而构建的。 但是,它也可以用于尝试新的机器学习模型和优化。 这种灵活性还允许开发人员使用TensorFlow在多个CPU / GPU上部署深度学习模型。

跨平台兼容性


TensorFlow 2.0在所有主要的OS平台上都兼容,例如Windows,Linux,macOS,iOS和Android。 此外,Keras还可以与TensorFlow一起用作接口。

硬件可扩展性


TensorFlow 2.0可部署在各种硬件机器上,从蜂窝设备到具有复杂设置的大型计算机。 它可以部署在各种硬件机器上,例如蜂窝设备和具有复杂设置的计算机。 它可以合并不同的API,以构建大规模的深度学习架构,例如CNN或RNN。

可视化


TensorFlow框架基于图形计算,并提供用于培训目的的便捷可视化工具。 这种称为TensorBoard的可视化工具使开发人员可以可视化神经网络的构造,从而有助于轻松地进行可视化和解决问题。

侦错


Tensorflow允许用户执行图的子部分,以引入和检索边缘上的离散数据,从而提供一种简洁的调试方法。

动态图功能易于部署


TensorFlow使用称为“急切执行”的功能,该功能可促进动态图功能,从而易于部署。 它允许将图形保存为协议缓冲区,然后可以将其部署到与python关系基础设施(例如Java)不同的地方。

为什么TensorFlow会继续增长?


在当今所有其他深度学习框架中,TensorFlow的增长速度最快。 在深度学习部分中,它在所有其他存储库中的GitHub活动最高,启动次数也最高。

在2019年Stack Overflow开发人员年度调查中,TensorFlow被票选为最受欢迎的深度学习框架,第二受欢迎的框架Torch / PyTorch则相距甚远。

这些统计数据足以证明TensorFlow的优势。 但是它将持续多长时间呢? 最终会超过当前的流行度吗? 随着TensorFlow 2.0的引入和广泛接受,后者似乎成为可能。

Source: https://habr.com/ru/post/zh-CN466833/


All Articles