- PyTorch 教程
- PyTorch - 首页
- PyTorch - 简介
- PyTorch - 安装
- 神经网络的数学基础
- PyTorch - 神经网络基础
- 机器学习通用工作流程
- 机器学习与深度学习
- 实现第一个神经网络
- 神经网络到功能模块
- PyTorch - 术语
- PyTorch - 加载数据
- PyTorch - 线性回归
- PyTorch - 卷积神经网络
- PyTorch - 循环神经网络
- PyTorch - 数据集
- PyTorch - 卷积网络简介
- 从头开始训练卷积网络
- PyTorch - 卷积网络中的特征提取
- PyTorch - 卷积网络的可视化
- 使用卷积网络进行序列处理
- PyTorch - 词嵌入
- PyTorch - 递归神经网络
- PyTorch 有用资源
- PyTorch - 快速指南
- PyTorch - 有用资源
- PyTorch - 讨论
PyTorch - 简介
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 以拥有如下三个抽象级别而闻名:
张量 - 在 GPU 上运行的命令式 n 维数组。
变量 - 计算图中的节点。它存储数据和梯度。
模块 - 神经网络层,它将存储状态或可学习的权重。
PyTorch 的优势
以下是 PyTorch 的优势:
易于调试和理解代码。
它包含 Torch 中的许多层。
它包含许多损失函数。
它可以被视为 NumPy 对 GPU 的扩展。
它允许构建其结构依赖于计算本身的网络。
TensorFlow 与 PyTorch
我们将在下面探讨 TensorFlow 和 PyTorch 之间的主要区别:
PyTorch | TensorFlow |
---|---|
PyTorch 与 Facebook 积极使用的基于 Lua 的 Torch 框架密切相关。 |
TensorFlow 由 Google Brain 开发,并在 Google 积极使用。 |
与其他竞争技术相比,PyTorch 比较新。 |
TensorFlow 并不新,被许多研究人员和行业专业人士视为首选工具。 |
PyTorch 以命令式和动态的方式包含所有内容。 |
TensorFlow 将静态和动态图结合在一起。 |
PyTorch 中的计算图在运行时定义。 |
TensorFlow 不包含任何运行时选项。 |
PyTorch 包含用于移动和嵌入式框架的部署功能。 |
TensorFlow 更适合嵌入式框架。 |