追踪器

用于构建描述模型的部分图集的追踪模块。

RobustTracer

一个强大的图形追踪器,用于追踪各层之间的依赖关系。

GraphCollection

一组fx图表和追踪结果的集合。

函数

recursive_trace

递归追踪模型和所有失败的子模块,并返回图形集合。

class GraphCollection

基础类:object

一组fx图表和追踪结果的集合。

__init__()

初始化图集合。

Return type:

failure_msg(m)

获取模块失败时的失败信息。

Parameters:

m (模块 | 可调用) –

Return type:

str | None

is_failed(m)

检查节点目标在跟踪期间是否失败。

Parameters:

m (模块 | 可调用) –

Return type:

bool

is_unvisited(m)

检查节点目标是否未被访问。

Parameters:

m (模块 | 可调用) –

Return type:

bool

recursive_trace(model, concrete_args=None)

递归地跟踪模型和所有失败的子模块,并存储图集合。

Parameters:
  • model (Module) – 要跟踪的模型。

  • concrete_args (Dict[str, Any] | None) – [实验性;不向后兼容!] 用于跟踪根模块(即模型的forward方法)的具体参数。请注意,如果/当跟踪递归时,不会传递具体参数!默认为None。

Return type:

请注意,图集合包含根模块的图以及所有失败的子模块。对于失败的模块,图将包含失败模块作为叶子节点,并且为失败模块中的每个子模块分别提供图,以最大化跟踪结果的覆盖范围。

class RobustTracer

基础类:object

一个强大的图形追踪器,用于追踪各层之间的依赖关系。

请注意,此跟踪器将不受支持的操作整体包装到其父模块中。

__init__()

初始化追踪器。

failure_msg(m)

获取模块的失败消息。

Parameters:

m (模块 | 可调用) –

Return type:

str | None

is_failed(m)

检查模块是否失败。

Parameters:

m (模块 | 可调用对象) –

Return type:

bool

is_leaf_module(m, module_qualified_name)

检查给定的模块是否为叶子模块。

Parameters:
  • m (模块) –

  • module_qualified_name (str) –

Return type:

bool

classmethod is_registered_leaf(m)

检查模块是否注册为额外的叶子模块。

Parameters:

m (模块 | 类型[模块]) –

Return type:

bool

is_unvisited(m)

检查节点目标是否未被访问。

Parameters:

m (模块 | 可调用) –

Return type:

bool

record_call_module(m, e=None)

记录call_module操作。

Parameters:
  • m (模块) –

  • e (异常 | ) –

Return type:

classmethod register_leaf(m)

将一个模块注册为额外的叶子模块。

Parameters:

m (类型[模块]) –

Return type:

trace(root, concrete_args=None)

使用fx追踪器追踪根节点。

与fx中的标准追踪器不同,此追踪器增加了以下功能:

  1. 只有 concrete_args 中的 torch.Tensors 被转换为 Proxy 对象。

  2. 追踪器在遇到不支持的操作时不会失败。相反,它会将包含不支持操作的模块包装成一个叶节点,并重复追踪过程。

  3. 即使叶模块是根模块,追踪器也不会追踪到叶模块中。

Parameters:
  • root (模块) –

  • concrete_args (Dict[str, Any] | None) –

Return type:

图表

classmethod unregister_leaf(m)

取消注册一个模块作为额外的叶子模块。

Parameters:

m (类型[模块]) –

Return type:

recursive_trace(model, concrete_args=None)

递归追踪模型和所有失败的子模块,并返回图形集合。

Parameters:
  • model (Module) – 要跟踪的模型。

  • concrete_args (Dict[str, Any] | None) – [实验性;不向后兼容!] 用于跟踪根模块(即模型的forward方法)的具体参数。请注意,如果/当跟踪递归时,不会传递具体参数!默认为None。

Returns:

由追踪生成的fx图集合。

Return type:

GraphCollection

请注意,图集合包含根模块的图以及所有失败的子模块。对于失败的模块,图将包含失败的模块作为叶子节点,然后为失败模块中的每个子模块分别提供图,以最大化跟踪结果的覆盖范围。