* [AUTO BATCH PLUGIN] enable API 2.0 for auto batch plugin Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] disenable auto batch plugin unite test for tmp Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] remove test with ov::auto_batch_timeout(-1), cause the variable is unsigned int Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix compiler error caused by std::atomic_uint32_t Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [Remote Context] fix revew comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix compiler warnings Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix compiler warnings Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix test error Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix CI test error in cpu func test case, caused by batched model lost rt info Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix CI build error, caused by unused variable Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] using ov::threading Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] clear code in batched req share buffer with non-batched req Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] clean code & fix format issue Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] clean code & fix format issue Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] add api implementation about get_default_context() & create_context() and remove the test config with AUTO_BATCH_TIMEOUT(-1) Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix gpu test with auto btch failed Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix warning Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix get_default_context() issue Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix using namespace redundancy Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] modify variable naming style Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix CI test error, cause by tensor reference in virtual plugin Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] implement get_profiling() Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] remove get_context() from auto batch compiled model using the interface from parent class Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] implement create_context() & get_default_context for auto batch plugin Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix format issue Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] implement auto batch remote context Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix error after merge with master Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix compiler error caused by update master Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] refact remote context in auto batch plugin Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] add unite test cases for auto batch plugin Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix CI warning caused by unused variable & add unite of remote context Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] add virtual property for get_context() in icompiled_model & implement it in auto batch plugin Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] add ov::loaded_from_cache support Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix error caused by updating with master Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix unite test error Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix conflict Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix error caused by update master Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> * [AUTO BATCH PLUGIN] fix review comments Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> --------- Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com> Signed-off-by: xuejun <xuejun.zhai@intel.com> |
||
---|---|---|
.ci | ||
.github | ||
cmake | ||
docs | ||
licensing | ||
samples | ||
scripts | ||
src | ||
tests | ||
thirdparty | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
conanfile.txt | ||
CONTRIBUTING.md | ||
cspell.json | ||
install_build_dependencies.sh | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
vcpkg.json |
Contents:
- What is OpenVINO?
- Supported Hardware matrix
- License
- Documentation
- Tutorials
- Products which use OpenVINO
- System requirements
- How to build
- How to contribute
- Get a support
- See also
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, GNA, 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.
- 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 |
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 How to build OpenVINO to get more information about the OpenVINO build process.
How to contribute
See Contributions Welcome for good first issues.
See CONTRIBUTING for contribution details. Thank you!
Get a support
Report questions, issues and suggestions, using:
- GitHub* Issues
- The
openvino
tag on StackOverflow* - Forum
Additional Resources
- OpenVINO Wiki
- OpenVINO Storage
- Additional OpenVINO™ toolkit modules:
- Intel® Distribution of OpenVINO™ toolkit Product Page
- Intel® Distribution of OpenVINO™ toolkit Release Notes
- Neural Network Compression Framework (NNCF) - a suite of advanced algorithms for model inference optimization including quantization, filter pruning, binarization and sparsity
- OpenVINO™ Training Extensions (OTE) - convenient environment to train Deep Learning models and convert them using OpenVINO for optimized inference.
- OpenVINO™ Model Server (OVMS) - a scalable, high-performance solution for serving deep learning models optimized for Intel architectures
- Computer Vision Annotation Tool (CVAT) - an online, interactive video and image annotation tool for computer vision purposes.
- Dataset Management Framework (Datumaro) - a framework and CLI tool to build, transform, and analyze datasets.
* Other names and brands may be claimed as the property of others.