跳转到主要内容

ONNX模型Python运行时,其他用于将机器学习模型在C++中转换的辅助工具。

项目描述

https://github.com/sdpython/mlprodict/blob/master/_doc/sphinxdoc/source/phdoc_static/project_ico.png?raw=true

mlprodict

Build status Build Status Windows https://circleci.com/gh/sdpython/mlprodict/tree/master.svg?style=svg https://dev.azure.com/xavierdupre3/mlprodict/_apis/build/status/sdpython.mlprodict https://badge.fury.io/py/mlprodict.svg MIT License https://codecov.io/github/sdpython/mlprodict/coverage.svg?branch=master GitHub Issues Notebook Coverage Downloads Forks Stars https://mybinder.org/badge_logo.svg size

mlprodict最初是为了帮助实现转换到ONNX的工具。主要功能是ONNX的Python运行时(类OnnxInference),可视化工具(见可视化),以及numpy API for ONNX)。该软件包还提供比较预测、基准测试使用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 import __max_supported_opset__, get_ir_version

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'},
                     target_opset=__max_supported_opset__)
print("ONNX:", str(model_onnx)[:200] + "\n...")

# Predictions with onnxruntime
model_onnx.ir_version = get_ir_version(__max_supported_opset__)
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)

安装

除非您需要最新的开发功能,否则从pip安装应能正常工作。

pip install mlprodict

该软件包包括ONNX的运行时。这就是为什么依赖项数量有限。但是,一些功能依赖于sklearn-onnxonnxruntimescikit-learn。它们可以通过以下说明进行安装

pip install mlprodict[all]

代码位于GitHub/mlprodict,并具有在线文档

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

mlprodict-0.9.1883.tar.gz (814.9 kB 查看哈希值)

上传时间

构建分发

mlprodict-0.9.1883-cp310-cp310-win_amd64.whl (2.6 MB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

mlprodict-0.9.1883-cp310-cp310-manylinux_2_24_x86_64.whl (27.4 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.24+ x86-64

mlprodict-0.9.1883-cp310-cp310-macosx_10_13_x86_64.whl (3.6 MB 查看哈希值)

上传时间 CPython 3.10 macOS 10.13+ x86-64

mlprodict-0.9.1883-cp39-cp39-win_amd64.whl (2.6 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

mlprodict-0.9.1883-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.0 MB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ x86-64

mlprodict-0.9.1883-cp39-cp39-macosx_10_13_x86_64.whl (3.6 MB 查看哈希值)

上传时间 CPython 3.9 macOS 10.13+ x86-64

mlprodict-0.9.1883-cp38-cp38-win_amd64.whl (2.6 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

mlprodict-0.9.1883-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.1 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ x86-64

mlprodict-0.9.1883-cp38-cp38-macosx_10_13_x86_64.whl (3.6 MB 查看哈希值)

上传时间 CPython 3.8 macOS 10.13+ x86-64

mlprodict-0.9.1883-cp37-cp37m-win_amd64.whl (2.6 MB 查看哈希值)

上传时间 CPython 3.7m Windows x86-64

mlprodict-0.9.1883-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (41.3 MB 查看哈希值)

上传时间 CPython 3.7m manylinux: glibc 2.17+ x86-64

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面