torch.fx.experimental#
创建于:2024 年 2 月 7 日 | 最后更新于:2025 年 6 月 12 日
警告
这些 API 仍处于实验阶段,如有更改恕不另行通知。
torch.fx.experimental.symbolic_shapes#
控制如何为维度执行符号分配。 |
|
对于客户端:此维度的尺寸必须在“vr”(指定下限和上限,包含-包含)之内,并且必须是非负数,不应为 0 或 1(但请参阅下面的注意事项)。 |
|
对于客户端:没有明确的约束;约束是跟踪中通过守卫隐式推断的任何内容。 |
|
表示并决定输入源之间各种类型的相等约束。 |
|
指定如何在 |
|
通过由 |
|
通过由 Source:Symbol 的缓存给出的 symbolic_context 确定,在 |
|
可追溯张量子类给定内部张量的正确符号上下文可能与外部符号上下文不同。 |
|
符号维度约束系统的自定义求解器。 |
|
封装所有可能影响 FakeTensor 调度的形状环境设置。 |
|
此类别用于多图编译上下文,其中我们生成多个专用图并在运行时调度到相应的图。 |
|
根据运行时观察到的底层实际值,检索整数的提示。 |
|
用于检查 SymInt 中底层对象是否为具体值的实用程序。 |
|
用于检查 SymBool 中底层对象是否为具体值的实用程序。 |
|
用于检查 SymInt 中底层对象是否为具体值的实用程序。 |
|
bool(free_symbols(val)) 的更快版本 |
|
bool(free_unbacked_symbols(val)) 的更快版本 |
|
尝试守护 a,如果遇到数据相关错误则返回 true。 |
|
尝试守护 a,如果遇到数据相关错误则返回 false。 |
|
以与尺寸无关的方式对符号布尔表达式执行守护。 |
|
and,但用于符号表达式,不进行布尔类型转换。 |
|
类似于 ==,但在列表/元组上运行时,它将递归测试相等性并使用 sym_and 将结果连接起来,而不进行守护。 |
|
or,但用于符号表达式,不进行布尔类型转换。 |
|
施加一个约束,使传入的 SymInt 必须位于 min-max 之间(包含-包含),不引入 SymInt 上的守护(这意味着它可用于未支持的 SymInt)。 |
|
给定两个 SymInt,约束它们,使它们必须相等。 |
|
通过将其转换为 lt/le 不等式并将所有非常量项移至右侧来规范化布尔表达式。 |
|
如果 x 可以简化为常量且为真,则返回 True。 |
|
如果 x 可以简化为常量且为 False,则返回 True。 |
|
用户代码友好的实用程序,用于检查值是静态的还是动态的。 |
|
测试两个“元”值(通常是 Tensor 或 SymInt)是否具有相同的值,例如在重新跟踪之后。 |
|
在运行假张量传播并生成 example_value 结果之后,遍历 example_value 查找新绑定的无支持符号并记录它们的路径以供以后使用。 |
|
假设我们正在重新跟踪之前具有假张量传播(因此具有无支持 SymInts)的现有 FX 图。 |
|
当我们进行假张量传播时,我们经常会分配新的无支持 SymInts。 |
|
确定节点是否正在尝试访问符号整数(例如大小、步幅、偏移量或项目)的辅助函数。 |
torch.fx.experimental.proxy_tensor#
给定一个函数 f,返回一个新函数,当使用 f 的有效参数执行时,该函数返回一个 FX GraphModule,表示在执行过程中执行的操作集。 |
|
调用当前活动的代理跟踪模式,对作用于这些参数的函数进行 SymInt/SymFloat/SymBool 调度跟踪。 |
|
当前活动的代理跟踪模式,如果当前未跟踪,则为 None。 |
|
在此上下文管理器中,如果您正在进行 make_fx 跟踪,我们将对所有 SymNode 计算进行 thunkify,并避免将其跟踪到图中,除非实际需要。 |
|
在上下文中,禁用 thunkification。 |