快捷方式

模块工具

class torcheval.tools.ModuleSummary

模块及其子模块的摘要。它收集以下信息

  • 名称

  • 类型

  • 参数数量

  • 可训练参数的数量

  • 估计大小(字节)

  • 该模块是否包含未初始化的参数

  • 正向计算的 FLOPs(“?”表示未计算)

  • 反向计算的 FLOPs(“?”表示未计算)

  • 输入形状(“?”表示未计算)

  • 输出形状(“?”表示未计算)

  • 正向计算的经过时间(毫秒)(“?”表示未计算)

property flops_backward: int | Literal['?']

返回使用该模块进行反向计算的总 FLOPs。

property flops_forward: int | Literal['?']

返回使用该模块进行正向计算的总 FLOPs。

property forward_elapsed_time_ms: Literal['?'] | float

返回模块的正向计算时间(毫秒)。

property has_uninitialized_param: bool

返回该模块中是否存在未初始化的参数

property in_size: Literal['?'] | List[int]

返回模块的输入大小

property module_name: str

返回该模块的名称

property module_type: str

返回该模块的类型。

property num_parameters: int

返回该模块中参数的总数。

property num_trainable_parameters: int

返回该模块中可训练参数(requires_grad=True)的总数。

property out_size: Literal['?'] | List[int]

返回模块的输出大小

property size_bytes: int

返回模块的总估计大小(字节)。

property submodule_summaries: Dict[str, ModuleSummary]

一个字典,以子模块的名称作为键,对应 ModuleSummary 对象作为值。这些可以用于遍历和可视化。

torcheval.tools.get_module_summary(module: Module, module_args: Tuple[Any, ...] | None = None, module_kwargs: MutableMapping[str, Any] | None = None) ModuleSummary

生成一个 ModuleSummary 对象,然后赋值并生成子模块树。

参数:
  • module – 要总结的模块。

  • module_args – 模块运行并计算 FLOPs 和激活大小的实参元组。

  • module_kwargs

    要传递给模块正向函数的任何关键字实参。

    注意

    要计算 FLOPs,您必须使用 PyTorch 1.13 或更高版本。

    注意

    如果模块包含任何延迟子模块,我们将不会计算 FLOPs。

    注意

    目前仅支持输出单个张量的模块。TODO:支持更灵活的模块输出。

torcheval.tools.get_summary_table(module_summary: ModuleSummary, human_readable_nums: bool = True) str

生成一个字符串 summary_table,将 module_summary 中的信息制成表格。

参数:
  • module_summary – 要打印/制成表格的 module_summary

  • human_readable_nums – 如果设置为 False,则使用精确值(例如 1234 vs 1.2 K)

torcheval.tools.prune_module_summary(module_summary: ModuleSummary, *, max_depth: int) None

修剪模块摘要树中深度超过 max_depth 的模块摘要。ModuleSummary 对象将在原位进行修剪。

参数:
  • module_summary – 要修剪的根模块摘要。

  • max_depth – 要保留的模块摘要的最大深度。

Raises:

ValueError – 如果 max_depth 是小于 1 的整数

文档

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

查看文档

教程

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

查看教程

资源

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

查看资源