此页在 Windows SDK 和 NuGet 包的最新版本中记录对 Windows ML 的更新。
注释
有新的 Windows ML 接口,它们位于通过 NuGet 提供的 Microsoft.Windows.AI.MachineLearning
命名空间中,取代了2018年发布的此版本的 Windows ML。
Windows ML NuGet 包 - 版本 1.9
- 在此处下载 NuGet。
- 基于 ONNX Runtime 1.9 构建。
- WinML - DLL 依赖项修复支持 Windows 8.1 上的学习模型。
Windows ML NuGet 包 - 版本 1.8
- 在此处下载 NuGet。
- 基于 ONNX Runtime 1.8 构建。
- 新的原生 WinML API
SetIntraOpThreadSpinning
。 此 API 用于切换 IntraOp 线程旋转行为。 启用后,如果没有当前工作负载,IntraOp线程将在等待其他工作完成时继续空转一段额外的时间。 这可能会导致当前工作负荷的性能更好,但可能会影响其他不相关的工作负荷的性能。 默认情况下,此切换处于启用状态。
Windows ML NuGet 包 - 版本 1.7
- 在此处下载 NuGet
- 基于 ONNX Runtime 1.7 构建
- .NET5 支持 - 将与 .NET5 标准 2.0 投影一起使用。
- 图像描述符公开 NominalPixelRange 属性
- 在图像模型中添加了对额外像素范围 [0..1] 和 [-1..1] 的原生支持。
- 将新属性添加到 ImageFeatureDescriptor 运行时类,以公开 ImageFeatureDescriptor 中的 ImageNominalPixelRange 属性。 公开的其他类似属性是图像的 BitmapPixelFormat 和 BitmapAlphaMode。
- Bug 修复和性能改进。
- 向 Redist 添加了 DirectML PIX 标记,以在操作员级别启用分析图表。
- 已应用修补程序,以确保包在 Visual Studio 中的 C# UWP 项目中正确安装。
Windows ML NuGet 包 - 版本 1.6
- 在此处下载 NuGet
- 基于 ONNX Runtime 1.6 构建
- 对于 CPU 和 GPU,支持面向 Windows 应用商店部署的 UWP 应用程序。
- WindowsAI Redist 现在包含静态链接的 C 运行时包,用于其他部署选项。
- 次要 API 改进:用户现在可以将迭代绑定为输入和输出,并且能够通过多个缓冲区创建 Tensor* 。
Windows ML NuGet 包 - 版本 1.5
- 支持面向 Windows 应用商店部署的 UWP 应用程序(仅限 CPU)。
- 支持 .NET 和 .NET Framework 应用程序。
- 对 RUST 开发人员的支持 - 示例和文档可用
- 用于其他性能控制的新 API:
- IntraopNumThreads:使能够更改线程池中用于通过 LearningModelSessionOptions 对 CPU 运算符进行运算符内执行的线程数。
- [SetNamedDimensionOverrides]((/native-apis/SetNamedDimensionOverrides.md):通过 LearningModelSessionOptions 将命名输入维度重写到具体值,以实现更好的运行时性能。
- 支持其他 ONNX 格式图像类型注释 - 灰度 8,规范化 [0..1] 和规范化 [-1..1]。
- 通过将调试符号分隔为单独的分发包来减小包的大小。
Windows ML NuGet 包 – 版本 1.4
- 在此处下载 NuGet
- 基于 ONNX Runtime 1.4 构建
- 支持 ONNX 1.6 和 opset 11。
- 常规可用性和性能改进。
Windows ML NuGet 包 - 版本 1.3
- 在此处下载 NuGet
- 基于 ONNX Runtime 1.3 构建
- 对应于 MachineLearningContract v3。
- 支持 ONNX 1.6 和 opset 11。
- CPU 执行支持到 Windows 8.1;GPU 执行支持到 Windows 10 版本 1709。
- 经过认证的已知测试路径是使用 C++ 的桌面应用程序。 尚不支持应用商店应用程序和 Windows 应用程序认证工具包。
版本号 19041(Windows 10,版本 2004)
支持 ONNX 1.4 和 opset 9 (CPU 和 GPU)
API Surface 新增内容:
- CloseModelOnSessionCreation:新配置 LearningModelSessionOptions 参数以减少工作内存。
加工工具:
- WinMLTools 转换器支持新的 ONNX 版本和 opset
- WinMLRunner 的优化改进引入新的性能指标
内部版本 18362(Windows 10 版本 1903)
以前的外部测试版的所有功能和更新:
- ONNX 1.3 支持
- 支持通过后期训练权重量化来缩减模型大小。 可以使用最新版本的 WinMLTools 将模型的权重打包为 int8。
- 从 Windows 10 SDK 中删除 mlgen - 请改用以下 Visual Studio 扩展之一:
- Visual Studio 2017: Windows 机器学习代码生成器 VS 2017
- Visual Studio 2019: Windows 机器学习代码生成器
内部版本 18829
- mlgen 已从 Windows 10 SDK 中删除。 请根据版本安装以下 Visual Studio 扩展之一:
- Visual Studio 2017: Windows 机器学习代码生成器 VS 2017
- Visual Studio 2019: Windows 机器学习代码生成器
内部版本 18290
- 最低支持的 ONNX 版本为 1.2.2 (opset 7)
- 支持的最大 ONNX 版本 = 1.3 (opset 8)
- 支持通过训练后对权重进行量化来减少模型大小。 可以使用最新版本的 WinMLTools 将模型的权重打包为 int8。
内部版本 17763(Windows 10 版本 1809)
- Windows 机器学习的第一个正式版本。
- 需要 ONNX v1.2。
- Windows.AI.MachineLearning.Preview 命名空间 已弃用,改为 Windows.AI.MachineLearning 命名空间。
已知问题
- 对于包含序列的模型,MLGen 会生成 IList<Dictionary<key, value>> 而不是正确的 IList<IDictionary<key, value>> ,从而导致空结果。 若要解决此问题,只需将自动生成的代码替换为相应的 IList<IDictionary<键( 值>> )。
内部版本 17723
- 需要 ONNX v1.2。
- 支持使用基于 GPU 的模型推理的 F16 数据类型,以提高 性能和 减少模型占用空间。 可以使用 WinMLTools 将模型从 FP32 转换为 FP16。
- 允许桌面应用通过 WinRT/C++使用 Windows.AI.MachineLearning API。
注释
使用以下资源获取有关 Windows ML 的帮助:
- 若要提出或回答有关 Windows ML 的技术问题,请在 Stack Overflow 上使用 windows-machine-learning 标记。
- 若要报告 bug,请在 GitHub 上提交问题。