Windows 机器学习

使用 Windows ML(高性能的可靠 API,用于在 Windows 设备上部署硬件加速的 ML 推理)在 Windows 应用中实现机器学习。

Windows ML 图

概述

Windows ML 内置于 Windows 10 和 Windows Server 2019 的最新版本中,也可作为 NuGet 包提供到更低的操作系统版本 Windows 8.1。 Windows ML 为开发人员提供以下优势:

  • 使开发变得更轻松: 使用最新版 Windows 10 和 Windows Server 2019 中内置的 Windows ML,只需 Visual Studio 以及连同 Windows 应用程序一起分发的已训练 ONNX 模型即可进行开发。 此外,如果你需要将基于 AI 的功能提供到较低版本的 Windows(低至 8.1),Windows ML 也可作为随应用程序一起分发的 NuGet 包提供。

  • 广泛的硬件支持: 使用 Windows ML 可以一次性编写 ML 工作负荷,并自动为不同的硬件供应商和芯片类型(例如 CPU、GPU 和 AI 加速器)提供高度优化的性能。 此外,Windows ML 保证各种受支持硬件的行为保持一致。

  • 低延迟、实时结果: 可以使用 Windows 设备的处理能力来评估 ML 模型,以实现对图像和视频等大量数据的本地实时分析。 可以快速高效地提供结果用于游戏引擎等性能密集型工作负荷,或搜索索引等后台任务。

  • 提高灵活性: 在 Windows 设备本地评估 ML 模型的选项可让你解决更广泛的方案。 例如,可以在设备处于脱机状态或者连接间歇性中断时运行 ML 模型的评估。 此外,还可以让你解决因隐私或数据主权问题而无法将所有数据发送到云的情景。

  • 降低运营成本: 在云中训练机器 ML,然后在 Windows 设备本地评估这些模型可以极大地节省带宽成本(只需将持续改善 ML 模型时可能会需要的极少量数据发送到云)。 此外,在服务器方案中部署 ML 模型时,开发人员可以利用 Windows ML 硬件加速来加快为模型提供服务的速度,减少处理工作负荷所需的计算机数量。

机器学习模型

机器学习模型是一个文件,在经过训练后可以识别特定类型的模式。 你可以用一组数据训练模型,为它提供一种算法,模型利用该算法学习这些数据并进行推理。

对模型进行训练后,可以使用它根据之前未见过的数据进行推理,并对这些数据进行预测。 例如,假设你要构建一个应用程序,该应用程序可以根据用户的面部表情识别用户的情感。 可以为模型提供具有特定情感标记的面部图像,对模型进行训练,然后即可在能够识别任何用户情感的应用程序中使用该模型。 有关此类应用程序的示例,请参阅 Emoji8 示例,或查看什么是机器学习模型了解详细信息。

Windows 机器学习对其模型使用开放神经网络交换 (ONNX) 格式。 可以下载预先训练的模型,也可以训练自己的模型。 有关详细信息,请参阅获取适用于 Windows ML 的 ONNX 模型

入门

要详细了解用于将 Windows 机器学习融入应用的各种方式,请查看入门页面

想要使用 Windows 机器学习创建你的第一个应用程序? 查看 WinML 教程,大致了解用于训练模型的各种方法并将其合并到 WinML 应用程序中。

常见问题解答

想要详细了解机器学习解决方案和选项? 有关可用选项的完整概述,请参阅比较 AI 解决方案,或通过 WinML 常见问题解答了解详细信息。

备注

使用以下资源可获取有关 Windows ML 的帮助:

  • 若要提出或回答有关 Windows ML 的技术问题,请在 Stack Overflow 上使用 windows-machine-learning 标记。
  • 若要报告 bug,请在 GitHub 上提交问题。