跳转到主要内容

ONNXRuntime 扩展

项目描述

ONNXRuntime-Extensions

Build Status

什么是ONNXRuntime-Extensions

简介:ONNXRuntime-Extensions是一个库,通过ONNX Runtime自定义操作ABI扩展了ONNX模型和推理的能力。它包含了一套ONNX Runtime自定义操作,以支持视觉、文本和NLP模型的常见预处理和后处理操作。它支持多种语言和平台,如Windows/Linux/macOS上的Python,一些移动平台如Android和iOS,以及Web-Assembly等。基本工作流程是首先增强ONNX模型,然后使用ONNX Runtime和ONNXRuntime-Extensions包进行模型推理。

快速入门

Python安装

pip install onnxruntime-extensions

夜间构建

在Windows上

pip install --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple/ onnxruntime-extensions

请确保您已经满足Python环境中onnxruntime-extensions(例如,onnx和onnxruntime)的先决条件。

在Linux/macOS上

请在执行以下命令之前确保已安装编译工具包,如gcc(g++ 8.0之后的版本)或clang。

python -m pip install git+https://github.com/microsoft/onnxruntime-extensions.git

用法

1. 生成预处理/后处理ONNX模型

《onnxruntime-extensions》Python 包提供了一个方便的方式来生成 ONNX 处理图。这可以通过将 Huggingface 变换器数据处理类转换为所需的格式来实现。有关更详细的信息,请参阅以下 API

help(onnxruntime_extensions.gen_processing_models)

注意

生成模型处理需要安装 ONNX 包。以这种方式生成的数据处理模型可以通过 onnx.compose 与其他模型合并,如果需要的话。

2. 使用 ONNX Runtime 推理扩展

Python

以下语言有单独的包,请安装它以进行构建。

import onnxruntime as _ort
from onnxruntime_extensions import get_library_path as _lib_path

so = _ort.SessionOptions()
so.register_custom_ops_library(_lib_path())

# Run the ONNXRuntime Session, as ONNXRuntime docs suggested.
# sess = _ort.InferenceSession(model, so)
# sess.run (...)

C++

  // The line loads the customop library into ONNXRuntime engine to load the ONNX model with the custom op
  Ort::ThrowOnError(Ort::GetApi().RegisterCustomOpsLibrary((OrtSessionOptions*)session_options, custom_op_library_filename, &handle));

  // The regular ONNXRuntime invoking to run the model.
  Ort::Session session(env, model_uri, session_options);
  RunSession(session, inputs, outputs);

Java

var env = OrtEnvironment.getEnvironment();
var sess_opt = new OrtSession.SessionOptions();

/* Register the custom ops from onnxruntime-extensions */
sess_opt.registerCustomOpLibrary(OrtxPackage.getLibraryPath());

C#

SessionOptions options = new SessionOptions()
options.RegisterOrtExtensions()
session = new InferenceSession(model, options)

项目详情


下载文件

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

源代码发行版

本发行版没有提供源代码发行版文件。请参阅 生成发行版存档 的教程。

构建发行版

onnxruntime_extensions-0.12.0-cp312-cp312-win_amd64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

onnxruntime_extensions-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB 查看哈希值)

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

onnxruntime_extensions-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ ARM64

onnxruntime_extensions-0.12.0-cp312-cp312-macosx_11_0_x86_64.whl (2.8 MB 查看哈希值)

上传时间 CPython 3.12 macOS 11.0+ x86-64

onnxruntime_extensions-0.12.0-cp312-cp312-macosx_11_0_universal2.whl (5.2 MB 查看哈希值)

上传时间 CPython 3.12 macOS 11.0+ universal2 (ARM64, x86-64)

onnxruntime_extensions-0.12.0-cp312-cp312-macosx_11_0_arm64.whl (2.5 MB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

onnxruntime_extensions-0.12.0-cp311-cp311-win_amd64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

onnxruntime_extensions-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

onnxruntime_extensions-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

onnxruntime_extensions-0.12.0-cp311-cp311-macosx_11_0_x86_64.whl (2.8 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ x86-64

onnxruntime_extensions-0.12.0-cp311-cp311-macosx_11_0_universal2.whl (5.2 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64)

onnxruntime_extensions-0.12.0-cp311-cp311-macosx_11_0_arm64.whl (2.5 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

onnxruntime_extensions-0.12.0-cp310-cp310-win_amd64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

onnxruntime_extensions-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

onnxruntime_extensions-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

onnxruntime_extensions-0.12.0-cp310-cp310-macosx_11_0_x86_64.whl (2.8 MB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ x86-64

onnxruntime_extensions-0.12.0-cp310-cp310-macosx_11_0_universal2.whl (5.2 MB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64)

onnxruntime_extensions-0.12.0-cp310-cp310-macosx_11_0_arm64.whl (2.5 MB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

onnxruntime_extensions-0.12.0-cp39-cp39-win_amd64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

onnxruntime_extensions-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB 查看哈希值)

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

onnxruntime_extensions-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

onnxruntime_extensions-0.12.0-cp39-cp39-macosx_11_0_x86_64.whl (2.8 MB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ x86-64

onnxruntime_extensions-0.12.0-cp39-cp39-macosx_11_0_universal2.whl (5.2 MB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ universal2 (ARM64, x86-64)

onnxruntime_extensions-0.12.0-cp39-cp39-macosx_11_0_arm64.whl (2.5 MB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

onnxruntime_extensions-0.12.0-cp38-cp38-win_amd64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

onnxruntime_extensions-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB 查看哈希值)

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

onnxruntime_extensions-0.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB 查看哈希)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

onnxruntime_extensions-0.12.0-cp38-cp38-macosx_11_0_x86_64.whl (2.8 MB 查看哈希)

上传于 CPython 3.8 macOS 11.0+ x86-64

onnxruntime_extensions-0.12.0-cp38-cp38-macosx_11_0_universal2.whl (5.2 MB 查看哈希)

上传于 CPython 3.8 macOS 11.0+ universal2 (ARM64, x86-64)

onnxruntime_extensions-0.12.0-cp38-cp38-macosx_11_0_arm64.whl (2.5 MB 查看哈希)

上传于 CPython 3.8 macOS 11.0+ ARM64

由以下支持