pytorch/pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

解决的问题

PyTorch 是一个提供构建和训练深度神经网络的灵活方式的机器学习框架。它解决了需要高性能张量计算(类似于 NumPy)但又需要利用 GPU 加速以实现更快处理的问题。

工作原理

PyTorch 使用“基于 tape 的 autograd”系统进行反向模式自动微分。与静态框架不同,这允许开发人员在执行期间动态更改网络行为而无需额外开销。它与 Python 深度集成,允许用户使用标准的 Python 调试器以及 NumPy 和 SciPy 等库。该框架包含一个用于创建可优化、可序列化模型的编译栈 (TorchScript) 以及用于高效 GPU 使用的自定义内存分配器。

适用对象

专为需要最大灵活性和速度的深度学习研究人员,以及正在寻找用于科学计算的 GPU 加速版 NumPy 的开发人员而设计。

亮点

  • GPU 就绪张量:用于切片、索引和线性代数的高性能张量例程,可在 CPU 或 GPU 上运行。
  • 动态神经网络:一种灵活的命令式执行模型,允许在零延迟的情况下任意更改网络行为。
  • Python 优先设计:与 Python 生态系统深度集成,允许使用 Python 或 C++ 编写自定义层。
  • 高效后端:集成了 Intel MKL、NVIDIA cuDNN 和 NCCL 等加速库,以最大化速度并最小化内存开销。