PyTorch 教程



  • 简述

    PyTorch 被定义为 Python 的开源机器学习库。它用于自然语言处理等应用程序。它最初是由 Facebook 人工智能研究小组和 Uber 的概率编程 Pyro 软件开发的。
    最初,PyTorch 是由 Hugh Perkins 开发的,作为基于 Torch 框架的 LusJIT 的 Python 包装器。PyTorch 有两种变体。
    PyTorch 在 Python 中重新设计和实现 Torch,同时为后端代码共享相同的核心 C 库。PyTorch 开发人员调整了此后端代码以高效运行 Python。他们还保留了基于 GPU 的硬件加速以及基于 Lua 的 Torch 的可扩展性功能。
  • 特征

    下面提到了 PyTorch 的主要功能 -
    Easy Interface− PyTorch 提供易于使用的 API;因此它被认为在 Python 上操作和运行非常简单。这个框架中的代码执行非常简单。
    Python usage- 该库被认为是 Pythonic,可以与 Python 数据科学堆栈顺利集成。因此,它可以利用 Python 环境提供的所有服务和功能。
    Computational graphs− PyTorch 提供了一个出色的平台,可提供动态计算图。因此,用户可以在运行时更改它们。当开发人员不知道创建神经网络模型需要多少内存时,这非常有用。
    PyTorch 以具有三个抽象级别而闻名,如下所示 -
    • Tensor - 在 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 更适用于嵌入式框架。
  • 学习条件

    本教程是为专注于机器学习算法和自然语言处理系统研究和开发的 Python 开发人员准备的。本教程的目的是完整描述 PyTorch 的所有概念以及相同的真实世界示例。
    在继续本教程之前,您需要了解 Python 和 Anaconda 框架(Anaconda 中使用的命令)。了解人工智能概念将是一个额外的优势。