* Initial commit for proxy plugin * Include proxy to openvino library * Fixed some tests * Added plugin properties * Added readme * Support Compile model for the proxy plugin * Fixed python * Remove gmock * Fixed some tests * Fixed load plugin tests * Removed internal PROXY_FALLBACK_PRIORITIES initialization property * Fixed code style * Added new tests * Create architecture.md * Fixed some proxy tests * Implement not implemented functions * Fixed ICore mock * Remove redundant code * Added import/export tests * Fixed hetero import/export tests * Fixed ICore mock * Fixed import tests * Fixed build * Remove redundant parse config * Fixed some comments * Try to fix Windows build * Fixed incorrect logic * Small fix in tests * Fixed python API * Fixed typo * Try to fix python * Switch GPU under proxy * Fixed GPU name * Revert GPU plugin under proxy * Small changes in CMake files * Temp commit * Build without proxy * Revert "Temp commit" This reverts commit1ac9824bdf. * Fixed test linking * Removed tests from ncc check * Add option to disable proxy plugin * Fixed minor comments * Disable some proxy tests if IR frontend is disabled * Enable Intel GPU under the proxy * Fixed typo * Fixed segfault in tests * Small fix for case if only GPU is registered * Fixed code style * Added remote context tests * Added proxy tests to CI * Fixed mock engine * Test change * Revert "Test change" This reverts commit2d1d67766f. * Add new tests * Removed some tests * Revert "Removed some tests" This reverts commit090398652f. * Revert incorrect logic * Removed unused variables * Use original name for the GPU plugin * Fixed CMake * Do not show hidden devices * Try to fix GPU remote context * Fixed GPU plugin build * Added interface for proxy remote context * Remove local properties * Remove redundant API * Fixed typo * Added remote tensors * Fixed code style * Fixed some comments * Unwrap remote tensors before conversion to Blob * Added cast for legacy API * Fixed some cldnn tests * Do not add preprocessing for proxy plugin * Enabled more tests and wrap tensors in infer request * Use hardware request inside conversion wrapper * Fixed hand on cache calculation * Try to fix some tests * Support set tensor for remote tensors in proxy plugin * Revert "Support set tensor for remote tensors in proxy plugin" This reverts commit5a927de590. * Remove redundant friend from compiled model and fix life time for infer request * Fixed code style * Add additional so pointers to the tensor * Rewrite approach for compile model and tensor * Removed API from proxy * Fixed is/as Blob for wrapped Blobs * Wrap tensor when set tensor to plugin * Fixed recursive call * Don't unwrap tensors for AUTO plugin * Fixed Some Multi tests with remote blob for proxy * Align context name with tests * Fixed code style * Try to fix more tests * Some minor changes * Try to fix OVHoldersTests * Try to save low level SO in high level wrappers * Revert "Try to save low level SO in high level wrappers" This reverts commit430ff8a526. * Revert "Try to fix OVHoldersTests" This reverts commit32604f0d3e. * Disable some tests * Fixed DynamicBatchShapeTests * Fixed caching tests and skip OVHoldersTest * Small refactoring * Fixed import model * Small fix * Fix typo which causes fails of caching tests * Disabled AUTO BATCH for proxy device * Support Export in Auto batch * Small changes * Fixed initialization fallback to plugin with proxy name * Added more values for tests * Ask all devices and create context if no device id * Support export in auto batch * Fixed some comments * Fixed some comments and removed auto batch * Fixed some comments * Fixed auto batch test and some comments * Fixed build * Removed proxy plugin class from dev api * Fixed code style * Fixed disabled tests
OpenVINO Python API
OpenVINO Python API is a part of the OpenVINO library. The component is responsible for:
- Bindings of OpenVINO - allowing users to use the OpenVINO library in their Python code. Python API provides bindings to basic and advanced APIs from OpenVINO Runtime.
- Extending OpenVINO with pythonic features - on top of direct translations from C++, Python API component:
- Adds specific extensions to support numpy-based data.
- Provides support for external frameworks inputs.
- Provides shortcuts and helpers with more pythonic design.
- Allows to apply advanced concepts, like shared memory, to take full advantage of OpenVINO.
OpenVINO Python API uses the common codestyle checks which are adjusted to project needs.
Key contacts
If you have any questions, feature requests or want us to review your PRs, send us a message or ping us on GitHub via openvino-ie-python-api-maintainers. You can always directly contact everyone from this group.
Components
OpenVINO PYTHON API has the following structure:
- docs - folder that contains developer documentation and code examples.
- src - folder with all source files for Python API.
- src/compatibility - sources for compatibility API, including older modules like
ngraphandopenvino.inference_engine. - src/openvino - Python sources for current API.
- src/pyopenvino - C++ sources for current API.
- src/compatibility - sources for compatibility API, including older modules like
- tests - tests directory for current API.
- tests_compatibility - tests directory for compatibility API.
- thirdparty - folder that contains third-party modules like
pybind11. - wheel - wheel-specific directory that contains all specific requirements and files used during wheel creation.
Tutorials
If you want to contribute to OpenVINO Python API, here is the list of learning materials and project guidelines:
- How to contribute
- How to extend OpenVINO Python API
- How to test OpenVINO Python API
- How to upgrade local Python version