Linux | Windows |
---|---|
ONNXMLTools enables you to convert models from different machine learning toolkits into ONNX. Currently the following toolkits are supported:
- Apple CoreML
- scikit-learn (subset of models convertible to ONNX)
(To convert ONNX model to CoreML, see onnx-coreml)
Clone this repository on your local machine.
You can install latest release of ONNXMLTools from pypi:
pip install onnxmltools
or install from source:
pip install git+https://github.com/onnx/onnxmltools
Note:If you choose to install onnxmltools
from its source code, you must set an environment variable ONNX_ML=1
before installing onnx
package.
This package uses ONNX, NumPy, and ProtoBuf. If you are converting a model from scikit-learn or Apple Core ML you need the following packages installed respectively:
- scikit-learn
- CoreMLTools
Here is a simple example to convert a CoreML model:
import onnxmltools
import coremltools
model_coreml = coremltools.utils.load_spec('image_recognition.mlmodel')
model_onnx = onnxmltools.convert_coreml(model_coreml, 'Image_Reco')
# Save as text
onnxmltools.utils.save_text(model_onnx, 'image_recognition.json')
# Save as protobuf
onnxmltools.utils.save_model(model_onnx, 'image_recognition.onnx')
The initial version of this package was developed by the following engineers and data scientists at Microsoft during winter 2017: Zeeshan Ahmed, Wei-Sheng Chin, Aidan Crook, Xavier Dupre, Costin Eseanu, Tom Finley, Lixin Gong, Scott Inglis, Pei Jiang, Ivan Matantsev, Prabhat Roy, M. Zeeshan Siddiqui, Shouheng Yi, Shauheen Zahirazami, Yiwen Zhu.