Converts Machine Learning models to ONNX for use in Windows ML
Project description
WinMLTools provide following tools for Windows ML:
Model Conversion
WinMLTools enables you to convert models from different machine learning toolkits into ONNX for use with Windows ML. Currently the following toolkits are supported:
apple CoreML
keras
scikit-learn
lightgbm
xgboost
libSVM
tensorflow (experimental)
Here is a simple example to convert a Core ML model:
from coremltools.models.utils import load_spec from winmltools import convert_coreml model_coreml = load_spec('example.mlmodel') model_onnx = convert_coreml(model_coreml, 7, name='ExampleModel')
Quantization
WinMLTools provides quantization tool to reduce the memory footprint of the model.
Here is an example to convert an ONNX model to a quantized ONNX model:
import winmltools model = winmltools.load_model('model.onnx') quantized_model = winmltools.quantize(model, per_channel=True, nbits=8, use_dequantize_linear=True) winmltools.save_model(quantized_model, 'quantized.onnx')
Dependencies
In order to convert from different toolkits, you may have to install the following packages for different converters:
Toolkit |
Source |
---|---|
keras |
|
tensorflow |
|
scikit-learn |
|
lightgbm |
|
xgboost |
|
libsvm |
You can download libsvm wheel from various web sources. One example can be found here: https://www.lfd.uci.edu/~gohlke/pythonlibs/#libsvm |
coremltools |
Currenlty coreml does not distribute coreml packaging on windows. You can install from source: pip install git+https://github.com/apple/coremltools |
For more information on WinMLTools, you can go to Convert ML models to ONNX with WinMLTools
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for winmltools-1.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca7b7086e83f880e1aa177c8b71c3854c131a4960b3219eb9d387b37184f2148 |
|
MD5 | ddc685d7fc507234c2d4652a3fbe5381 |
|
BLAKE2b-256 | 339c4e1278dcce1ffafb8912bd6324f539a2c0502fd134ae1f20547cb79cb59d |