目录

torch.fx.experimental

警告

这些 API 是实验性的,如有更改,恕不另行通知。

torch.fx.experimental.symbolic_shapes

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

ShapeEnv (形状环境)

DimDynamic (暗淡动态)

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

StrictMinMaxConstraint (严格最小最大约束)

对于客户端:此维度的大小必须在 'vr' 范围内(指定下限和上限,包括在内),并且必须为非负值且不应为 0 或 1(但请参阅下面的 NB)。

RelaxedUnspecConstraint

对于客户端:没有明确的约束;constraint 是 guards 从 tracing 中隐式推断出的任何内容。

EqualityConstraint

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

SymbolicContext

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

StatelessSymbolicContext

通过 symbolic_context 确定 中创建符号,如 和 给出。create_symbolic_sizes_strides_storage_offsetDimDynamicDimConstraint

StatefulSymbolicContext

通过 Source:Symbol 缓存给出的 symbolic_context 确定创建元件。create_symbolic_sizes_strides_storage_offset

子类SymbolicContext

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

DimConstraints

用于符号尺寸约束系统的自定义求解器。

ShapeEnvSettings (形状环境设置)

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

ConvertIntKey 转换

调用 MethodKey

PropagateUnbackedSymInt

DivideByKey 键

InnerTensorKey 中

hint_int

检索 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,则避免保护无支持的 SymInts。

parallel_and

评估几个参数的逻辑 FALSE,如果另一个参数肯定是 False,请避免在无支持的 SymInt 上进行保护。

sym_eq

类似于 ==,但是当在 list/tuple 上运行时,它将递归地测试相等性并使用 sym_and 将结果连接在一起,而无需保护。

constrain_range

应用传入的 SymInt 必须位于 min-max inclusive-inclusive 之间的约束,而无需在 SymInt 上引入守卫(意味着它可以在无支持的 SymInt 上使用)。

constrain_unify

给定两个 SymInts,对它们进行约束,使它们必须相等。

canonicalize_bool_expr

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

statically_known_true

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

lru_cache

check_consistent

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

compute_unbacked_bindings

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

rebind_unbacked

假设我们正在追溯一个预先存在的 FX 图,该图以前具有虚假的张量传播(因此没有支持的 SymInts)。

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 计算进行 thunkized 并避免将其跟踪到图形中,除非实际需要。

maybe_disable_thunkify

在上下文中,禁用 thunkification。

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

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

查看教程

资源

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

查看资源