Release notes

This page records updates to Windows ML in the latest builds of the Windows 10 SDK and NuGet Package.

Windows ML NuGet Package - Version 1.9

Windows ML NuGet Package - Version 1.8

  • Download NuGet here.
  • Built on ONNX Runtime 1.8.
  • New native WinML API, SetIntraOpThreadSpinning. This API is used to toggle IntraOp thread spin behavior. When enabled, and when there is no current workload, IntraOp threads will continue to spin for some additional time as it waits for additional work to complete. This can result in better performance for the current workload, but may impact performance of other unrelated workloads. This toggle is enabled by default.

Windows ML NuGet Package - Version 1.7

  • Download NuGet here
  • Built on ONNX Runtime 1.7
  • .NET5 support - will work with .NET5 Standard 2.0 Projections.
  • Image descriptors expose NominalPixelRange properties
  • Native support added for additional pixel ranges [0..1] and [-1..1] in image models.
  • A new property is added to the ImageFeatureDescriptor runtimeclass to expose the ImageNominalPixelRange property in ImageFeatureDescriptor. Other similar properties exposed are the image’s BitmapPixelFormat and BitmapAlphaMode.
  • Bug fixes and performance improvements.
  • DirectML PIX markers to Redist added to enable profiling graph at operator level.
  • Fixes applied to ensure the package correctly installs on C# UWP projects in Visual Studio.

Windows ML NuGet Package - Version 1.6

  • Download NuGet here
  • Built on ONNX Runtime 1.6
  • Support for UWP applications targeting Windows Store deployment for both CPU and GPU.
  • WindowsAI Redist now includes a statically linked C-Runtime package for additional deployment options.
  • Minor API Improvements: Users are now able to bind Iterable as inputs and outputs, and able to create Tensor* via multiple buffers.

Windows ML NuGet Package - Version 1.5

  • Support for UWP applications targeting Windows Store deployment (CPU only).
  • Support for .NET and .NET framework applications.
  • Support for RUST Developers - sample and documentation available
  • New APIs to for additional performance control:
    • IntraopNumThreads: Provides an ability to change the number of threads used in the threadpool for Intra Operator Execution for CPU operators through LearningModelSessionOptions.
    • [SetNamedDimensionOverrides]((/native-apis/SetNamedDimensionOverrides.md): Provides the ability to override named input dimensions to concrete values through LearningModelSessionOptions in order to achieve better runtime performance.
  • Support for additional ONNX format image type denotations – Gray8, normalized [0..1] and normalized [-1..1].
  • Reduced package size by separating debug symbols into separate distribution package.

Windows ML NuGet Package – Version 1.4

Windows ML NuGet Package - Version 1.3

  • Download NuGet here
  • 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:

Tooling:

  • 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:

Build 18829

Build 18290

  • 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)

Known issues

  • 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.

Build 17723

Note

Use the following resources for help with Windows ML:

  • To ask or answer technical questions about Windows ML, please use the windows-machine-learning tag on Stack Overflow.
  • To report a bug, please file an issue on our GitHub.