使用 Windows Machine Learning 对应用进行性能分析

性能分析工具旨在帮助开发者和人工智能工程师诊断进程、不同执行提供程序上的 ONNX 模型以及 Windows ML 事件的 CPU、GPU 和 NPU 资源使用情况。

在本文中,您将了解如何启动性能分析,以及如何检查资源使用情况视图和事件视图。

先决条件

在应用启动时进行分析

在此模式下,性能分析工具会分析下一个启动并发送 Windows ML 事件的应用。此选项非常适合测试“运行一次”型的应用。在这种情况下,您启动性能分析,然后运行应用,资源使用情况便会开始显示。

Screenshot that shows how to start by the next session

该工具会开始对新启动的应用进行分析。这意味着对于 Python 笔记本(notebook),如果内核已经在运行,您需要重启内核才能开始对其进行分析。仅启动一个新的笔记本不会自动开始性能分析。

重要

要接收 Windows ML 事件,该工具需要以管理员模式运行。如果 VS Code 未以管理员模式启动,系统会弹出通知,引导您重启 VS Code。您需要关闭所有其他 VS Code 实例,才能成功以管理员模式重启。 显示以管理员模式重启 VS Code 通知截图

对正在运行的应用进行分析

在此模式下,性能分析工具会开始对已在运行的应用进行分析。您可以根据以下标准选择进程:

  • 进程 ID:例如 12345
  • 进程名称:通常是不带 .exe 的应用名称。将分析第一个匹配项。
  • 进程路径:例如 c:\Users\xxx\Inference.Service.Agent.exe。将分析第一个匹配项。

此选项非常适合分析已经运行且无法为了进行分析而重启的应用。

Screenshot that shows how to start by process id or name

对 ONNX 模型进行分析

在此模式下,性能分析工具会在给定的持续时间内,对目标执行提供程序 (EP) 或设备策略上的 ONNX 模型文件进行分析。您可以在其运行时查看资源使用情况。

此选项非常适合在不同的 EP 或设备策略上分析 ONNX 模型。

Screenshot that shows how to start by model file

分析完成后,系统会弹出通知,引导您打开或保存报告。

Screenshot that shows the succeeded notification

该报告包含有关 ONNX 模型的详细分析统计数据和结果。

Screenshot that shows the report data

资源使用情况视图

在主窗口中,顶部的图表显示了 CPU、GPU、NPU 和内存的使用情况。使用情况每秒更新一次,并保留 10 分钟的历史数据。您可以使用右上角的工具通过放大、缩小和平移来浏览时间线。

Screenshot that shows the resource usages view

注意

此功能使用性能计数器。为获得更高的精度,您也可以尝试 Windows Performance Recorder

Windows ML 事件视图

在主窗口中,底部的图表显示 Windows ML 事件。其时间线与资源使用情况视图同步,因此您可以轻松确定在发生特定事件时资源是如何被使用的。

重要

要接收 Windows ML 事件,该工具需要以管理员模式运行。如果 VS Code 未以管理员模式启动,系统会弹出通知,引导您重启 VS Code。您需要关闭所有其他 VS Code 实例,才能成功以管理员模式重启。 显示以管理员模式重启 VS Code 通知截图

目前,我们仅显示以下类型的事件:

  • 确保执行提供程序就绪 (Ensure ExecutionProvider Ready):当 Windows ML 准备 EP 时
  • 会话创建 (Session Creation):当创建会话时
  • 推理 (Inference):当模型在会话上进行推理时

Screenshot that shows the Windows ML events view

您学到了什么

在本文中,您学习了如何

  • 以不同方式启动性能分析
  • 检查资源使用情况视图
  • 检查 Windows ML 事件视图

另请参阅

© . This site is unofficial and not affiliated with Microsoft.