近年来,由于越来越高性能的硬件,数据科学领域已经能够获得越来越强大的分析方法。谷歌的Tensorflow一直是编辑机器学习和建模深度学习方法的标杆。今天,它仍然拥有最大的自由度。但广泛的选择往往会造成高门槛。
PyTorch vs TensorFlow--凭借年轻2年、同样基于Python的开源软件包PyTorch,Facebook现在想把Tensorflow从其宝座上打下来。由于它的简单性和功能,多年来它一直在稳步地获得普及。
在这篇文章中,我们将阐明该软件包的内容,以及它是否真的能与Tensorflow竞争。
什么是PyTorch?
Pytorch是用于科学计算和神经网络开发/训练的最流行的开源Python包之一。
它是由Facebook在2016年开发的,是基于用Lua编写的Torch库。一个类似NumPy的张量库,提供丰富的GPU支持,以实现加速的神经网络学习。PyTorch也经常被称为同名库。更多信息请参见 "库 "一节。
张量构成了PyTorch的基本数据结构,类似于Tensorflow。
PyTorch与TensorFlow--张量构成了两者的基础!
数学术语张量对应于向量和矩阵的泛化。因此,它是一种用于数据表示和处理的基本数据结构。在PyTorch中,实现为多维数组。因此,一个向量对应于一个一维的张量。

PyTorch vs TensorFlow - 张量原理
更多的维度可以被添加到张量中,直至无穷大。常见的张量类型是时间序列的3维张量,图像通常是4维的,视频是5维的张量。

PyTorch vs TensorFlow - 张量和神经网络
PyTorch方法操纵张量进行线性代数操作。通过将张量对象移到显卡内存中,这些过程可以高性能地运行。
PyTorch库
Pytorch提供了包含特定库的可能性。这样,程序可以保持精简,只对需要的代码进行引用。
PyTorch库本身是一个优化的张量库,用于在GPU和CPU上进行深度学习。
通过包括另一个库,PyTorch也可以在TPU上进行计算。
根据数据类型,可以加载不同的库,提供优化的方法和预先建模的原型进行分析。Torchaudio除了提供通常的音频转换方法外,还提供用于训练的数据集。通过Torchtext可以访问大型语言包,通过Torchvision可以分析图像。

PyTorch库
通过TorchElastic,训练工作可以被管理和弹性分配,例如,共享能力。
PyTorch的特点
通过分配给GPU的加速张量分析,PyTorch实现了深度学习算法的高灵活性和高速度。除此之外,PyTorch通过其Python基础提供了与强大的Python库(如NumPy和SciPy)以及Cython编程语言的无限兼容性。这里我们收集了最重要的Python开源数据管理和分析库。
反向模式的自动区分允许开发者随意修改网络行为,没有延迟或开销。这使得研究迭代的速度基本加快。
8位量化模型确保了在服务器和边缘设备上的高效部署,PyTorch Mobile可用于开发Android和iOS环境。
其他功能包括命名张量、人工神经网络修剪和远程程序调用的模型并行训练。
PyTorch可以访问TorchServe,这是一个来自Facebook的开源服务器,并与云提供商亚马逊网络服务(AWS)完全兼容。如果你不知道AWS是什么,请阅读我们关于这个问题的文章。
PyTorch提供了一个混合前端作为附加功能。这提供了在两种模式中选择的可能性。急切模式和图形模式。急切模式主要提供可用性和灵活性,而图模式则在C++运行环境中提供更好的速度、优化和功能。PyTorch还允许与混合前端进行转换。这允许在eagermode中开发模型,然后转移到graph模式进行生产。
PyTorch可以无限制地访问ONNX(Open Neural Network Exchange)兼容平台。ONNX是一个由微软、亚马逊和Facebook等联合开发的开源项目,可以在不同工具之间交换人工智能模型。
PyTorch vs Tensorflow
巨人的对决
就像Facebook的解决方案一样,Tensorflow与张量数据类型一起工作。PyTorch以其简单性和有效的内存使用为优势。另一方面,Tensorflow的可扩展性更强,因此更适合于生产模型。一个本质的区别是,PyTorch的图结构是在执行过程中定义的,而Tensorflow则是先定义后执行。不过,在这里,Tensorflow现在也有了自己的急切模式。然而,这在现阶段还没有完全发展起来。

Tensorflow与PyTorch的对比
PyTorch与Tensorflow--现在谁领先?
这仍然是一场激动人心的正面较量。尽管PyTorch的发展历史不长,但它已经取得了很大的进展,而且正是因为它的用户友好性,在创业方面很有意义。然而,正如通常的情况一样,这并不是哪个解决方案会出人头地的问题,而是竞争刺激商业的原则问题。最终,竞争压力导致了伟大的新创新的新工具。