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 仪表板,请执行以下步骤:
- 在命令行中,克隆存储库:
git clone https://github.com/Microsoft/Windows-Machine-Learning
- 在存储库中,输入以下内容以访问正确的文件夹:
cd Tools/WinMLDashboard
- 运行
git submodule update --init --recursive
以更新 Netron。 - 运行 yarn 以下载依赖项。
- 然后,运行
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 仪表板的调试功能来深入了解原始数据如何流经模型中的运算符。 还可以选择将此数据可视化,以便进行计算机视觉推理。
若要调试模型,请执行以下步骤:
- 导航到
Edit
选项卡,然后选择要为其捕获中间数据的运算符。 在左侧面板中,将有一个Debug
菜单,你可以在其中选择要捕获的中间数据的格式。 选项当前为 文本 和 PNG。 文本 将输出包含此运算符生成的维度、数据类型和原始张量数据的文本文件。 PNG 会将此数据格式化为图像文件,这对于计算机视觉应用程序非常有用。
- 导航到
Run
选项卡,选择要调试的模型。 -
Capture
对于该字段,请从下拉列表中选择Debug
。 - 选择要在执行时提供给模型的输入图像或 csv。 请注意,捕获调试数据时,这是必需的。
- 选择要导出调试数据的输出文件夹。
- 选择
Run
。 执行完成后,您可以导航到所选文件夹以查看调试信息。
还可以使用以下选项之一在 Electron 应用中打开调试视图:
- 使用
flag --dev-tools
运行; -
View -> Toggle Dev Tools
或在应用程序菜单中选择 - 或按
Ctrl + Shift + I
。