Skip to main content

OpenVINO Execution Provider plugin for ONNX Runtime

Project description

ONNX Runtime OpenVINO Execution Provider Plugin

PyPI version License: MIT

This package provides the OpenVINO™ Execution Provider plugin for ONNX Runtime.

Installation

Prerequisites

  1. ONNX Runtime: Install separately (this package does NOT include ONNX Runtime)

    pip install onnxruntime>=1.23.0
    
  2. Platform: Pre-built wheels available for:

    • Windows x64
    • Linux x86_64 (manylinux_2_28 compatible — glibc 2.28+, e.g. RHEL 8, Ubuntu 20.04+)

Install the Plugin

pip install onnxruntime-ep-openvino

Note: This package is distributed as binary wheels only. If no wheel is available for your platform/Python version, installation will fail. Source builds are not supported.

Usage

Basic Example

import onnxruntime as ort
import onnxruntime_ep_openvino as openvino_ep

# Get the plugin library path
ep_lib_path = openvino_ep.get_library_path()

# Register the plugin with ONNX Runtime
registration_name = "openvino_ep"
ort.register_execution_provider_library(registration_name, ep_lib_path)

# Get the EP name
ep_name = openvino_ep.get_ep_name()

# Get available OpenVINO devices
all_ep_devices = ort.get_ep_devices()
openvino_devices = [d for d in all_ep_devices if d.ep_name == ep_name]

if not openvino_devices:
    raise RuntimeError("No OpenVINO devices found")

# Select OpenVINO CPU device
cpu_devices = [d for d in openvino_devices if d.ep_metadata.get("ov_device") == "CPU"]

if not cpu_devices:
    raise RuntimeError("No OpenVINO CPU device found")

# Create session options
sess_options = ort.SessionOptions()

# Add OpenVINO EP to the session
ep_options = {}
sess_options.add_provider_for_devices([cpu_devices[0]], ep_options)

# Create inference session
model_path = "path/to/model.onnx"
session = ort.InferenceSession(model_path, sess_options=sess_options)

# Run inference
# ... your inference code here ...

# Clean up
del session

# Unregister the library after all sessions are closed
ort.unregister_execution_provider_library(registration_name)

Helper Functions

get_library_path()

Returns the full path to the OpenVINO EP plugin library.

import onnxruntime_ep_openvino as openvino_ep

lib_path = openvino_ep.get_library_path()
print(f"Plugin library: {lib_path}")

get_ep_name()

Returns the name of the Execution Provider: "OpenVINOExecutionProvider"

ep_name = openvino_ep.get_ep_name()
print(f"EP name: {ep_name}")

get_ep_names()

Returns a list containing the EP name (for compatibility with multi-EP plugins).

ep_names = openvino_ep.get_ep_names()
# Returns: ['OpenVINOExecutionProvider']

Troubleshooting

Library Not Found

If you get a FileNotFoundError, ensure:

  1. The package is properly installed: pip list | grep onnxruntime-ep-openvino
  2. Reinstall if needed: pip install --force-reinstall onnxruntime-ep-openvino

Note: OpenVINO and TBB libraries are bundled with the package - no separate installation needed!

No Devices Found

If get_ep_devices() doesn't return OpenVINO devices:

  1. Check that the plugin is registered before calling get_ep_devices()
  2. Verify your hardware is supported by OpenVINO
  3. Restart your Python session after installation

Version Compatibility

  • Requires ONNX Runtime 1.23.0 or later

License

This project is licensed under the MIT License


Copyright © Intel Corporation. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

onnxruntime_ep_openvino-1.4.0-py3-none-win_amd64.whl (63.8 MB view details)

Uploaded Python 3Windows x86-64

onnxruntime_ep_openvino-1.4.0-py3-none-manylinux_2_28_x86_64.whl (53.2 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

File details

Details for the file onnxruntime_ep_openvino-1.4.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for onnxruntime_ep_openvino-1.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e785088bb7bc82cd2d0df5ff2ff4918b339fe129288f5ee4b56ca1cb235b20c0
MD5 194e91c3c3477da1d82d8bda93223236
BLAKE2b-256 804fc14df76029aa7ed96249e032ab18e531011eb034e28791de05a048e6c18b

See more details on using hashes here.

File details

Details for the file onnxruntime_ep_openvino-1.4.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for onnxruntime_ep_openvino-1.4.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fbb6fb77f1113a9b480bc608984785aaf9ea1a73e3d7cb17b376e5826650067b
MD5 88765048e43361febe50341da18e5173
BLAKE2b-256 785de46fe3652b49d38a37ec4944c6f5bc47fb26d4b055bb7d9c64bc1758e7d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page