{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2021:TUQCP7TVIC6KOQKXL3QW2AAHO2","short_pith_number":"pith:TUQCP7TV","schema_version":"1.0","canonical_sha256":"9d2027fe7540bca741575ee16d000776a144b058ad3694d520daa6144b017f72","source":{"kind":"arxiv","id":"2112.08429","version":2},"attestation_state":"computed","paper":{"title":"Torch.fx: Practical Program Capture and Transformation for Deep Learning in Python","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.LG","authors_text":"Ansley Ussery (Facebook AI), Horace He (Facebook AI), James K. Reed (Facebook AI), Jason Ansel (Facebook AI), Zachary DeVito (Facebook AI)","submitted_at":"2021-12-15T19:16:29Z","abstract_excerpt":"Modern deep learning frameworks provide imperative, eager execution programming interfaces embedded in Python to provide a productive development experience. However, deep learning practitioners sometimes need to capture and transform program structure for performance optimization, visualization, analysis, and hardware integration. We study the different designs for program capture and transformation used in deep learning. By designing for typical deep learning use cases rather than long tail ones, it is possible to create a simpler framework for program capture and transformation. We apply th"},"verification_status":{"content_addressed":true,"pith_receipt":true,"author_attested":false,"weak_author_claims":0,"strong_author_claims":0,"externally_anchored":false,"storage_verified":false,"citation_signatures":0,"replication_records":0,"graph_snapshot":true,"references_resolved":false,"formal_links_present":false},"canonical_record":{"source":{"id":"2112.08429","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LG","submitted_at":"2021-12-15T19:16:29Z","cross_cats_sorted":[],"title_canon_sha256":"fe4e795f0efd895f8b90ff6a0b2b9b837a7fe5feedcb03b411aaf66c18d11e94","abstract_canon_sha256":"0a7dd67c027f7946faf872b019df8ce79822e4b392d7c46a6d1e7fa9d0534c04"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-07-05T04:02:21.624380Z","signature_b64":"2ia4fVrkgFYQu+eC9+x+vem60wM8EiCfmPbg/na+4QQ1Bj5LaVRfM5ZqZ1P3C9mvmyGwa44mcM/ZtwdnaDtACw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"9d2027fe7540bca741575ee16d000776a144b058ad3694d520daa6144b017f72","last_reissued_at":"2026-07-05T04:02:21.623876Z","signature_status":"signed_v1","first_computed_at":"2026-07-05T04:02:21.623876Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Torch.fx: Practical Program Capture and Transformation for Deep Learning in Python","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.LG","authors_text":"Ansley Ussery (Facebook AI), Horace He (Facebook AI), James K. Reed (Facebook AI), Jason Ansel (Facebook AI), Zachary DeVito (Facebook AI)","submitted_at":"2021-12-15T19:16:29Z","abstract_excerpt":"Modern deep learning frameworks provide imperative, eager execution programming interfaces embedded in Python to provide a productive development experience. However, deep learning practitioners sometimes need to capture and transform program structure for performance optimization, visualization, analysis, and hardware integration. We study the different designs for program capture and transformation used in deep learning. By designing for typical deep learning use cases rather than long tail ones, it is possible to create a simpler framework for program capture and transformation. We apply th"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2112.08429","kind":"arxiv","version":2},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"integrity":{"clean":true,"summary":{"advisory":0,"critical":0,"by_detector":{},"informational":0},"endpoint":"/pith/2112.08429/integrity.json","findings":[],"available":true,"detectors_run":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938"},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"aliases":[{"alias_kind":"arxiv","alias_value":"2112.08429","created_at":"2026-07-05T04:02:21.623935+00:00"},{"alias_kind":"arxiv_version","alias_value":"2112.08429v2","created_at":"2026-07-05T04:02:21.623935+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2112.08429","created_at":"2026-07-05T04:02:21.623935+00:00"},{"alias_kind":"pith_short_12","alias_value":"TUQCP7TVIC6K","created_at":"2026-07-05T04:02:21.623935+00:00"},{"alias_kind":"pith_short_16","alias_value":"TUQCP7TVIC6KOQKX","created_at":"2026-07-05T04:02:21.623935+00:00"},{"alias_kind":"pith_short_8","alias_value":"TUQCP7TV","created_at":"2026-07-05T04:02:21.623935+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":4,"internal_anchor_count":0,"sample":[{"citing_arxiv_id":"2606.10334","citing_title":"Self-Distillation Policy Optimization via Visual Feedback: Bridging Code and Visual Artifacts","ref_index":23,"is_internal_anchor":false},{"citing_arxiv_id":"2509.16248","citing_title":"GraphMend: Code Transformations for Fixing Graph Breaks in PyTorch 2","ref_index":3,"is_internal_anchor":false},{"citing_arxiv_id":"2605.08195","citing_title":"ExecuTorch -- A Unified PyTorch Solution to Run AI Models On-Device","ref_index":10,"is_internal_anchor":false},{"citing_arxiv_id":"2604.17550","citing_title":"Flint: Compiler Enabled Cluster-Free Design Space Exploration for Distributed ML","ref_index":13,"is_internal_anchor":false}]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2","json":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2.json","graph_json":"https://pith.science/api/pith-number/TUQCP7TVIC6KOQKXL3QW2AAHO2/graph.json","events_json":"https://pith.science/api/pith-number/TUQCP7TVIC6KOQKXL3QW2AAHO2/events.json","paper":"https://pith.science/paper/TUQCP7TV"},"agent_actions":{"view_html":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2","download_json":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2.json","view_paper":"https://pith.science/paper/TUQCP7TV","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=2112.08429&json=true","fetch_graph":"https://pith.science/api/pith-number/TUQCP7TVIC6KOQKXL3QW2AAHO2/graph.json","fetch_events":"https://pith.science/api/pith-number/TUQCP7TVIC6KOQKXL3QW2AAHO2/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2/action/timestamp_anchor","attest_storage":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2/action/storage_attestation","attest_author":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2/action/author_attestation","sign_citation":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2/action/citation_signature","submit_replication":"https://pith.science/pith/TUQCP7TVIC6KOQKXL3QW2AAHO2/action/replication_record"}},"created_at":"2026-07-05T04:02:21.623935+00:00","updated_at":"2026-07-05T04:02:21.623935+00:00"}