Pytorch 简明教程

PyTorch - Introduction

PyTorch 被定义为 Python 的开放源代码机器学习库。它用于自然语言处理等应用。它最初是由 Facebook 人工智能研究小组开发的,并且 Uber 公司基于此构建了用于概率编程的 Pyro 软件。

最初,PyTorch 是由 Hugh Perkins 开发的,它基于 Torch 框架充当 LusJIT 的 Python 封装器。PyTorch 有两个变体。

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

Features

PyTorch 的主要功能如下 -

Easy Interface - PyTorch 提供 easy to use API;因此它被认为非常简单易用,并且在 Python 中运行。在此框架中执行代码相当容易。

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

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

PyTorch 以其具有以下三个抽象级别而闻名:

  1. 张量——在 GPU 上运行的强制 n 维数组。

  2. 变量——计算图中的节点。存储数据和梯度。

  3. 模块——神经网络层,存储状态或可学习权重。

Advantages of PyTorch

以下是 PyTorch 的优势:

  1. 代码易于调试和理解。

  2. 它包含许多层,例如 Torch。

  3. 它包含许多损失函数。

  4. 它可被视为 NumPy 对 GPU 的扩展。

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

TensorFlow vs. PyTorch

我们将在下面了解 TensorFlow 和 PyTorch 之间的主要差异:

PyTorch

TensorFlow

PyTorch 与基于 lua 的 Torch 框架密切相关,后者在 Facebook 中被积极使用。

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

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

TensorFlow 并不新,许多研究人员和行业专业人士都将其视为必备工具。

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

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

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

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

PyTorch 包含针对移动设备和嵌入式框架的部署功能。

TensorFlow 更加适合嵌入式框架。