Python Runtime for ONNX models, other helpers to convert machine learned models in C++.
Project description
mlprodict
The packages explores ways to productionize machine learning predictions. One approach uses ONNX and tries to implement a runtime in python / numpy or wraps onnxruntime into a single class. The package provides tools to compare predictions, to benchmark models converted with sklearn-onnx.
The second approach consists in converting a pipeline directly into C and is not much developed.
from sklearn.linear_model import LinearRegression from sklearn.datasets import load_iris from mlprodict.onnxrt import OnnxInference, measure_relative_difference import numpy 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.onnxrt import to_onnx model_onnx = to_onnx(lr, X.astype(numpy.float32)) # Predictions with onnxruntime oinf = OnnxInference(model_onnx, runtime='onnxruntime1') ypred = oinf.run({'X': X[:5]}) print(ypred) # Measuring the maximum difference. print(measure_relative_difference(expected, ypred))
History
current - 2019-08-01 - 0.00Mb
26: Tests all converters in separate processeses to make it easier to catch crashes (2019-08-01)
25: Ensures operator clip returns an array of the same type (ONNX Python Runtime) (2019-07-30)
22: Implements a function to shake an ONNX model and test float32 conversion (2019-07-28)
21: Add customized converters (2019-07-28)
20: Enables support for TreeEnsemble operators in python runtime (ONNX). (2019-07-28)
19: Enables support for SVM operators in python runtime (ONNX). (2019-07-28)
16: fix documentation, visual graph are not being rendered in notebooks (2019-07-23)
18: implements python runtime for SVM (2019-07-20)
0.2.272 - 2019-07-15 - 0.09Mb
17: add a mechanism to use ONNX with double computation (2019-07-15)
13: add automated benchmark of every scikit-learn operator in the documentation (2019-07-05)
12: implements a way to measure time for each node of the ONNX graph (2019-07-05)
11: implements a better ZipMap node based on dedicated container (2019-07-05)
8: implements runtime for decision tree (2019-07-05)
7: implement python runtime for scaler, pca, knn, kmeans (2019-07-05)
10: implements full runtime with onnxruntime not node by node (2019-06-16)
9: implements a onnxruntime runtime (2019-06-16)
6: first draft of a python runtime for onnx (2019-06-15)
5: change style highlight-ipython3 (2018-01-05)
0.1.11 - 2017-12-04 - 0.03Mb
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.