• 文档 >
  • torch.fx.experimental
快捷方式

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

通过 DimDynamicDimConstraint 给定的符号上下文确定,在 create_symbolic_sizes_strides_storage_offset 中创建符号。

StatefulSymbolicContext

通过 Source:Symbol 缓存给定的符号上下文确定,在 create_symbolic_sizes_strides_storage_offset 中创建符号。

SubclassSymbolicContext

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

DimConstraints

针对符号维度的约束系统定制求解器。

ShapeEnvSettings

封装所有可能影响 FakeTensor 调度的形状环境设置。

ConvertIntKey

CallMethodKey

PropagateUnbackedSymInts

DivideByKey

InnerTensorKey

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

评估多个参数的逻辑 OR,如果另一个参数肯定为 True,则避免对未支持的 SymInt 进行守卫。

parallel_and

评估多个参数的逻辑 FALSE,如果另一个参数肯定为 False,则避免对未支持的 SymInt 进行守卫。

sym_eq

类似于 ==,但在对列表/元组运行时,它将递归地测试相等性并使用 sym_and 来组合结果,而不会进行守卫。

constrain_range

应用一个约束,即传入的 SymInt 必须在 min-max 包含-包含之间,而不会对 SymInt 引入守卫(这意味着它可以在未支持的 SymInt 上使用)。

constrain_unify

给定两个 SymInt,将它们约束在一起,以确保它们必须相等。

canonicalize_bool_expr

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

statically_known_true

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

lru_cache

check_consistent

测试两个“元”值(通常是 Tensor 或 SymInt)是否具有相同的值,例如,在重新跟踪之后。

compute_unbacked_bindings

在运行假张量传播并生成 example_value 结果后,遍历 example_value 以查找新绑定的未支持符号并记录它们的路径以备后用。

rebind_unbacked

假设我们正在重新跟踪先前具有假张量传播(因此具有未支持的 SymInt)的现有 FX 图。

resolve_unbacked_bindings

is_accessor_node

torch.fx.experimental.proxy_tensor

make_fx

给定一个函数 f,返回一个新函数,该函数在使用 f 的有效参数执行时,返回一个表示在执行过程中执行的操作集的 FX GraphModule。

handle_sym_dispatch

调用当前活动的代理跟踪模式,以对作用于这些参数的函数进行 SymInt/SymFloat/SymBool 分派跟踪。

get_proxy_mode

当前活动的代理跟踪模式,或者如果我们当前没有进行跟踪,则为 None。

maybe_enable_thunkify

在此上下文管理器中,如果您正在进行 make_fx 跟踪,我们将对所有 SymNode 计算进行 thunkify,并避免将其跟踪到图中,除非它确实需要。

maybe_disable_thunkify

在上下文中禁用 thunkification。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源