Windows Machine Learning

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

Windows ML graphic


Windows ML allows you to use trained machine learning models in your Windows apps (C#, C++, and JavaScript). 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

The following video gives a brief overview of Windows Machine Learning.


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.

Other machine learning solutions from Microsoft

Microsoft offers a variety of machine learning solutions to suit your needs. These solutions run in the cloud, on-premises, and locally on the device. See What are the machine learning product options from Microsoft? for more information.


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.
  • To request a feature, please head over to Windows Developer Feedback.