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 以其具有以下三个抽象级别而闻名:
-
张量——在 GPU 上运行的强制 n 维数组。
-
变量——计算图中的节点。存储数据和梯度。
-
模块——神经网络层,存储状态或可学习权重。
Advantages of PyTorch
以下是 PyTorch 的优势:
-
代码易于调试和理解。
-
它包含许多层,例如 Torch。
-
它包含许多损失函数。
-
它可被视为 NumPy 对 GPU 的扩展。
-
它允许构建结构依赖于计算本身的网络。
TensorFlow vs. PyTorch
我们将在下面了解 TensorFlow 和 PyTorch 之间的主要差异:
PyTorch |
TensorFlow |
PyTorch 与基于 lua 的 Torch 框架密切相关,后者在 Facebook 中被积极使用。 |
TensorFlow 由 Google Brain 开发,并在 Google 中积极使用。 |
与其他竞争技术相比,PyTorch 相对较新。 |
TensorFlow 并不新,许多研究人员和行业专业人士都将其视为必备工具。 |
PyTorch 以命令式和动态方式包含所有内容。 |
TensorFlow 将静态和动态图结合在一起。 |
PyTorch 中的计算图在运行时定义。 |
TensorFlow 不包含任何运行时选项。 |
PyTorch 包含针对移动设备和嵌入式框架的部署功能。 |
TensorFlow 更加适合嵌入式框架。 |