PropagateUnbackedSymInts¶
- class torch.fx.experimental.symbolic_shapes.PropagateUnbackedSymInts(module, garbage_collect_values=True, graph=None)[source][source]¶
- boxed_run(参数列表)[源代码] ¶
通过解释执行模块并返回结果。这使用“boxed”调用约定,其中传递一个参数列表,该列表将被解释器清除。这确保了输入张量能够及时释放。
注意
本 API 向后兼容性得到保证。
- 调用函数(目标, 参数, 关键字参数)[源代码] ¶
执行一个
call_function
节点并返回结果。- 参数:
目标(Target)- 此节点的调用目标。有关语义的详细信息,请参阅 Node。
args(元组)- 此调用中位置参数的元组
kwargs(字典)- 此调用中关键字参数的字典
- 返回类型:
- 返回
Any: 函数调用的返回值
注意
本 API 向后兼容性得到保证。
- 调用方法(目标, 参数, 关键字参数)[源代码] ¶
执行一个
call_method
节点并返回结果。- 参数:
目标(Target)- 此节点的调用目标。有关语义的详细信息,请参阅 Node。
args(元组)- 此调用中位置参数的元组
kwargs(字典)- 此调用中关键字参数的字典
- 返回类型:
- 返回
Any: 方法调用的返回值
注意
本 API 向后兼容性得到保证。
- 调用模块(目标, 参数, 关键字参数)[源代码] ¶
执行一个
call_module
节点并返回结果。- 参数:
目标(Target)- 此节点的调用目标。有关语义的详细信息,请参阅 Node。
args(元组)- 此调用中位置参数的元组
kwargs(字典)- 此调用中关键字参数的字典
- 返回类型:
- 返回
Any: 模块调用返回的值
注意
本 API 向后兼容性得到保证。
- fetch_args_kwargs_from_env(n)[source]¶
从当前执行环境中获取节点
n
的args
和kwargs
的具体值。- 参数:
n (节点) – 需要获取
args
和kwargs
的节点@2#。- 返回值:
args
和kwargs
的具体值为n
。- 返回类型:
Tuple[Tuple, Dict]
注意
本 API 向后兼容性得到保证。
- fetch_attr(target)[source]¶
从
self.module
的Module
层次结构中获取属性。- 参数:
target (str) – 要获取的属性的完全限定名称
- 返回值:
属性的值。
- 返回类型:
任何
注意
本 API 向后兼容性得到保证。
- get_attr(target, args, kwargs)[source]¶
执行一个
get_attr
节点。将从Module
层级的self.module
中检索属性值。- 参数:
目标(Target)- 此节点的调用目标。有关语义的详细信息,请参阅 Node。
args(元组)- 此调用中位置参数的元组
kwargs(字典)- 此调用中关键字参数的字典
- 返回值:
所检索到的属性值
- 返回类型:
任何
注意
本 API 向后兼容性得到保证。
- map_nodes_to_values(args, n)[source]¶
递归遍历
args
并在当前执行环境中查找每个Node
的具体值。- 参数:
args(参数)- 用于查找具体值的内部数据结构。
n(节点)-
args
所属的节点。这仅用于错误报告。
- 返回类型:
Optional[Union[ tuple[Union[ForwardRef('Argument'), ...], collections.abc.Sequence[ForwardRef('Argument')], collections.abc.Mapping[ str, ForwardRef('Argument')], slice, range, torch.fx.node.Node, str, int, float, bool, complex, torch.dtype, torch.Tensor, torch.device, torch.memory_format, torch.layout, torch._ops.OpOverload, torch.SymInt, torch.SymBool, torch.SymFloat, NoneType], …], Sequence[Optional[Union[ tuple[ForwardRef('Argument'), …], Sequence[Argument], Mapping[ str, Argument], slice, range, Node, str, int, float, bool, complex, dtype, Tensor, device, memory_format, layout, OpOverload, SymInt, SymBool, SymFloat]]], Mapping[ str, Optional[Union[ tuple[ForwardRef('Argument'), …], Sequence[Argument], Mapping[ str, Argument], slice, range, Node, str, int, float, bool, complex, dtype, Tensor, device, memory_format, layout, OpOverload, SymInt, SymBool, SymFloat]]], 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)- 此节点的调用目标。有关语义的详细信息,请参阅 Node。
args(元组)- 此调用中位置参数的元组
kwargs(字典)- 此调用中关键字参数的字典
- 返回值:
输出节点引用的返回值
- 返回类型:
任何
注意
本 API 向后兼容性得到保证。
- placeholder(target, args, kwargs)[source]¶
执行一个
placeholder
节点。请注意,这是有状态的:Interpreter
维护一个对传递给run
的参数的内部迭代器,此方法返回该迭代器的 next()。- 参数:
目标(Target)- 此节点的调用目标。有关语义的详细信息,请参阅 Node。
args(元组)- 此调用中位置参数的元组
kwargs(字典)- 此调用中关键字参数的字典
- 返回值:
获取的参数值。
- 返回类型:
任何
注意
本 API 向后兼容性得到保证。
- run(*args, initial_env=None, enable_io_processing=True)[source]¶
通过解释执行模块并返回结果。
- 参数:
*args – 要运行的模块的参数,按位置顺序排列。
initial_env(可选[Dict[Node, Any]])– 执行的可选起始环境。这是一个将 Node 映射到任何值的字典。这可以用来预先填充某些节点的结果,以便在解释器中进行部分评估。
enable_io_processing(bool)– 如果为 true,我们在使用之前首先使用图的 process_inputs 和 process_outputs 函数处理输入和输出。
- 返回值:
执行模块返回的值
- 返回类型:
任何
注意
本 API 向后兼容性得到保证。
- 运行节点(n)[source][source] ¶
运行 FX 节点,将未备份的 Symbol 绑定传播到新的虚拟张量
- 返回类型:
Union[张量,tuple[torch.Tensor, …]]