LoadNetwork takes network argument by constant reference. Myriad plugin implementation applies transformations to given network in order to get compiled model. Transformations take network argument by non-constant reference, so at some point of time network copy must be acquired. ICNNNetwork is neither copyable nor movable, so the only way to get network copy is using special utility returning std::shared_ptr. Myriad plugin does not expose any ownership strategy, so prefers to take network argument by simple reference. Plugin also requires nGraph -> CNN conversion during LoadNetwork implementation. Conversion utilities returns std::shared_ptr, which makes plugin to use workaround for lifetime of converted object (to have 2 "pointers" to network: raw pointer to input network and smart pointer to converted network). Such workarounds make code more error-prone, because using wrong pointer to semantically the same object may lead to unexpected results. To overcome these issues API has been changed in a way to make interfaces more clear (do not expose ownership strategy or mutability) and get rid of unnecessary workarounds. Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com> |
||
---|---|---|
.ci | ||
.github | ||
cmake | ||
docs | ||
inference-engine | ||
licensing | ||
model-optimizer | ||
ngraph | ||
openvino | ||
scripts | ||
tests | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
build-instruction.md | ||
CMakeLists.txt | ||
CODEOWNERS | ||
CONTRIBUTING_DOCS.md | ||
CONTRIBUTING.md | ||
get-started-linux.md | ||
install_build_dependencies.sh | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
SECURITY.md |
OpenVINO™ Toolkit - Deep Learning Deployment Toolkit repository
This toolkit allows developers to deploy pre-trained deep learning models through a high-level C++ Inference Engine API integrated with application logic.
This open source version includes two components: namely Model Optimizer and Inference Engine, as well as CPU, GPU and heterogeneous plugins to accelerate deep learning inferencing on Intel® CPUs and Intel® Processor Graphics. It supports pre-trained models from the Open Model Zoo, along with 100+ open source and public models in popular formats such as Caffe*, TensorFlow*, MXNet* and ONNX*.
Repository components:
License
Deep Learning Deployment 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
- OpenVINO™ Release Notes
- OpenVINO™ Inference Engine Build Instructions
- Get Started with Deep Learning Deployment Toolkit on Linux*
- Introduction to Deep Learning Deployment Toolkit
- Inference Engine Developer Guide
- Model Optimizer Developer Guide
- Get Started with DockerHub CI for OpenVINO™ toolkit
How to Contribute
See CONTRIBUTING for contribution to the code. See CONTRIBUTING_DOCS for contribution to the documentation. Thank you!
Support
Please report questions, issues and suggestions using:
- The
openvino
tag on StackOverflow* - GitHub* Issues
- Forum
* Other names and brands may be claimed as the property of others.