OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference
Go to file
Przemyslaw Wysocki d2871fd52c
[PyOV] Enable Python 3.10 on Azure CI (#12578)
* Fix mypy for numpy==1.21.6

* Apply CR changes

* Allow Python 3.6 for open source

* Attempt to silence mypy

* Revert to 3.6 in setup.pys

* Fix merge conflict

* Add newline

* Fix Python version assert

* Test Python 3.10 CI

* Try bumping up pybind to 2.10

* Link default python to python 3.10

* Add sudo to changing default python

* Bump python version in setupvars

* Fix exception in test

* Do the same for compatibility

* Apply same CI changes to other pipelines

* Attempt to fix arm and windows CIs

* Fix win py lib version and links?

* Try to fix CI

* Fix win python path

* Update win path

* Test disable PDPD

* Disable TF for testing CI

* Add sudo to rm

* Test linux

* Update requirements

* RM sudo

* Add debug step to CI on ARM

* build py from source on linux

* Remove debug step from ARM

* Fix err

* Fill num_proc

* Fic py installation

* Bump pdpd to 2.3.1

* Bump np vers

* Try to upgrade onnx to 1.12.0

* Revert onnx upgrade, enable frontends

* Build py shared

* Export library

* activate py env

* Bump scipy for py3.10

* Another scipy bump

* Fix Windows path, add nfs helper for mount

* Attempt to fix win_cc

* Batch of changes

* Try to fix ngraph-onnx-lin

* Install lsb-release for docker on ngraph-onnx-lin

* Link lsb_release

* Try bumping Ubuntu to 22.04

* Revert ubuntu change in dockerfile

* Refactor tests for onnx1.12

* Fix ONNX compatibility and numpy warnings

* Refactor tests for onnx1.12

* Fix ONNX compatibility and numpy warnings

* Upgrade ONNX to 1.12 in cpp

* Skip unsupported ops

* Revert "Fix ONNX compatibility and numpy warnings"

This reverts commit cd8a0e6b8e.

* Small changes

* Remove unnecessary changes

* Bump Python version in github workflows

* Fix flake error

* Another flake error

* Even more flake errors

* Xfail more tests

* Fix mypy errors

* Change onnx version in tests

* Bump ONNX in MO

* Fix onnx utils in comp

* Minor changes

* Import pathlib

* Add xfails to compatibility tests

* Skip segfaulting tests

* Fix onnx nametuple

* Fix flake

* Try to fix py3.6 onnx

* Switch to venv in windows

* Fix model importer and reqs

* Add __test__

* Debug print

* Fix flake

* Update linux.yml

* Update windows.yml

* Update linux.yml

* Update windows.yml

* Install python3.10

* Update windows.yml

* Update windows.yml

* Update windows.yml

* Update windows.yml

* Update windows.yml

* Update windows.yml

* Update windows.yml

* Update windows.yml

* Install py embedded

* Fix dir

* Fix curl

* Add complete file

* CP file

* Bump py ver

* Fix missing venv

* Try to install

* Disable venv

* Bump OMZ commit

* checkout omz

* Revert omz

* Bump omz

* Revert pybind bump

* Update .gitmodules

* Change pybind to fork

* change ssize_t to size_t

* Install bz2 for py build

* Bump omz

* Bump pandas requirement version

* Revert omz

* Install missing clang

* Bump omz

* Bump versions on fork

* Bump numpy in model zoo

* Fix clang

* Skip segfaulting pdpd test

* Skip another pdpd test

* Skip pdpd places.cpp

* Bump py ver in setupvars.bat

* Disable paddle tests

* Use int instead of str

* Fix requirements path

* Enable lin-cc

* Fixes in CI

* lin-cc and ngrpah-onnx changes

* Update num_proc

* Update ngraph-onnx

* Minor change

* Fix env var

* Change ubuntu to 20

* Get compiler on ngraph-onnx

* Add sudo to apt-get

* Add SSL

* Download ssl

* Different way of installing ssl

* Minor changes

* install zlib

* Fix env var

* Fix docker building error

* Revert changes

* Modify dockerfile

* Change pychecks python version

* Cleanup

* Add LayerNorm to expanded ONNX functions

* Revert previous commit

* Add LayerNorm to expanded ONNX functions

* Apply clang

* Move LayerNorm tests to skip_segfault

* Unskip pdpd tests

* Enable pdpd tests on linux

* Refactoring

* Remove 3.6 from reqs

* Refactoring

* Minor changes

* Minor changes

* Relax MO reqs

* Bump torch version

* relax pytest

* Specify pytest version

* Fix pytest pip conflict

* Bump pybind11 to v2.10.1 release tag

* Specify separate pytest version for py3.10

* Bump attrs

* Add py dependency

* Refactor versions

* Add venv activation to tf tests

* Fix fdupes

* Bump OMZ submodule

* Remove find and replace

* Change pybind to upstream fork

* Set pybind to proper commit

* Minor changes

* Try to fix scipy

* Updated exclude patterns for nlohmann json

* [PyOV] Fix wheel requirements for new package versions

* Specify CPU plugin versions

* Bump OMZ version

* Fix linter

* Fix linter 2

* Fix linter 3

* Disable linter

Co-authored-by: Mateusz <mateusz.mikolajczyk@intel.com>
Co-authored-by: jiwaszki <jan.iwaszkiewicz@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2022-11-08 11:38:39 +04:00
.ci [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
.github [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
cmake Risc-v toolchain (#13897) 2022-11-08 10:58:01 +04:00
docs [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
licensing Update third-party-programs according PM requirments (#13610) 2022-10-27 13:39:20 +04:00
samples Bell/execution device (#13737) 2022-11-07 10:12:28 +08:00
scripts [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
src [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
tests [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
thirdparty [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
tools [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
.gitattributes [POT] Update tests with new data (#8209) 2021-10-27 12:40:19 +03:00
.gitignore Move template plugin to plugin folder (#13269) 2022-10-03 15:47:20 +04:00
.gitmodules CPU Plugin refactoring: Transition from Intel MKL-DNN to oneDNN (#11023) 2022-04-05 01:10:53 +03:00
CMakeLists.txt Fixes for brew support on OSX (#13476) 2022-10-15 00:15:03 +03:00
CODEOWNERS [DOCS][MO] Clean-up MO docs sources (#13641) 2022-10-27 16:06:18 +04:00
CONTRIBUTING.md Fixed comments on dev doc (#13117) 2022-09-20 12:45:19 +04:00
install_build_dependencies.sh Removed duplicated files from OpenVINO wheel (#13725) 2022-11-02 07:58:58 +04:00
Jenkinsfile Beautify Jenkinsfile a little bit 2021-05-31 15:24:56 +03:00
LICENSE Publishing R3 2018-10-16 13:45:03 +03:00
README.md DOCS: Fixing readme for master (#13252) 2022-10-13 13:06:45 +02:00
SECURITY.md Added SECURITY.md back (#3177) 2020-11-17 16:44:44 +03:00

Stable release Apache License Version 2.0 GitHub branch checks state Azure DevOps builds (branch) PyPI Status PyPI Downloads

Contents:

What is OpenVINO toolkit?

OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference.

  • Boost deep learning performance in computer vision, automatic speech recognition, natural language processing and other common tasks
  • Use models trained with popular frameworks like TensorFlow, PyTorch and more
  • Reduce resource demands and efficiently deploy on a range of Intel® platforms from edge to cloud

This open-source version includes several components: namely Model Optimizer, OpenVINO™ Runtime, Post-Training Optimization Tool, as well as CPU, GPU, MYRIAD, multi device and heterogeneous plugins to accelerate deep learning inference on Intel® CPUs and Intel® Processor Graphics. It supports pre-trained models from Open Model Zoo, along with 100+ open source and public models in popular formats such as TensorFlow, ONNX, PaddlePaddle, MXNet, Caffe, Kaldi.

Components

  • OpenVINO™ Runtime - is a set of C++ libraries with C and Python bindings providing a common API to deliver inference solutions on the platform of your choice.
    • core - provides the base API for model representation and modification.
    • inference - provides an API to infer models on the device.
    • transformations - contains the set of common transformations which are used in OpenVINO plugins.
    • low precision transformations - contains the set of transformations that are used in low precision models
    • bindings - contains all available OpenVINO bindings which are maintained by the OpenVINO team.
      • c - C API for OpenVINO™ Runtime
      • python - Python API for OpenVINO™ Runtime
  • Plugins - contains OpenVINO plugins which are maintained in open-source by the OpenVINO team. For more information, take a look at the list of supported devices.
  • Frontends - contains available OpenVINO frontends that allow reading models from the native framework format.
  • Model Optimizer - is a cross-platform command-line tool that facilitates the transition between training and deployment environments, performs static model analysis, and adjusts deep learning models for optimal execution on end-point target devices.
  • Post-Training Optimization Tool - is designed to accelerate the inference of deep learning models by applying special methods without model retraining or fine-tuning, for example, post-training 8-bit quantization.
  • Samples - applications in C, C++ and Python languages that show basic OpenVINO use cases.

Supported Hardware matrix

The OpenVINO™ Runtime can infer models on different hardware devices. This section provides the list of supported devices.

Device Plugin Library ShortDescription
CPU Intel CPU openvino_intel_cpu_plugin Intel Xeon with Intel® Advanced Vector Extensions 2 (Intel® AVX2), Intel® Advanced Vector Extensions 512 (Intel® AVX-512), and AVX512_BF16, Intel Core Processors with Intel AVX2, Intel Atom Processors with Intel® Streaming SIMD Extensions (Intel® SSE)
ARM CPU openvino_arm_cpu_plugin Raspberry Pi™ 4 Model B, Apple® Mac mini with M1 chip, NVIDIA® Jetson Nano™, Android™ devices
GPU Intel GPU openvino_intel_gpu_plugin Intel Processor Graphics, including Intel HD Graphics and Intel Iris Graphics
GNA Intel GNA openvino_intel_gna_plugin Intel Speech Enabling Developer Kit, Amazon Alexa* Premium Far-Field Developer Kit, Intel Pentium Silver J5005 Processor, Intel Pentium Silver N5000 Processor, Intel Celeron J4005 Processor, Intel Celeron J4105 Processor, Intel Celeron Processor N4100, Intel Celeron Processor N4000, Intel Core i3-8121U Processor, Intel Core i7-1065G7 Processor, Intel Core i7-1060G7 Processor, Intel Core i5-1035G4 Processor, Intel Core i5-1035G7 Processor, Intel Core i5-1035G1 Processor, Intel Core i5-1030G7 Processor, Intel Core i5-1030G4 Processor, Intel Core i3-1005G1 Processor, Intel Core i3-1000G1 Processor, Intel Core i3-1000G4 Processor
VPU Myriad plugin openvino_intel_myriad_plugin Intel® Neural Compute Stick 2 powered by the Intel® Movidius™ Myriad™ X

OpenVINO™ Toolkit also contains several plugins which simplify loading models on several hardware devices:

Plugin Library ShortDescription
Auto openvino_auto_plugin Auto plugin enables selecting Intel device for inference automatically
Auto Batch openvino_auto_batch_plugin Auto batch plugin performs on-the-fly automatic batching (i.e. grouping inference requests together) to improve device utilization, with no programming effort from the user
Hetero openvino_hetero_plugin Heterogeneous execution enables automatic inference splitting between several devices
Multi openvino_auto_plugin Multi plugin enables simultaneous inference of the same model on several devices in parallel

License

OpenVINO™ Toolkit is licensed under Apache License Version 2.0. By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms.

Documentation

User documentation

The latest documentation for OpenVINO™ Toolkit is available here. This documentation contains detailed information about all OpenVINO components and provides all the important information you may need to create an application based on binary OpenVINO distribution or own OpenVINO version without source code modification.

Developer documentation

Developer documentation contains information about architectural decisions which are applied inside the OpenVINO components. This documentation has all necessary information which could be needed in order to contribute to OpenVINO.

Tutorials

The list of OpenVINO tutorials:

Products which use OpenVINO

System requirements

The system requirements vary depending on platform and are available on dedicated pages:

How to build

See the OpenVINO Wiki to get more information about the OpenVINO build process.

How to contribute

See CONTRIBUTING for details. Thank you!

Get a support

Report questions, issues and suggestions, using:

Additional Resources


* Other names and brands may be claimed as the property of others.