PyTorch: An Imperative Style, High-Performance Deep Learning Library
Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury,, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga,, Alban Desmaison, Andreas K\"opf, Edward Yang, Zach DeVito, Martin Raison,, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner

TL;DR
PyTorch is a deep learning library that combines ease of use, Pythonic programming, and high performance, supporting hardware accelerators and enabling flexible, debuggable code.
Contribution
It introduces an imperative, Pythonic design that balances usability and speed, with a detailed architecture enabling efficient deep learning computations.
Findings
PyTorch achieves competitive performance on benchmarks.
The library supports hardware accelerators like GPUs effectively.
Its architecture allows flexible, debuggable, and efficient deep learning development.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Computational Physics and Python Applications · Machine Learning and Data Classification
MethodsSPEED: Separable Pyramidal Pooling EncodEr-Decoder for Real-Time Monocular Depth Estimation on Low-Resource Settings
