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
sparkml (experimental)
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')
Post Training Weight 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 |
pyspark |
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.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 867eb93d6ad6523354705773dbaba8fc836f99a8e7514144bc9da781c201e388 |
|
MD5 | c566f3cc8d04b408ebcc5e060e112c24 |
|
BLAKE2b-256 | b10ada426006c1347956731a9c03f62e9022984f680e35a803b51637182e27c5 |