← Open Source
microsoft

Windows-Machine-Learning

Samples and Tools for Windows ML.

InfrastructureInference service optimizationC++
Open on GitHub
Momentum
+0stars in 24 hours0.0%
1.12k
Stars
442
Forks
+0
This week
45
Contributors
Created 2018-03-01 · Updated 2026-10-08 · #11496 today
Top developers

microsoft/Windows-Machine-Learning is ranked 11,496 with 1,124 stars.

Same-category comparison

microsoft/Windows-Machine-Learning is ranked 11,496 among these 8 peers; NVIDIA/nvidia-container-runtime is ranked 11,485.

Same-category comparison
NameRankMetrics
microsoft/onnxruntime-genai11,448
Language:
C++
Stars:
1,137
Forks:
368
Description:
Generative AI with ONNX Runtime.
PriesiaMioShirakana/DragonianVoice11,481
Language:
C
Stars:
1,129
Forks:
135
Dobiasd/frugally-deep11,483
Language:
C++
Stars:
1,128
Forks:
238
Description:
A lightweight header-only library for using Keras (TensorFlow) models in C++.
NVIDIA/nvidia-container-runtime11,485
Stars:
1,128
Forks:
164
Description:
NVIDIA container runtime.
ryfeus/lambda-packs11,529
Language:
Python
Stars:
1,117
Forks:
236
Description:
Precompiled packages for AWS Lambda.
mit-han-lab/gan-compression11,545
Language:
Python
Stars:
1,114
Forks:
149
Description:
[CVPR 2020] GAN Compression: Efficient Architectures for Interactive Conditional GANs.
PaddlePaddle/Paddle.js11,568
Language:
JavaScript
Stars:
1,107
Forks:
155
Description:
Paddle.js is a web project for Baidu PaddlePaddle, which is an open source deep learning framework running in the browser. Paddle.js can either load a pre-trained model, or transforming a model from paddle-hub with model transforming tools provided by Paddle.js. It could run in every browser with WebGL/WebGPU/WebAssembly supported. It could also run in Baidu Smartprogram and WX miniprogram.
google-ai-edge/litert-torch11,572
Language:
Jupyter Notebook
Stars:
1,107
Forks:
189
Description:
Support PyTorch model conversion with LiteRT.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageC++
CategoryInfrastructure
SubcategoryInference service optimization
Stars1,124
Forks442
Contributors45
Created date2018-03-01
Updated date2026-10-08
Stars in 1 day0
Stars in 7 days0
Rank11,496
Previous rank11,442
Rank change-54
7-day stars rank13,036
Previous 7-day stars rank13,053
7-day stars rank change17
Total stars rank10,195
Previous total stars rank10,177
Total stars rank change-18
CountryUSA
README summary

Windows Machine Learning ⚠️ **IMPORTANT** For the latest documentation about Windows Machine Learning, see What is Windows ML. That documentation describes APIs that are in the **Microsoft. MachineLearning** namespace, which ships in the Windows App SDK. Those APIs supersede the ones documented here, which are in the **Windows. MachineLearning** namespace, and were shipped in 2018. Windows Machine Learning is a high-performance machine learning inference API that is powered by ONNX Runtime and DirectML. The Windows ML API is a Windows

Runtime Component and is suitable for high-performance, low-latency applications such as frameworks, games, and other real-time applications as well as applications built with high-level languages. This repo contains Windows Machine Learning samples and tools that demonstrate how to build machine learning powered scenarios into Windows applications. Getting Started with Windows ML Model Samples Advanced Scenario Samples Developer Tools Feedback External Links Contributing For additional information on Windows ML, including step-by-step tutorials and how-to

guides, please visit the Windows ML documentation. 4 or Newer Windows ML offers machine learning inferencing via the inbox Windows SDK as well as a redistributable NuGet package. The table below highlights the availability, distribution, language support, servicing, and forward compatibility aspects of the In-Box and NuGet package for Windows ML. 1 or Newer **NOTE**: Some APIs (ie: VideoFrame) are not available on older OSes. | |Windows SDK| Windows SDK - Build 17763 (RS5) or Newer | Windows SDK - Build 17763 (RS5

) or Newer |Distribution| Built into Windows | Package and distribute as part of your application |Servicing| Microsoft-driven (customers benefit automatically) | Developer-driven |Forward| compatibility Automatically rolls forward with new features | Developer needs to update package manually Learn more here. Model Samples In this section you will find various model samples for a variety of scenarios across the different Windows ML API offerings. **Image Classification** A subdomain of computer vision in which an algorithm looks at an image and assigns it

a tag from a collection of predefined tags or categories that it has been trained on. NET5 - Samples Gallery | | CaffeNet | | ||✔️C# . NET5 - Samples Gallery | | DenseNet | | ||✔️C# . NET5 - Samples Gallery | | EfficientNet | | ||✔️C# . NET5 - Samples Gallery | | GoogleNet | | ||✔️C# . NET5 - Samples Gallery | | InceptionV1 | | ||✔️C# . NET5 - Samples Gallery | | InceptionV2 | | ||✔️C# . NET5 - Samples Gallery | | MNIST | ✔️C++/CX ✔️C# | | | MobileNetV2 | | ||✔️C# . NET5 - Samples Gallery | | RCNN | | ||✔️C# . NET5 - Samples Gallery | | ResNet50 | | ||✔️C# . NET5 - Samples Gallery | | ShuffleNetV1 | | ||✔️C# . NET5 - Samples Gallery | | ShuffleNetV2 | | ||✔️C# . NET5 - Samples Gallery | | SqueezeNet | ✔️C

# ✔️JavaScript | |✔️C++/WinRT ✔️C# . NET5 - Samples Gallery ✔️Rust | | VGG19 | | ||✔️C# . NET5 - Samples Gallery | | VGG19bn | | ||✔️C# . NET5 - Samples Gallery | | ZFNet512 | | ||✔️C# . NET5 - Samples Gallery | **Style Transfer** A computer vision technique that allows us to recompose the content of an image in the style of another. **Custom Operator (CPU)**: A desktop app that defines multiple custom cpu operators. One of these is a debug operator which we invite you to integrate into your own workflow. **Adapter Selection**: A desktop app that demonstrates

how to choose a specific device adapter for running your model. **Plane Identifier**: a UWP app and a WPF app

Frequently asked questions

How many stars and forks are recorded?

microsoft/Windows-Machine-Learning has 1,124 stars and 442 forks.

What is the repository rank?

microsoft/Windows-Machine-Learning is ranked 11,496.

What language and category are recorded?

microsoft/Windows-Machine-Learning has 1,124 stars, uses C++ and belongs to Infrastructure.

Which repository is closest in rank?

microsoft/Windows-Machine-Learning is compared with NVIDIA/nvidia-container-runtime, ranked 11,485 with 1,128 stars.

README

Windows Machine Learning

⚠️ IMPORTANT
For the latest documentation about Windows Machine Learning, see What is Windows ML. That documentation describes APIs that are in the Microsoft.Windows.AI.MachineLearning namespace, which ships in the Windows App SDK. Those APIs supersede the ones documented here, which are in the Windows.AI.MachineLearning namespace, and were shipped in 2018.

Windows Machine Learning is a high-performance machine learning inference API that is powered by ONNX Runtime and DirectML.

The Windows ML API is a Windows Runtime Component and is suitable for high-performance, low-latency applications such as frameworks, games, and other real-time applications as well as applications built with high-level languages.

This repo contains Windows Machine Learning samples and tools that demonstrate how to build machine learning powered scenarios into Windows applications.

For additional information on Windows ML, including step-by-step tutorials and how-to guides, please visit the Windows ML documentation.

Sample/Tool Status
All Samples
WinmlRunner
WinML Dashboard

Getting Started with Windows ML

Prerequisites

Windows ML offers machine learning inferencing via the inbox Windows SDK as well as a redistributable NuGet package. The table below highlights the availability, distribution, language support, servicing, and forward compatibility aspects of the In-Box and NuGet package for Windows ML.

In-Box NuGet
Availability Windows 10 - Build 17763 (RS5) or Newer
For more detailed information about version support, checkout our docs. Windows 8.1 or Newer
NOTE: Some APIs (ie: VideoFrame) are not available on older OSes.
Windows SDK Windows SDK - Build 17763 (RS5) or Newer Windows SDK - Build 17763 (RS5) or Newer
Distribution Built into Windows Package and distribute as part of your application
Servicing Microsoft-driven (customers benefit automatically) Developer-driven
Forward compatibility Automatically rolls forward with new features Developer needs to update package manually

Learn more here.

Model Samples

In this section you will find various model samples for a variety of scenarios across the different Windows ML API offerings.

Image Classification

A subdomain of computer vision in which an algorithm looks at an image and assigns it a tag from a collection of predefined tags or categories that it has been trained on.

| Windows App Type
Distribution | UWP
In-Box | UWP
NuGet | Desktop
In-Box | Desktop
NuGet | |------------|------------------------------------|--------------------------------------|------------------------------------|--------------------------------------| | AlexNet | | ||✔️C# .NET5 - Samples Gallery
| | CaffeNet | | ||✔️C# .NET5 - Samples Gallery
| | DenseNet | | ||✔️C# .NET5 - Samples Gallery
| | EfficientNet | | ||✔️C# .NET5 - Samples Gallery
| | GoogleNet | | ||✔️C# .NET5 - Samples Gallery
| | InceptionV1 | | ||✔️C# .NET5 - Samples Gallery
| | InceptionV2 | | ||✔️C# .NET5 - Samples Gallery
| | MNIST | ✔️C++/CX
✔️C#
| | | MobileNetV2 | | ||✔️C# .NET5 - Samples Gallery
| | RCNN | | ||✔️C# .NET5 - Samples Gallery
| | ResNet50 | | ||✔️C# .NET5 - Samples Gallery
| | ShuffleNetV1 | | ||✔️C# .NET5 - Samples Gallery
| | ShuffleNetV2 | | ||✔️C# .NET5 - Samples Gallery
| | SqueezeNet | ✔️C#
✔️JavaScript
| |✔️C++/WinRT
✔️C# .NET5
✔️C# .NET Core 2
|✔️C++/WinRT
✔️C# .NET5 - Samples Gallery
✔️Rust
| | VGG19 | | ||✔️C# .NET5 - Samples Gallery
| | VGG19bn | | ||✔️C# .NET5 - Samples Gallery
| | ZFNet512 | | ||✔️C# .NET5 - Samples Gallery
|

Style Transfer

A computer vision technique that allows us to recompose the content of an image in the style of another.

| Windows App Type
Distribution | UWP
In-Box | UWP
NuGet | Desktop
In-Box | Desktop
NuGet | |------------|------------------------------------|--------------------------------------|------------------------------------|--------------------------------------| | FNSCandy | ✔️C# - FNS Style Transfer
✔️C# - Real-Time Style Transfer
| |

Advanced Scenario Samples

These advanced samples show how to use various binding and evaluation features in Windows ML:

  • Custom Tensorization: A Windows Console Application (C++/WinRT) that shows how to do custom tensorization.

  • Custom Operator (CPU): A desktop app that defines multiple custom cpu operators. One of these is a debug operator which we invite you to integrate into your own workflow.

  • Adapter Selection: A desktop app that demonstrates how to choose a specific device adapter for running your model.

  • Plane Identifier: a UWP app and a WPF app packaged with the Desktop Bridge, sharing the same model trained using Azure Custom Vision service. For step-by-step instructions for this sample, please see the blog post Upgrade your WinML application to the latest bits.

  • Custom Vision and Windows ML: The tutorial shows how to train a neural network model to classify images of food using Azure Custom Vision service, export the model to ONNX format, and deploy the model in a Windows Machine Learning application running locally on Windows device.

  • ML.NET and Windows ML: This tutorial shows you how to train a neural network model to classify images of food using ML.NET Model Builder, export the model to ONNX format, and deploy the model in a Windows Machine Learning application running locally on a Windows device.

  • PyTorch Data Analysis: The tutorial shows how to solve a classification task with a neural network using the PyTorch library, export the model to ONNX format and deploy the model with the Windows Machine Learning application that can run on any Windows device.

  • PyTorch Image Classification: The tutorial shows how to train an image classification neural network model using PyTorch, export the model to the ONNX format, and deploy it in a Windows Machine Learning application running locally on your Windows device.

  • YoloV4 Object Detection: This tutorial shows how to build a UWP C# app that uses the YOLOv4 model to detect objects in video streams.

Developer Tools

  • Model Conversion

    Windows ML provides inferencing capabilities powered by the ONNX Runtime engine. As such, all models run in Windows ML must be converted to the ONNX Model format. Models built and trained in source frameworks like TensorFlow or PyTorch must be converted to ONNX. Check out the documentation for how to convert to an ONNX model:

  • Model Optimization

    Models may need further optimizations applied post conversion to support advanced features like batching and quantization. Check out the following tools for optimizing your model:

    • WinML Dashboard (Preview): a GUI-based tool for viewing, editing, converting, and validating machine learning models for Windows ML inference engine. This tool can be used to enable free dimensions on models that were built with fixed dimensions. Download Preview Version

    • Graph Optimizations: Graph optimizations are essentially graph-level transformations, ranging from small graph simplifications and node eliminations to more complex node fusions and layout optimizations.

    • Graph Quantization: Quantization in ONNX Runtime refers to 8 bit linear quantization of an ONNX model.

  • Model Validation

    • WinMLRunner: a command-line tool that can run .onnx or .pb models where the input and output variables are tensors or images. It is a very handy tool to quickly validate an ONNX model. It will attempt to load, bind, and evaluate a model and print out helpful messages. It also captures performance measurements.

      Download x64 Exe

  • Model Integration

    • WinML Code Generator (mlgen): a Visual Studio extension to help you get started using WinML APIs on UWP apps by generating a template code when you add a trained ONNX file into the UWP project. From the template code you can load a model, create a session, bind inputs, and evaluate with wrapper codes. See docs for more info.

      Download for VS 2017, VS 2019

    • WinML Samples Gallery: explore a variety of ML integration scenarios and models.

    • Check out the Model Samples and Advanced Scenario Samples to learn how to use Windows ML in your application.

Feedback

External Links

Contributing

We're always looking for your help to fix bugs and improve the samples. Create a pull request, and we'll be happy to take a look.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Nearby in the ranking
Similar items