📅  最后修改于: 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的优点-
调试和理解代码很容易。
它包括许多层的火炬。
它包括许多损失功能。
可以将其视为GPU的NumPy扩展。
它允许构建其结构依赖于计算本身的网络。
我们将在下面研究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. |