Windows Machine Learning

With Windows ML, you can integrate trained machine learning models in your Windows apps.

Windows ML graphic

Overview

Windows ML allows you to use trained machine learning models in your Windows apps (C# and C++). The Windows ML inference engine evaluates trained models locally on Windows devices, removing concerns of connectivity, bandwidth, and data privacy. Hardware optimizations for CPU and GPU additionally enable high performance for quick evaluation results.

For the latest Windows ML features and fixes, see our release notes.

windows ml layers

Develop

windows ml developer flow

To build apps with Windows ML, you'll:

  1. Get a trained ONNX model, or convert models trained in other ML frameworks into ONNX with WinMLTools.
  2. Add the ONNX model file to your app.
  3. Integrate the model into your app's code.
  4. Run on any Windows device!

To see Windows ML in action, you can try out the sample apps in the Windows-Machine-Learning repo on Github. To learn more about using Windows ML, take a look through our documentation.

Note

Windows ML is a pre-released product which may be substantially modified before it’s commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

To try out the pre-released Windows ML, you'll need the Windows 10 Insider Preview (Build 17728 or higher) and the Windows 10 SDK (Build 17723 or higher).

Get Help

Technical Questions

To ask or answer technical questions about Windows ML, please use Stack Overflow.

Bugs

To report a bug, please file an issue on our GitHub.

Feature Requests

To request a feature, please head over to Windows Developer Feedback.