• 文档 >
  • ExecuTorch 中的内存规划检查
快捷方式

ExecuTorch 中的内存规划检查

在 ExecuTorch 的内存规划阶段之后,内存分配信息存储在ExportedProgram的节点上。在这里,我们介绍了一个旨在检查内存分配并可视化所有活动张量对象的工具。

用法

用户应该在调用to_executorch()之后添加此代码,它会将存储在节点上的内存分配信息写入文件路径“memory_profile.json”。该文件与 Chrome 追踪查看器兼容;有关解释结果的更多信息,请参见下文。

from executorch.util.activation_memory_profiler import generate_memory_trace
generate_memory_trace(
    executorch_program_manager=prog,
    chrome_trace_filename="memory_profile.json",
    enable_memory_offsets=True,
)

Chrome 追踪

打开一个 Chrome 浏览器选项卡,然后导航到chrome://tracing/。上传生成的.json 文件以进行查看。示例为MobileNet V2 模型

Memory planning Chrome trace visualization

请注意,由于我们正在重新利用 Chrome 追踪工具,因此在此上下文中轴的含义可能与您之前遇到的其他 Chrome 追踪图不同

  • 水平轴尽管用秒 (s) 标记,但实际上表示兆字节 (MB)。

  • 垂直轴具有 2 层层次结构。第一层“pid”表示内存空间。对于 CPU,所有内容都分配在一个“空间”上;其他后端可能有多个。在第二层中,每一行表示一个时间步长。由于节点将按顺序执行,因此每个节点表示一个时间步长,因此您将拥有与行数一样多的节点。

进一步阅读

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源