Skip to main content

Converts Machine Learning models to ONNX for use in Windows ML

Project description

Introduction

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 Core ML

  • scikit-learn (subset of models convertible to ONNX)

  • xgboost

  • libSVM

  • Keras

Install

pip install winmltools

Dependencies

scikit-learn is needed to convert a scikit-learn model, coremltools for Apple Core ML.

Example

Here is a simple example to convert a Core ML model:

import winmltools
import coremltools

model_coreml = coremltools.utils.load_spec("image_recognition.mlmodel")
model_onnx = winmltools.convert.convert_coreml(model_coreml, "Image_Reco")

# Save as text
winmltools.utils.save_text(model_onnx, "image_recognition.json")

# Save as protobuf
winmltools.utils.save_model(model_onnx, "image_recognition.onnx")

License

MIT License

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page