onnx运行时python绑定

onnxruntime的Python项目详细描述


onnx运行时 实现对经过训练的机器学习(ML)的高性能评估 在保持低资源使用率的同时进行建模。 在微软致力于 Open Neural Network Exchange (ONNX) 社区,它也支持传统的ml模型 作为深度学习算法 ONNX-ML format。 文件可在 Python Bindings for ONNX Runtime

示例

下面的示例演示了一个端到端的示例 在一个非常常见的场景中。使用scikit learn训练模型 但它必须在优化的环境中运行得非常快。 然后将模型转换为onnx格式和onnx运行时 替换scikit learn来计算预测。

# Train a model.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y)
clr = RandomForestClassifier()
clr.fit(X_train, y_train)

# Convert into ONNX format with onnxmltools
from skl2onnx import convert_sklearn
from skl2onnx.common.data_types import FloatTensorType
initial_type = [('float_input', FloatTensorType([1, 4]))]
onx = convert_sklearn(clr, initial_types=initial_type)
with open("rf_iris.onnx", "wb") as f:
    f.write(onx.SerializeToString())

# Compute the prediction with ONNX Runtime
import onnxruntime as rt
import numpy
sess = rt.InferenceSession("rf_iris.onnx")
input_name = sess.get_inputs()[0].name
label_name = sess.get_outputs()[0].name
pred_onx = sess.run([label_name], {input_name: X_test.astype(numpy.float32)})[0]

更改

0.3.1

protobuf lite,nuget文件修复(补丁到0.3.0)。

0.3.0

c-api,linux支持dotnet-nuget包,cuda 9.1支持。

0.2.1

C-API、Linux对Dotnet Nuget包的支持、CUDA 10.0支持(补丁到0.2.0)。

0.2.0

C-API、Linux对Dotnet Nuget包的支持、CUDA 10.0支持

0.1.5

GA发布作为开放源代码onnxruntime(0.1.4补丁)的一部分。

0.1.4

GA发布作为开放源代码onnxruntime的一部分。

0.1.3

修复了不支持AVX指令的计算机上的崩溃。

0.1.2

在Ubuntu16.04上首次发布的CPU和GPU,带有CUDA9.1和CUDNN7.0, 支持深度学习模型体系结构的运行时,如AlexNet、ResNet, 例外,vgg,inception,densenet,标准线性学习者, 标准合奏学习者, 变换标量器,输入器。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring框架服务单元测试   在Java中遍历hashmaps的hashmap以检索字符串值   如何使用CodeQL检查Java注释是否具有特定属性?   java为什么在Spring Boot中访问此资源而不是登录弹出窗口需要始终获得完全身份验证   处理将多集计数转换为列表的过程   java另一个线性布局,没有出现按钮   eclipse Java映像加载未显示在jar中   java Junit类无法加载基本测试类ApplicationContext   java如何在main中使用my getvalues()方法打印列表   java Sonar,S128:切换案例应该以无条件的“中断”语句结束,而不是继续   java从socket读取字符串错误连接重置错误   java使用新数据刷新任意图表饼图   java通过异步运行lambda访问方法参数   java错误的结果一旦我处理try and catch