This page records updates to Windows ML in the latest builds of the Windows 10 SDK.
Windows ML NuGet Package - May 2020 version
- Built on ONNX Runtime 1.3
- Corresponds to MachineLearningContract v3
- Support for ONNX 1.6 and opset 11
- CPU execution supported down to Windows 8.1; GPU execution supported down to Windows 10 version 1709
- Certified known tested paths are Desktop Applications using C++. Store applications and the Windows Application Certification Kit are not yet supported.
Build 19041 (Windows 10, version 2004)
Support for ONNX 1.4 and opset 9 (CPU and GPU)
API Surface additions:
- CloseModelOnSessionCreation: new LearningModelSessionOptions parameter to configure to reduce working memory.
- WinMLTools converters supports new ONNX versions and opset
- Optimizations to WinMLRunner exposing new performance metrics
Build 18362 (Windows 10, version 1903)
All features and updates from previous flighted builds:
- ONNX 1.3 support
- Support for model size reduction via post-training weight quantization. You can use the latest version of WinMLTools to pack the weights of your model down to int8.
- Removal of mlgen from the Windows 10 SDK—use one of the following Visual Studio extensions instead:
- mlgen has been removed from the Windows 10 SDK. Instead, install one of the following Visual Studio extensions depending on your version:
- Min supported ONNX version = 1.2.2 (opset 7)
- Max supported ONNX version = 1.3 (opset 8)
- Supports model size reduction via post-training weight quantization. You can use the latest version of WinMLTools to pack the weights of your model down to int8.
Build 17763 (Windows 10, version 1809)
- First official release of Windows Machine Learning.
- Requires ONNX v1.2.
- Windows.AI.MachineLearning.Preview namespace deprecated in favor of Windows.AI.MachineLearning namespace.
- For models containing sequences, MLGen generates an IList<Dictionary<key, value>> instead of the proper IList<IDictionary<key, value>>, leading to empty results. To fix this issue, simply replace the automatically generated code with the appropriate IList<IDictionary<key, value>> instead.