WinML 仪表板
WinML 仪表板是一种工具,用于查看、编辑、转换和验证 Windows ML 推理引擎的机器学习模型。 该引擎内置于 Windows 10 中,并使用 CPU 和 GPU 硬件优化在 Windows 设备的本地评估经过训练的模型,以实现高性能推理。
获取工具
可以在此处下载 WinML 仪表板,也可按照以下说明从源构建应用。
从源构建
从源构建应用时,需要以下各项:
要求 | 版本 | 下载 | 要检查的命令 |
---|---|---|---|
Python3 | 3.4+ | 此处 | python --version |
Yarn | 最新 | 此处 | yarn --version |
Node.js | 最新 | 此处 | node --version |
Git | 最新 | 此处 | git --version |
MSBuild | 最新 | 此处 | msbuild -version |
Nuget | 最新 | 此处 | nuget help |
六个先决条件都必须添加到环境路径。 请注意,Visual Studio 2017 安装中将包含 MSBuild 和 Nuget。
构建和运行步骤
要运行 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 ML
- TensorFlow(可转换为 ONNX 的模型子集)
- Keras
- Scikit-learn(可转换为 ONNX 的模型子集)
- Xgboost
- LibSVM
借助该工具,还可使用综合数据(默认)或 CPU/GPU 上的真实输入数据通过内置的 Windows ML 推理引擎评估模型,从而验证转换后的模型。
验证模型
拥有 ONNX 模型后,即可验证转换是否成功发生,以及是否可以在 Windows ML 推理引擎中评估该模型。 这可使用 Run
选项卡完成(请参阅下面的截图)。
可以选择各种选项,例如 CPU(默认)与 GPU、真实输入与综合输入(默认)等。模型评估的结果显示在底部的控制台窗口中。
请注意,仅 Windows 10 2018 年 10 月更新或更高版本的 Windows 10 提供模型验证功能,因为该工具依赖于内置的 Windows ML 推理引擎。
调试推理
可以利用 WinML 仪表板的调试功能来详细了解原始数据如何流经模型中的运算符。 也可选择将此类数据可视化,以便进行计算机视觉推理。
若要调试模型,请按照以下步骤进行操作:
- 导航到
Edit
选项卡并选择要为其捕获中间数据的运算符。 左侧面板上有一个Debug
菜单,你可在其中选择要捕获的中间数据的格式。 选项目前为“文本”和“PNG”。 text 将输出文本文件,其中包含此运算符生成的维度、数据类型和原始张量数据。 PNG 会将此类数据格式化为图像文件,这对计算机视觉应用程序很有帮助。
- 导航到
Run
选项卡并选择要调试的模型。 - 对于
Capture
字段,从下拉列表中选择Debug
。 - 选择要在执行时提供给模型的输入图像或 csv。 请注意,这在捕获调试数据时是必需的。
- 选择一个用于导出调试数据的输出文件夹。
- 选择
Run
。 执行完成后,可以导航到此选定文件夹,以查看调试捕获。
也可以使用以下某个选项在 Electron 应用中打开调试视图:
- 使用
flag --dev-tools
运行; - 在应用程序菜单中选择
View -> Toggle Dev Tools
; - 按
Ctrl + Shift + I
。