WinML 仪表板

WinML 仪表板是一种用于查看、编辑、转换和验证 Windows ML 推理引擎的机器学习模型的工具。 该引擎内置于 Windows 10 中,使用 CPU 和 GPU 的硬件优化在本地评估训练的模型,以实现高性能推理。

获取工具

可以 在此处下载 WinML 仪表板,也可以按照以下说明从源生成应用。

从源生成

从源生成应用时,需要以下各项:

要求 版本 下载 要检查的命令
Python3 3.4+ 这里 python --version
纱线 最新 这里 yarn --version
Node.js 最新 这里 node --version
Git 最新 这里 git --version
MSBuild 最新 这里 msbuild -version
Nuget 最新 这里 nuget help

六个先决条件都必须添加到环境路径。 请注意,MSBuild 和 Nuget 将包含在 Visual Studio 2017 安装中。

构建和运行步骤

若要运行 WinML 仪表板,请执行以下步骤:

  1. 在命令行中,克隆存储库: git clone https://github.com/Microsoft/Windows-Machine-Learning
  2. 在存储库中,输入以下内容以访问正确的文件夹: cd Tools/WinMLDashboard
  3. 运行 git submodule update --init --recursive 以更新 Netron。
  4. 运行 yarn 以下载依赖项。
  5. 然后,运行 yarn electron-prod 以生成并启动桌面应用程序,该应用程序将启动仪表板。

可以在 package.json看到所有可用的仪表板命令。

查看和编辑模型

仪表板使用 Netron 查看机器学习模型。 尽管 WinML 使用 ONNX 格式,但 Netron 查看器支持查看多种不同的框架格式。

很多时候,开发人员可能需要更新某些模型元数据或修改模型输入和输出节点。 此工具支持修改 ONNX 模型的模型属性、元数据和输入/输出节点。

选择位于中央顶部的 Edit 选项卡(如下面的截图所示)将转到查看和编辑面板。 面板中的左窗格允许编辑模型输入和输出节点,右窗格允许编辑模型属性。 中心部分显示图形。 目前,编辑支持仅限于模型输入/输出节点(而不是内部节点)、模型属性和模型元数据。

按钮 Edit/View“编辑”模式 切换到 “仅查看”模式,反之亦然。 仅查看模式 不允许编辑并启用 Netron 查看器的本机功能,例如能够查看每个节点的详细信息。

查看和编辑模型

转换模型

如今,有几种不同的框架可用于训练和评估机器学习模型,这使得应用开发人员难以将模型引入其产品。 Windows ML 使用 ONNX 机器学习模型格式 ,该格式允许从一种框架格式转换为另一种框架格式,并且此仪表板可以轻松地将模型从不同的框架转换为 ONNX。

“转换”选项卡支持从以下源框架转换为 ONNX:

  • Apple Core 机器学习
  • TensorFlow (可转换为 ONNX 的模型子集)
  • Keras
  • Scikit-learn (可转换为 ONNX 的模型子集)
  • Xgboost
  • LibSVM

该工具还允许通过内置的 Windows ML 推理引擎,使用综合数据(默认)或 CPU 或 GPU 上的实际输入数据来评估模型,以验证转换后的模型。

转换模型

验证模型

有了 ONNX 模型后,可以验证转换是否已成功进行,以及是否可以在 Windows ML 推理引擎中评估模型。 这是通过 Run 标签进行的(参见下方截图)。

可以选择各种选项,例如 CPU(默认)与 GPU、实际输入与综合输入(默认值)等。模型评估的结果显示在底部的控制台窗口中。

请注意,模型验证功能仅在 Windows 10 2018 年 10 月更新 或更高版本的 Windows 10 上可用,因为该工具依赖于内置的 Windows ML 推理引擎。

验证模型

调试推理

可以利用 WinML 仪表板的调试功能来深入了解原始数据如何流经模型中的运算符。 还可以选择将此数据可视化,以便进行计算机视觉推理。

若要调试模型,请执行以下步骤:

  1. 导航到 Edit 选项卡,然后选择要为其捕获中间数据的运算符。 在左侧面板中,将有一个 Debug 菜单,你可以在其中选择要捕获的中间数据的格式。 选项当前为 文本PNG文本 将输出包含此运算符生成的维度、数据类型和原始张量数据的文本文件。 PNG 会将此数据格式化为图像文件,这对于计算机视觉应用程序非常有用。

调试模型

  1. 导航到 Run 选项卡,选择要调试的模型。
  2. Capture对于该字段,请从下拉列表中选择Debug
  3. 选择要在执行时提供给模型的输入图像或 csv。 请注意,捕获调试数据时,这是必需的。
  4. 选择要导出调试数据的输出文件夹。
  5. 选择 Run。 执行完成后,您可以导航到所选文件夹以查看调试信息。

运行模型

还可以使用以下选项之一在 Electron 应用中打开调试视图:

  • 使用 flag --dev-tools 运行;
  • View -> Toggle Dev Tools或在应用程序菜单中选择
  • 或按 Ctrl + Shift + I