Windows-Machine-Learning 项目介绍
Windows Machine Learning 是一个高性能的机器学习推理 API,其强大性能来源于 ONNX Runtime 和 DirectML。该项目适用于高性能、低延迟的应用程序,如框架、游戏和其他实时应用,以及使用高级语言构建的应用程序。
Windows ML 项目的主要内容
该项目的代码库包含了 Windows Machine Learning 的一些样本和工具,演示如何将机器学习应用场景集成到 Windows 应用程序中。下面是项目的主要部分:
- 开始使用 Windows ML
- 模型样本
- 高级场景样本
- 开发者工具
- 用户反馈
- 外部链接
- 贡献指南
开始使用 Windows ML
要开始使用 Windows ML,开发者需要具备 Visual Studio 2017 版本 15.7.4 或更新版本。Windows ML 提供了通过 Windows SDK 和可重新分发的 NuGet 包进行机器学习推理的两种方式。下表中展示了 In-Box 和 NuGet 包的可用性、分发方式、语言支持、服务以及前向兼容性的特点:
In-Box | NuGet | |
---|---|---|
可用性 | Windows 10 - Build 17763 (RS5) 或更新版本 | Windows 8.1 或更新版本 |
Windows SDK | Windows SDK - Build 17763 (RS5) 或更新版本 | Windows SDK - Build 17763 (RS5) 或更新版本 |
分发方式 | 内置于 Windows | 作为应用程序的一部分打包和分发 |
维护 | 由 Microsoft 主导 | 由开发者驱动 |
前向兼容性 | 自动支持新功能 | 开发者需要手动更新包 |
模型样本
项目提供了多种用于不同场景的模型样本,包括:
-
图像分类:算法对图像进行分析,并从一组预定义的标签或类别中分配标签。支持的模型包括 AlexNet、CaffeNet、DenseNet、SqueezeNet 等。
-
风格迁移:一种计算机视觉技术,可以重新组合图像的内容为另一种风格。
高级场景样本
项目中提供了一些高级样本,展示如何使用 Windows ML 进行各种绑定和评估功能,包括:
- 自定义张量化
- 自定义操作符(CPU)
- 设备适配器选择
- 使用 Azure Custom Vision 和 Windows ML 进行自定义视觉以及 PyTorch 图像分类的教程
开发者工具
为使开发者更好地使用 Windows ML,项目提供了一系列开发者工具,包括:
- 模型转换:将模型转换为 ONNX 格式。
- 模型优化:通过图优化和量化来优化模型。
- 模型验证:例如使用 WinMLRunner 工具验证模型。
- 模型集成:使用 mlgen 工具在 UWP 应用中使用 WinML API。
用户反馈
用户可以在 GitHub 上提交问题,或在 Stack Overflow 上提问。此外,用户还可以在 Windows Developer Feedback 中对热门功能请求进行投票或提交自己的请求。
外部链接和贡献指南
Windows-Machine-Learning 项目鼓励开发者参与贡献。该项目采用微软开源行为准则(Microsoft Open Source Code of Conduct)。开发者可以通过提交 pull request 来修复问题或改进样本。
Windows Machine Learning 是一个帮助开发者将机器学习集成到 Windows 应用程序的重要工具,通过提供高性能、低延迟的推理能力,让应用程序更具智能化和响应能力。