📜  PyTorch-简介

📅  最后修改于: 2020-12-10 05:20:13             🧑  作者: Mango


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以以下三个级别的抽象而著称-

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

  • 变量-计算图中的节点。这将存储数据和渐变。

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

PyTorch的优势

以下是PyTorch的优点-

  • 调试和理解代码很容易。

  • 它包括许多层的火炬。

  • 它包括许多损失功能。

  • 可以将其视为GPU的NumPy扩展。

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

TensorFlow与PyTorch

我们将在下面研究TensorFlow和PyTorch之间的主要区别-

PyTorch TensorFlow

PyTorch is closely related to the lua-based Torch framework which is actively used in Facebook.

TensorFlow is developed by Google Brain and actively used at Google.

PyTorch is relatively new compared to other competitive technologies.

TensorFlow is not new and is considered as a to-go tool by many researchers and industry professionals.

PyTorch includes everything in imperative and dynamic manner.

TensorFlow includes static and dynamic graphs as a combination.

Computation graph in PyTorch is defined during runtime.

TensorFlow do not include any run time option.

PyTorch includes deployment featured for mobile and embedded frameworks.

TensorFlow works better for embedded frameworks.