PyTorch: An Imperative Style, High-Performance Deep Learning Library

12/03/2019
by   Adam Paszke, et al.
90

Deep learning frameworks have often focused on either usability or speed, but not both. PyTorch is a machine learning library that shows that these two goals are in fact compatible: it provides an imperative and Pythonic programming style that supports code as a model, makes debugging easy and is consistent with other popular scientific computing libraries, while remaining efficient and supporting hardware accelerators such as GPUs. In this paper, we detail the principles that drove the implementation of PyTorch and how they are reflected in its architecture. We emphasize that every aspect of PyTorch is a regular Python program under the full control of its user. We also explain how the careful and pragmatic implementation of the key components of its runtime enables them to work together to achieve compelling performance. We demonstrate the efficiency of individual subsystems, as well as the overall speed of PyTorch on several common benchmarks.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/16/2018

AutoGraph: Imperative-style Coding with Graph-based Performance

There is a perceived trade-off between machine learning code that is eas...
research
08/26/2023

Implementing Performance Portability of High Performance Computing Programs in the New Golden Age of Chip Architecture

As an important goal of high-performance computing, the concept of perfo...
research
12/15/2021

torch.fx: Practical Program Capture and Transformation for Deep Learning in Python

Modern deep learning frameworks provide imperative, eager execution prog...
research
01/09/2023

VQNet 2.0: A New Generation Machine Learning Framework that Unifies Classical and Quantum

With the rapid development of classical and quantum machine learning, a ...
research
05/26/2022

YASMIN: Yet Another State MachINe library for ROS 2

State machines are a common mechanism for defining behaviors in robots, ...
research
07/21/2017

Learning Program Component Order

Successful programs are written to be maintained. One aspect to this is ...
research
12/10/2018

Functional Design of Computation Graph

Representing the control flow of a computer program as a computation gra...

Please sign up or login with your details

Forgot password? Click here to reset