评价此页

PropagateUnbackedSymInts#

class torch.fx.experimental.symbolic_shapes.PropagateUnbackedSymInts(module, garbage_collect_values=True, graph=None)[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: 函数调用返回的值

注意

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

call_method(target, args, kwargs)[source]#

执行 call_method 节点并返回结果。

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

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

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

返回类型

任何

返回

Any: 方法调用返回的值

注意

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

call_module(target, args, kwargs)[source]#

执行 call_module 节点并返回结果。

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

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

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

返回类型

任何

返回

Any: 模块调用返回的值

注意

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

fetch_args_kwargs_from_env(n)[source]#

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

参数

n (Node) – 应从中获取 argskwargs 的节点。

返回

argskwargs,具有 n 的具体值。

返回类型

Tuple[Tuple, Dict]

注意

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

fetch_attr(target)[source]#

self.moduleModule 层级结构中获取一个属性。

参数

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

返回

属性的值。

返回类型

任何

注意

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

get_attr(target, args, kwargs)[source]#

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

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

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

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

返回

检索到的属性值

返回类型

任何

注意

此 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) – 此调用关键字参数的字典

返回

输出节点引用的返回值

返回类型

任何

注意

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

placeholder(target, args, kwargs)[source]#

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

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

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

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

返回

检索到的参数值。

返回类型

任何

注意

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

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

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

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

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

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

返回

执行Module返回的值

返回类型

任何

注意

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

run_node(n)[源码]#

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

返回类型

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