OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference
Go to file
Gladilov, Gleb 543559f58c
[IE][VPU][nGraph]: Enables dynamic Reshape with non-const pattern support in myriad plugin (#1159)
* [IE][nGraph]: Introduces PartialShape ctor from values vector

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU][nGraph]: Moves evaluateTargetShape to common utilities

The same functionality - get upper-bound shape estimation for dynamic
input - is needed in dynamic Reshape along with dynamic Broadcast.
Return value type has been changed from PartialShape to vector<int64_t>.
The reason is Reshape encodes special values (0, -1) into input values
that define output shape. Representing those values (which upper-bound
provides evaluateTargetShape) as PartialShape leads to incorrect
representation vector with -1 as dynamic shape - which is not expected.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU][nGraph]: Introduces StaticShapeReshape

In comparison with original Reshape StaticShapeReshape propagates
upper-bound shape through a function in case of dynamic input. To do so,
shape inference method gets upper-bound shape from evaluateTargetShape,
decodes special values (0, -1) in it and then propagate the result.

Output shape processing happens only once, because if shape inference
were called after ShapeOf operations have been optimized out on dynamic
path, then evaluateTargetShape will require evaluate method for all
operations that appear in function before current Reshape. Since
evaluate method is implemented not for all operations it lead to
Faster-RCNN compilation error.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU][nGraph]: Updates Reshape DTS on StaticShapeReshape

In case of non-const Reshape input that defines output shape DTS uses
StaticShapeReshape which propagates upper-bound shape evaluated from
this input through a function.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU][nGraph][Tests]: Refactoring DTS Reshape tests

The only changes are:

* header files include reordering
* indentation/wrapping fixing

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU][nGraph]: Moves ShapeOf transformation out of DTS scope

In comparison with DTS ShapeOf transformation needs to work on whole
function. Separating these 2 transformations makes testing easier since
now it's possible to call specific DTS without ShapeOf transformation
and vice versa.

Also DynamicToStaticShapeOf has been renamed into
EliminateShapeOfAfterDSR since transformation doesn't introduce new DSR
operations.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [VPU][Tests]: Introduces DTS Reshape tests with non-const pattern

New StaticShapeReshape constructor has been added as well, since test
fixture should create it from reshape parameters, not reshape itself.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>
2020-07-13 18:19:05 +03:00
.ci/openvino-onnx Add nGraph-ONNX tests (#1215) 2020-07-10 11:53:56 +02:00
.github/workflows Actions CI: Enable nGraph Code style check (#863) 2020-06-10 16:18:53 +03:00
cmake Deprecated cnn layer (#1138) 2020-07-03 20:57:28 +03:00
docs Implement ScatterND operation in MO and transform for SparseToDense (#584) 2020-07-10 12:29:15 +03:00
inference-engine [IE][VPU][nGraph]: Enables dynamic Reshape with non-const pattern support in myriad plugin (#1159) 2020-07-13 18:19:05 +03:00
model-optimizer Implement ScatterND operation in MO and transform for SparseToDense (#584) 2020-07-10 12:29:15 +03:00
ngraph [IE][VPU][nGraph]: Enables dynamic Reshape with non-const pattern support in myriad plugin (#1159) 2020-07-13 18:19:05 +03:00
scripts fix build target name in demos for Windows (#1253) 2020-07-07 18:44:11 +03:00
tests Fix MemCheckTests failures caused by change in OMZ models scope (#1214) 2020-07-08 12:33:39 +03:00
tools [IE Tools] Update tools with new Python API (#944) 2020-07-08 13:38:49 +03:00
.gitattributes Publishing R3 2018-10-16 13:45:03 +03:00
.gitignore publish master branch snapshot, revision 8d31237e2c3f673cbb0f0ba110fc10f5cce1d2bb 2020-05-22 02:23:12 +03:00
.gitmodules add submodules for mkl-dnn, gflags and gtest 2020-05-21 23:00:55 +03:00
azure-pipelines.yml Try "system.debug: true" (#1179) 2020-07-02 17:55:53 +03:00
build-instruction.md [Docs] Fixes in readme files: (#750) 2020-06-03 20:14:35 +03:00
CMakeLists.txt [nGraph] Allow to use protobuf lite in onnx importer (#687) 2020-07-09 15:30:17 +02:00
CODEOWNERS Add python API codeowners (#1254) 2020-07-09 18:09:06 +03:00
CONTRIBUTING.md Create CONTRIBUTING.md 2020-05-19 19:04:27 +03:00
get-started-linux.md [Docs] Fixes in readme files: (#750) 2020-06-03 20:14:35 +03:00
install_dependencies.sh [Docs] Fixes in readme files: (#750) 2020-06-03 20:14:35 +03:00
Jenkinsfile [Jenkinsfile] Add failFast parameter (#721) 2020-06-02 20:22:25 +03:00
LICENSE Publishing R3 2018-10-16 13:45:03 +03:00
README.md [Docs] Fixes in readme files: (#750) 2020-06-03 20:14:35 +03:00

OpenVINO™ Toolkit - Deep Learning Deployment Toolkit repository

Stable release Apache License Version 2.0

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

How to Contribute

See CONTRIBUTING for details. Thank you!

Support

Please report questions, issues and suggestions using:


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