torch.fx.experimental¶
警告
这些 API 处于实验阶段,可能会在不另行通知的情况下进行更改。
torch.fx.experimental.symbolic_shapes¶
控制如何为维度执行符号分配。 |
|
对于客户端:此维度的尺寸必须在 'vr'(指定包含上下限)范围内,并且必须是非负数,不应为 0 或 1(但请参阅下面的 NB)。 |
|
对于客户端:没有显式约束;约束是由跟踪中的 guard 隐式推断的。 |
|
表示并决定输入源之间各种类型的相等约束。 |
|
数据结构,指定应如何在 |
|
根据 |
|
根据 Source:Symbol 缓存给出的 symbolic_context 确定方式,在 |
|
可追踪张量子类的给定内部张量的正确符号上下文可能与外部符号上下文不同。 |
|
用于符号维度约束系统的自定义求解器。 |
|
封装可能影响 FakeTensor 调度的所有 shape env 设置。 |
|
检索整型变量的提示(基于运行时观察到的底层实际值)。 |
|
检查 SymInt 中底层对象是否为具体值的工具函数。 |
|
检查 SymBool 中底层对象是否为具体值的工具函数。 |
|
检查 SymInt 中底层对象是否为具体值的工具函数。 |
|
bool(free_symbols(val)) 的更快版本 |
|
bool(free_unbacked_symbols(val)) 的更快版本 |
|
仅当我们确定 'a' 为 True 时返回 True,此过程可能引入 guard。 |
|
仅当我们确定 'a' 为 False 时返回 True,此过程可能引入 guard。 |
|
以与大小无关的方式对符号布尔表达式执行 guard。 |
|
类似于 ==,但在列表/元组上运行时,它会递归测试相等性,并使用 sym_and 连接结果,而无需 guarding。 |
|
应用约束,要求传入的 SymInt 必须在 min-max 范围内(包含 min 和 max),且不引入对 SymInt 的 guard(意味着它可用于 unbacked SymInts)。 |
|
给定两个 SymInt,约束它们使它们必须相等。 |
|
通过将其转换为 lt / le 不等式并将所有非常数项移至右手边来规范化布尔表达式。 |
|
如果 x 可以简化为常量且为 true,则返回 True。 |
|
测试两个“元”值(通常是 Tensor 或 SymInt)具有相同的值,例如在重新追踪后。 |
|
运行 fake tensor 传播并生成 example_value 结果后,遍历 example_value 查找新绑定的 unbacked 符号,并记录其路径以供后续使用。 |
|
假设我们正在重新追踪之前已进行 fake tensor 传播(因此包含 unbacked SymInts)的现有 FX 图。 |
|
torch.fx.experimental.proxy_tensor¶
给定函数 f,返回一个新函数,该新函数在执行时使用 f 的有效参数,返回一个 FX GraphModule,表示执行过程中运行的操作集。 |
|
调用当前活动的代理追踪模式,对作用于这些参数的函数执行 SymInt/SymFloat/SymBool 调度追踪。 |
|
当前活动的代理追踪模式;如果当前未追踪,则为 None。 |
|
在此上下文管理器内,如果您正在进行 make_fx 追踪,我们将对所有 SymNode 计算进行 thunkify,并避免将其追踪到图中,除非实际需要。 |
|
在某个上下文中,禁用 thunkification。 |