• Docs >
  • torch.fx.experimental
Shortcuts

torch.fx.experimental

警告

这些API是实验性的,可能会在没有通知的情况下发生变化。

torch.fx.experimental.symbolic_shapes

torch.fx.experimental.symbolic_shapes 提供了与我们的符号形状推理系统交互的接口,该系统在 torch.compile 中被大量使用。虽然这通常不被认为是公共 API,但在编写 PyTorch 框架代码以及扩展 PyTorch(例如,在自定义操作符实现中)时,您可能需要使用这些 API 来适当地设置动态形状支持。

ShapeEnv

DimDynamic

控制如何为一个维度执行符号分配。

StrictMinMaxConstraint

对于客户端:在此维度上的大小必须在 'vr' 范围内(指定了一个上下限,包含-包含),并且必须是非负的,不应为 0 或 1(但请参见下面的注释)。

RelaxedUnspecConstraint

对于客户端:没有明确的约束;约束是由跟踪中的守卫隐含推断的。

EqualityConstraint

表示并决定输入源之间的各种等式约束。

SymbolicContext

指定如何在 create_symbolic_sizes_strides_storage_offset 中创建符号的数据结构;例如,它们应该是静态的还是动态的。

StatelessSymbolicContext

create_symbolic_sizes_strides_storage_offset 中通过 DimDynamicDimConstraint 给出的 symbolic_context 确定来创建符号。

StatefulSymbolicContext

create_symbolic_sizes_strides_storage_offset 中通过 symbolic_context 确定创建符号,如源代码缓存中的 Source:Symbol 所示。

SubclassSymbolicContext

可追踪张量子类的给定内部张量的正确符号上下文可能与外部符号上下文不同。

DimConstraints

用于符号维度上约束系统的自定义求解器。

hint_int

检索一个整数的提示(基于运行时观察到的底层实数值)。

is_concrete_int

用于检查 SymInt 中的底层对象是否为具体值的工具。

is_concrete_bool

用于检查SymBool中的底层对象是否为具体值的工具。

has_free_symbols

更快的 bool(free_symbols(val)) 版本

definitely_true

仅当我们可以确定a为True时返回True,在此过程中可能会引入一个保护。

definitely_false

仅当我们能够确定a为False时返回True,在此过程中可能会引入一个保护。

guard_size_oblivious

以大小无关的方式对符号布尔表达式执行保护。

parallel_or

评估多个参数的逻辑或,如果另一个参数确定为真,则避免在无支持的 SymInts 上进行保护。

parallel_and

评估多个参数的逻辑假,如果另一个参数确定为假,则避免在没有支持的 SymInts 上进行保护。

sym_eq

类似于==,但在列表/元组上运行时,它会递归测试相等性,并使用sym_and将结果连接在一起,而不进行保护。

constrain_range

应用一个约束,使得传入的 SymInt 必须在最小值和最大值之间(包括最小值和最大值),而不引入对 SymInt 的保护(这意味着它可以在未支持的 SymInt 上使用)。

constrain_unify

给定两个SymInts,限制它们必须相等。

canonicalize_bool_expr

通过将其转换为 lt / le 不等式并将所有非常数项移到右侧来规范化布尔表达式。

statically_known_true

如果 x 可以简化为一个常量并且为真,则返回 True。

优云智算