快捷方式

PropagateUnbackedSymInts

class torch.fx.experimental.symbolic_shapes.PropagateUnbackedSymInts(module, garbage_collect_values=True, graph=None)[source][source]
boxed_run(args_list)[source]

通过解释器运行 module 并返回结果。这使用“boxed”调用约定,在该约定中,您传递一个参数列表,该列表将被解释器清除。这确保输入张量及时被释放。

注意

此 API 的向后兼容性得到保证。

call_function(target, args, kwargs)[source]

执行 call_function 节点并返回结果。

参数
  • target (Target) – 此节点的调用目标。有关语义详情,请参阅 Node

  • args (Tuple) – 此调用的位置参数元组

  • kwargs (Dict) – 此调用的关键字参数字典

返回类型

Any

返回

Any: 函数调用的返回值

注意

此 API 的向后兼容性得到保证。

call_method(target, args, kwargs)[source]

执行 call_method 节点并返回结果。

参数
  • target (Target) – 此节点的调用目标。有关语义详情,请参阅 Node

  • args (Tuple) – 此调用的位置参数元组

  • kwargs (Dict) – 此调用的关键字参数字典

返回类型

Any

返回

Any: 方法调用的返回值

注意

此 API 的向后兼容性得到保证。

call_module(target, args, kwargs)[source]

执行 call_module 节点并返回结果。

参数
  • target (Target) – 此节点的调用目标。有关语义详情,请参阅 Node

  • args (Tuple) – 此调用的位置参数元组

  • kwargs (Dict) – 此调用的关键字参数字典

返回类型

Any

返回

Any: 模块调用的返回值

注意

此 API 的向后兼容性得到保证。

fetch_args_kwargs_from_env(n)[source]

从当前执行环境中获取节点 nargskwargs 的具体值。

参数

n (Node) – 应获取其 argskwargs 的节点。这仅用于错误报告。

返回

包含节点 n 具体值的 argskwargs

返回类型

Tuple[Tuple, Dict]

注意

此 API 的向后兼容性得到保证。

fetch_attr(target)[source]

self.moduleModule 层级中获取属性。

参数

target (str) – 要获取属性的完全限定名

返回

属性的值。

返回类型

Any

注意

此 API 的向后兼容性得到保证。

get_attr(target, args, kwargs)[source]

执行 get_attr 节点。将从 self.moduleModule 层级中检索属性值。

参数
  • target (Target) – 此节点的调用目标。有关语义详情,请参阅 Node

  • args (Tuple) – 此调用的位置参数元组

  • kwargs (Dict) – 此调用的关键字参数字典

返回

检索到的属性值

返回类型

Any

注意

此 API 的向后兼容性得到保证。

map_nodes_to_values(args, n)[source]

递归遍历 args 并在当前执行环境中查找每个 Node 的具体值。

参数
  • args (Argument) – 用于查找具体值的数据结构

  • n (Node) – args 所属的节点。这仅用于错误报告。

返回类型

Optional[Union[tuple[‘Argument’, …], Sequence[Argument], Mapping[str, Argument], slice, range, Node, str, int, float, bool, complex, dtype, Tensor, device, memory_format, layout, OpOverload, SymInt, SymBool, SymFloat]]

注意

此 API 的向后兼容性得到保证。

output(target, args, kwargs)[source]

执行 output 节点。这实际上只是检索 output 节点引用的值并返回它。

参数
  • target (Target) – 此节点的调用目标。有关语义详情,请参阅 Node

  • args (Tuple) – 此调用的位置参数元组

  • kwargs (Dict) – 此调用的关键字参数字典

返回

output 节点引用的返回值

返回类型

Any

注意

此 API 的向后兼容性得到保证。

placeholder(target, args, kwargs)[source]

执行 placeholder 节点。注意这是有状态的:Interpreter 维护一个内部迭代器,用于遍历传递给 run 的参数,此方法返回该迭代器的 next()。

参数
  • target (Target) – 此节点的调用目标。有关语义详情,请参阅 Node

  • args (Tuple) – 此调用的位置参数元组

  • kwargs (Dict) – 此调用的关键字参数字典

返回

检索到的参数值。

返回类型

Any

注意

此 API 的向后兼容性得到保证。

run(*args, initial_env=None, enable_io_processing=True)[source]

通过解释器运行 module 并返回结果。

参数
  • *args – 要运行的 Module 的参数,按位置顺序排列

  • initial_env (Optional[Dict[Node, Any]]) – 可选的执行起始环境。这是一个将 Node 映射到任意值的字典。例如,这可以用于为某些 Node 预填充结果,以便在解释器内仅进行部分评估。

  • enable_io_processing (bool) – 如果为 true,我们首先使用 graph 的 process_inputs 和 process_outputs 函数处理输入和输出,然后再使用它们。

返回

执行 Module 返回的值

返回类型

Any

注意

此 API 的向后兼容性得到保证。

run_node(n)[source][source]

运行一个 FX 节点,将未支持的 Symbol 绑定传播到新的 fake tensor

返回类型

Union[Tensor, tuple[torch.Tensor, …]]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源