当前位置: 首页 > 教程 > PyTorch >

PyTorch简介

精华
小牛编辑
200浏览
2023-03-14

PyTorch是一个Python的开源机器学习库。它用于自然语言处理等应用程序。它最初由Facebook人工智能研究小组开发,而优步的Pyro软件则用于概率编程。

最初,PyTorch由Hugh Perkins开发,作为基于Torch框架的LusJIT的Python包装器。有两种PyTorch变种。

PyTorch在Python中重新设计和实现Torch,同时为后端代码共享相同的核心C库。PyTorch开发人员调整了这个后端代码,以便有效地运行Python。他们还保留了基于GPU的硬件加速以及基于Lua的Torch的可扩展性功能。

PyTorch功能特征

PyTorch的主要功能如下所述 -

简单的界面 - PyTorch提供易于使用的API; 因此,它在Python上运行,操作非常简单。这个框架中的代码执行非常简单。

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

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

PyTorch以三个抽象级别而闻名,如下所示 -

  • Tensor - 在GPU上运行命令式n维数组。
  • 变量 - 计算图中的节点,它存储数据和梯度。
  • 模块 - 存储状态或可学习权重的神经网络层。

PyTorch的优点

以下是PyTorch的优点 -

  • 它易于调试和理解代码。
  • 它包括许多层作为Torch。
  • 它包括许多损失函数。
  • 它可以视为对GPU的NumPy扩展。
  • 它允许构建其结构依赖于计算本身的网络。

TensorFlow与PyTorch比较

下面是TensorFlow和PyTorch之间的主要区别 -

PyTorch TensorFlow
PyTorch与基于lua的Torch框架密切相关,该框架在Facebook中广泛使用。 TensorFlow由Google Brain开发,并在Google上积极使用。
与其他竞争技术相比,PyTorch相对较新。 TensorFlow并不是新的,但许多研究人员和行业专业人士视为一种前沿工具。
PyTorch以强制性和动态的方式包含所有内容。 TensorFlow包含静态和动态图形作为组合。
PyTorch中的计算图是在运行时定义的。 TensorFlow不包含任何运行时选项。
PyTorch包括针对移动和嵌入式框架的部署。 TensorFlow更适用于嵌入式框架。