Home

Awesome

Awesome WindowsML ONNX Models

Guidelines in Chinese(中文版指南)

Since Windows 10 RS4 Update(Build 1803),Microsoft has released Windows ML platform to help developers integrate machine learning features into applications.

The official documentation

We can create innovative apps based on lots of machine learning models in ONNX format because Windows ML evaluates trained models locally on Windows 10 devices, providing hardware-accelerated performance by leveraging the device's CPU or GPU, and computes evaluations for both classical ML algorithms and Deep Learning. This project provides the largest collection of tested ONNX machine learning models and demos for developers,to help you integrate machine learning features more easily.

What's more, it also provide a ONNX model generator that is able to convert CoreML models to ONNX format.

Requirements

Models

  The master branch only provide tested models for you.

Image Processing

Models that can output deseried information with image data as input .

NameFeatureSource
GoogleNetPlaceDetects the scene of an image from 205 categories such as airport, bedroom, forest, coast etc.CoreMLDownload Demo Reference
Inception v3Detects the dominant objects present in an image from a set of 1000 categories such as trees, animals, food, vehicles, person etc. The top-5 error from the original publication is 5.6%.CoreMLDownloads Demo Reference
ResNet50Detects the dominant objects present in an image from a set of 1000 categories such as trees, animals, food, vehicles, person etc. The top-5 error from the original publication is 7.8%.CoreMLDownload Demo Reference
TinyYOLODetects multi objects in an image. The Tiny YOLO network from the paper 'YOLO9000: Better, Faster, Stronger' (2016), arXiv:1612.08242CoreMLDownload Demo Reference
LocationNetPredict the location where a picture was taken.CoreMLDownload Demo Reference
Fast Netural Style TransferTransfer a image into various artist styles,including Candy, Feathers, La Muse, Mosica, Scream, Udnie. https://github.com/jcjohnson/fast-neural-styleCoreMLDownload Demo Reference

ONNX Generator

ONNX is a open format to represent deep learning models. With ONNX, AI developers can more easily move models between state-of-the-art tools and choose the combination that is best for them. Windows ML only support ONNX format models. So we must need convert existed models in other format to ONNX models and this ONNX Generator is useful for you.

ONNX Project

The offical documents for model converting

Requirements

Install ONNX

pip install onnx

make sure the verison is 1.2.2

Install Apple coremltools

pip install git+https://github.com/apple/coremltools

Install winmltools

pip install winmltools

How to Use

ONNX Generator tool is located in the tools folder,and just run the onnxgenerator.py script:

python onnxgenerator.py

Next step is input the path of CoreML model file:

model path

Input the name of model, which will be used to generator c# class name by MLGen tool

model name

Convert to floating point 16

Optimize to float16

After ONNX file generated, you can confirm if you want a json model file

generate json

Here are the model files:

output model

Demos

Demo projects in the src folder have no ONNX model files by default and it can't be built.

You just should download the ONNX file from above links and place them into correct folders.

LocationNet

Feedback

If there is any question or issue, please create a new issue or just contact me. By the way, everyone can contribute to this project. Have a enjoy time!

Contact: