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