{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/pytorch-an-imperative-style-high-performance-1","title":"PyTorch: An Imperative Style, High-Performance Deep Learning Library","arxiv_id":"1912.01703","date":"2019-12-03","proceeding":"NeurIPS 2019 12","authors":["Adam Paszke","Sam Gross","Francisco Massa","Adam Lerer","James Bradbury","Gregory Chanan","Trevor Killeen","Zeming Lin","Natalia Gimelshein","Luca Antiga","Alban Desmaison","Andreas Köpf","Edward Yang","Zach DeVito","Martin Raison","Alykhan Tejani","Sasank Chilamkurthy","Benoit Steiner","Lu Fang","Junjie Bai","Soumith Chintala"],"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 well as the overall speed of PyTorch on several common benchmarks.","url_abs":"https://arxiv.org/abs/1912.01703v1","url_pdf":"https://arxiv.org/pdf/1912.01703v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"pytorch-an-imperative-style-high-performance-1","repo_url":"https://github.com/pytorch/pytorch","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"pytorch-an-imperative-style-high-performance-1","repo_url":"https://github.com/FilippoAiraldi/global-optimization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"pytorch-an-imperative-style-high-performance-1","repo_url":"https://github.com/lundalana/Bayesian-ID-Comparison","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"AGPL-3.0"}}],"tasks":[{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"high","task_name":"Vocal Bursts Intensity Prediction"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1912.01703","atlas_url":"https://app.syntology.ai/?focus=1912.01703","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1912.01703"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pytorch/pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/FilippoAiraldi/global-optimization","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lundalana/Bayesian-ID-Comparison","reach":{"status":"ok","spdx":"AGPL-3.0"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":3,"samples":[{"code_sha256_prefix":"358905d8834f7cfa","entry":"register_module_buffer_registration_hook","repo":"pytorch/pytorch","repo_kind":"official","path":"torch/nn/modules/module.py","file_url":"https://github.com/pytorch/pytorch/blob/HEAD/torch/nn/modules/module.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"358905d8834f7cfa"}},{"code_sha256_prefix":"2e8b412bf625c913","entry":"register_module_module_registration_hook","repo":"pytorch/pytorch","repo_kind":"official","path":"torch/nn/modules/module.py","file_url":"https://github.com/pytorch/pytorch/blob/HEAD/torch/nn/modules/module.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2e8b412bf625c913"}},{"code_sha256_prefix":"0a1bb6fa560c4b8d","entry":"register_module_parameter_registration_hook","repo":"pytorch/pytorch","repo_kind":"official","path":"torch/nn/modules/module.py","file_url":"https://github.com/pytorch/pytorch/blob/HEAD/torch/nn/modules/module.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0a1bb6fa560c4b8d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}