mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Summary: Clearly expressing a type is inferred by PyTorch instead of explicitly annotated by user makes many error messages more user-friendly Currently Type has two string conversion methods. str() for IR printing and python_str() for serialization and error message generation. If we want to include more information in type printing while maintaining serialization/deserialization correctness, we need to split python_str() into annotation_str() and repr_str(). annotation_str is solely responsible for serialization, it strictly matches format of python type annotation. repr_str() is responsible for generating a human-readable error message that includes information like "this type is inferred, not explicitly annotated" Closes https://github.com/pytorch/pytorch/issues/39449 Pull Request resolved: https://github.com/pytorch/pytorch/pull/39544 Differential Revision: D21978759 Pulled By: gmagogsfm fbshipit-source-id: 733566f5a62e748b5ca4bb3c5943ebb6d5b664d0 |
||
|---|---|---|
| .. | ||
| api | ||
| backends | ||
| codegen | ||
| docs | ||
| frontend | ||
| ir | ||
| mobile | ||
| passes | ||
| python | ||
| runtime | ||
| serialization | ||
| tensorexpr | ||
| testing | ||
| jit_log.cpp | ||
| jit_log.h | ||
| OVERVIEW.md | ||
| README.md | ||
| resource_guard.h | ||
PyTorch JIT
This folder contains (most of) the C++ code for the PyTorch JIT, a language and compiler stack for executing PyTorch models portably and efficiently. To learn more about the JIT from a user perspective, please consult our reference documentation and tutorials.
A brief summary of the source tree:
OVERVIEW.md: High-level technical overview of the JIT.frontend/: Taking PyTorch modules in Python and translating them into the JIT IR.ir/: Core IR abstractions.runtime/: Interpreter, graph execution, and JIT operators.codegen/: Generating efficient, hardware-specific code for JIT subgraphs.serialization/: Saving and loading modules.api/: Any user-facing C++ or Python interfaces.python/: Binding stuff into Python or accessing information from the Python environment.testing/: Utilities and helpers for testing.mobile/: Mobile-specific implementations of runtime components.passes/: IR-to-IR passes, generally for optimization and lowering.generated/: This folder is generated by the PyTorch build, and contains bindings for native PyTorch operators into the JIT.
Refer to each folder for more in-depth documentation.
Other relevant parts of the codebase not contained here:
aten/src/ATen/core: contains JIT code re-used by other elements of the runtime system (eager, mobile, etc.)