PyTorch 简介

PyTorch 简介

PyTorch被定义为用于Python的开源机器学习库。它用于自然语言处理等应用。它最初是由Facebook人工智能研究小组开发的,并且Uber的基于PyTorch构建的概率编程软件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维数组。

  • Variable − 计算图中的节点。它存储数据和梯度。

  • Module − 存储状态或可学习权重的神经网络层。

PyTorch的优势

PyTorch具有以下优势:−

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

  • 包含很多与Torch相同的层。

  • 包含许多损失函数。

  • 可以看作是针对GPU的NumPy扩展。

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

TensorFlow vs. PyTorch

下面我们将看一下TensorFlow和PyTorch之间的主要区别:−

PyTorch TensorFlow
PyTorch与基于lua的Torch框架密切相关,Torch框架在Facebook公司积极使用。 TensorFlow由Google Brain开发,在谷歌公司被广泛使用。
相对于其他竞争技术,PyTorch相对较新。 TensorFlow并不新,被许多研究人员和行业专业人士视为首选工具。
PyTorch以命令式和动态的方式包含了所有内容。 TensorFlow以静态和动态图的组合形式呈现。
在PyTorch中,计算图是在运行时定义的。 TensorFlow不包含任何运行时选项。
PyTorch包含了为移动和嵌入式框架部署的特性。 TensorFlow在嵌入式框架上表现更好。

PyTorch 教程目录

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程