Awesome
Awesome WindowsML ONNX Models
Since Windows 10 RS4 Update(Build 1803),Microsoft has released Windows ML platform to help developers integrate machine learning features into applications.
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
- Visual Studio 2017 Version 15.7.4 or Newer
- Windows 10 - Build 17738 or higher
- Windows SDK - Build 17738 or higher
Models
The master branch only provide tested models for you.
Image Processing
Models that can output deseried information with image data as input .
Name | Feature | Source | |
---|---|---|---|
GoogleNetPlace | Detects the scene of an image from 205 categories such as airport, bedroom, forest, coast etc. | CoreML | Download Demo Reference |
Inception v3 | Detects 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%. | CoreML | Downloads Demo Reference |
ResNet50 | Detects 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%. | CoreML | Download Demo Reference |
TinyYOLO | Detects multi objects in an image. The Tiny YOLO network from the paper 'YOLO9000: Better, Faster, Stronger' (2016), arXiv:1612.08242 | CoreML | Download Demo Reference |
LocationNet | Predict the location where a picture was taken. | CoreML | Download Demo Reference |
Fast Netural Style Transfer | Transfer a image into various artist styles,including Candy, Feathers, La Muse, Mosica, Scream, Udnie. https://github.com/jcjohnson/fast-neural-style | CoreML | Download 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.
The offical documents for model converting
Requirements
- Python 3.6.x
- winmltools
- coremltools
- ONNX 1.2.2
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:
Input the name of model, which will be used to generator c# class name by MLGen tool
Convert to floating point 16
After ONNX file generated, you can confirm if you want a json model file
Here are the model files:
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.
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:
- E-mail: mantgh@outlook.com
- Weibo: @msp的昌伟哥哥