torch.fx.experimental¶
Warning
These APIs are experimental and subject to change without notice.
torch.fx.experimental.symbolic_shapes¶
Controls how to perform symbol allocation for a dimension. |
|
For clients: the size at this dimension must be within 'vr' (which specifies a lower and upper bound, inclusive-inclusive) AND it must be non-negative and should not be 0 or 1 (but see NB below). |
|
For clients: no explicit constraint; constraint is whatever is implicitly inferred by guards from tracing. |
|
Represent and decide various kinds of equality constraints between input sources. |
|
Data structure specifying how we should create symbols in |
|
Create symbols in |
|
Create symbols in |
|
The correct symbolic context for a given inner tensor of a traceable tensor subclass may differ from that of the outer symbolic context. |
|
Custom solver for a system of constraints on symbolic dimensions. |
|
Encapsulates all shape env settings that could potentially affect FakeTensor dispatch. |
|
Retrieve the hint for an int (based on the underlying real values as observed at runtime). |
|
Utility to check if underlying object in SymInt is concrete value. |
|
Utility to check if underlying object in SymBool is concrete value. |
|
Utility to check if underlying object in SymInt is concrete value. |
|
Faster version of bool(free_symbols(val)) |
|
Faster version of bool(free_unbacked_symbols(val)) |
|
Returns True only if we can tell that a is True, possibly introducing a guard in the process. |
|
Returns True only if we can tell that a is False, possibly introducing a guard in the process. |
|
Perform a guard on a symbolic boolean expression in a size oblivious way. |
|
Like ==, but when run on list/tuple, it will recursively test equality and use sym_and to join the results together, without guarding. |
|
Applies a constraint that the passed in SymInt must lie between min-max inclusive-inclusive, WITHOUT introducing a guard on the SymInt (meaning that it can be used on unbacked SymInts). |
|
Given two SymInts, constrain them so that they must be equal. |
|
Canonicalize a boolean expression by transforming it into a lt / le inequality and moving all the non-constant terms to the rhs. |
|
Returns True if x can be simplified to a constant and is true. |
|
Test that two "meta" values (typically either Tensor or SymInt) have the same values, e.g., after retracing. |
|
After having run fake tensor propagation and producing example_value result, traverse example_value looking for freshly bound unbacked symbols and record their paths for later. |
|
Suppose we are retracing a pre-existing FX graph that previously had fake tensor propagation (and therefore unbacked SymInts). |
|
torch.fx.experimental.proxy_tensor¶
Given a function f, return a new function which when executed with valid arguments to f, returns an FX GraphModule representing the set of operations that were executed during the course of execution. |
|
Call into the currently active proxy tracing mode to do a SymInt/SymFloat/SymBool dispatch trace on a function that operates on these arguments. |
|
Current the currently active proxy tracing mode, or None if we are not currently tracing. |
|
Within this context manager, if you are doing make_fx tracing, we will thunkify all SymNode compute and avoid tracing it into the graph unless it is actually needed. |
|
Within a context, disable thunkification. |