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更适用于嵌入式框架。 |