PyTorch - 简介



PyTorch 被定义为一个用于 Python 的开源机器学习库。它用于自然语言处理等应用。它最初由 Facebook 人工智能研究小组开发,以及基于它的 Uber 的 Pyro 概率编程软件。

最初,PyTorch 由 Hugh Perkins 开发,作为基于 Torch 框架的 LusJIT 的 Python 包装器。PyTorch 有两个变体。

PyTorch 在 Python 中重新设计并实现了 Torch,同时共享相同的核心 C 库作为后端代码。PyTorch 开发人员调整了这个后端代码以高效地运行 Python。他们还保留了基于 GPU 的硬件加速以及使基于 Lua 的 Torch 成为可能的扩展功能。

特性

PyTorch 的主要特性如下所述:

简单的接口 - PyTorch 提供易于使用的 API;因此,它被认为非常简单易用,并且可以在 Python 上运行。此框架中的代码执行非常简单。

Python 使用 - 此库被认为是 Pythonic 的,可以与 Python 数据科学栈无缝集成。因此,它可以利用 Python 环境提供的所有服务和功能。

计算图 - PyTorch 提供了一个优秀的平台,它提供了动态计算图。因此,用户可以在运行时更改它们。当开发人员不知道创建神经网络模型需要多少内存时,这非常有用。

PyTorch 以拥有如下三个抽象级别而闻名:

  • 张量 - 在 GPU 上运行的命令式 n 维数组。

  • 变量 - 计算图中的节点。它存储数据和梯度。

  • 模块 - 神经网络层,它将存储状态或可学习的权重。

PyTorch 的优势

以下是 PyTorch 的优势:

  • 易于调试和理解代码。

  • 它包含 Torch 中的许多层。

  • 它包含许多损失函数。

  • 它可以被视为 NumPy 对 GPU 的扩展。

  • 它允许构建其结构依赖于计算本身的网络。

TensorFlow 与 PyTorch

我们将在下面探讨 TensorFlow 和 PyTorch 之间的主要区别:

PyTorch TensorFlow

PyTorch 与 Facebook 积极使用的基于 Lua 的 Torch 框架密切相关。

TensorFlow 由 Google Brain 开发,并在 Google 积极使用。

与其他竞争技术相比,PyTorch 比较新。

TensorFlow 并不新,被许多研究人员和行业专业人士视为首选工具。

PyTorch 以命令式和动态的方式包含所有内容。

TensorFlow 将静态和动态图结合在一起。

PyTorch 中的计算图在运行时定义。

TensorFlow 不包含任何运行时选项。

PyTorch 包含用于移动和嵌入式框架的部署功能。

TensorFlow 更适合嵌入式框架。

广告