Python Runtime for ONNX models, other helpers to convert machine learned models in C++.
Project description
mlprodict
mlprodict was initially started to help implementing converters to ONNX. The main feature is a python runtime for ONNX. It gives feedback when the execution fails. The package provides tools to compare predictions, to benchmark models converted with sklearn-onnx.
import numpy from sklearn.linear_model import LinearRegression from sklearn.datasets import load_iris from mlprodict.onnxrt import OnnxInference from mlprodict.onnxrt.validate.validate_difference import measure_relative_difference from mlprodict.tools import get_ir_version_from_onnx iris = load_iris() X = iris.data[:, :2] y = iris.target lr = LinearRegression() lr.fit(X, y) # Predictions with scikit-learn. expected = lr.predict(X[:5]) print(expected) # Conversion into ONNX. from mlprodict.onnx_conv import to_onnx model_onnx = to_onnx(lr, X.astype(numpy.float32), black_op={'LinearRegressor'}) print("ONNX:", str(model_onnx)[:200] + "\n...") # Predictions with onnxruntime model_onnx.ir_version = get_ir_version_from_onnx() oinf = OnnxInference(model_onnx, runtime='onnxruntime1') ypred = oinf.run({'X': X[:5].astype(numpy.float32)}) print("ONNX output:", ypred) # Measuring the maximum difference. print("max abs diff:", measure_relative_difference(expected, ypred['variable'])) # And the python runtime oinf = OnnxInference(model_onnx, runtime='python') ypred = oinf.run({'X': X[:5].astype(numpy.float32)}, verbose=1, fLOG=print) print("ONNX output:", ypred)
Installation
Installation from pip should work unless you need the latest development features.
pip install mlprodict
The package includes a runtime for onnx. That’s why there is a limited number of dependencies. However, some features relies on sklearn-onnx, onnxruntime, scikit-learn. They can be installed with the following instructions:
pip install mlprodict[all]
The code is available at GitHub/mlprodict and has online documentation.
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 Distributions
Hashes for mlprodict-0.7.1672-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e46a3440cfcd69a0bda8189eb5e26ff240b8315be88c1ac772dbcf9ca2c7d7e0 |
|
MD5 | 513ddc7ff7370897e9804d8d4b966728 |
|
BLAKE2b-256 | 31c1490b30f848f518195c48df7fdbc761f94dce33a3b8e9a9b2c7bebc36e565 |
Hashes for mlprodict-0.7.1672-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7680ae9af1cf4c3bb6dcae5f14f9c18a33b8d24d90ca971a2e796c788c184c7 |
|
MD5 | 26568fc37fe467963108f73a6d5ed003 |
|
BLAKE2b-256 | 6e44bae2ddef1a2c2c2fdcb4eb76e81e0fe6cb22a7c06ca2dad6e75d985b141e |
Hashes for mlprodict-0.7.1672-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7351f97cca0dd2d33c5f4e8efbd255417690ceb8b87bc931fbd6117c8da4cc5 |
|
MD5 | a1773ed6720b675996531af75706fd4c |
|
BLAKE2b-256 | 2b62f552f2160d0bfcfd5b232bd655a24d0932f6f83ce9d6996ffc2dd5f5a398 |
Hashes for mlprodict-0.7.1672-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b4391c2eb29f9180d33c73b0ea283bdc176906a20d0334244b0979c1ec46ce7 |
|
MD5 | 2033b787f1b96ac9ad628b0bcd7694bf |
|
BLAKE2b-256 | c209dc8e611c471ca8f48a133d448408bf0ce0bbed598fa7b1193d5a94799275 |
Hashes for mlprodict-0.7.1672-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd2e5564d24951f25ae3d1f9281393c9c3370a9be66ee3264a10e448b79ac262 |
|
MD5 | 79896f7f21c733a6bd19dbc6bbef9225 |
|
BLAKE2b-256 | 50f4f17d998fafd702081aa11f9ffc6be47102fca2655add121197751adc34de |
Hashes for mlprodict-0.7.1672-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8e83eb3c4defa1416290cb033b379282e8a1e7d5a42cc196d67f753cdc8085a |
|
MD5 | 219e1420082241c26a3afe485cfa5fbf |
|
BLAKE2b-256 | 022f790bfe65552348cbd7cefaa0af52edf592c827f2cae362aaeb22b35eed27 |
Hashes for mlprodict-0.7.1672-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f3fb243b7f4e6bae40d19394914c003aee108060cd52d07f8a9634d338436d3 |
|
MD5 | 716566875472bdee8adb4b98c9463d4a |
|
BLAKE2b-256 | c632956bdefd14e0c1da1df392611ea4de3dad7bafec21ad7e172599d26884bc |