* Minimized legacy usage in tests
* Use legacy only for specific files
* Fixed code style
* Fixed linkage
* Removed old CPU / GPU tests binaries
* Test
* Disabled IB console
* Disabled test for AUTO QueryNetwork from parallel threads
Makes DTS for BinaryEltwise produce empty output tensor in case if at least one input is empty. As criteria for empty tensor ReduceMin is used (assuming all shape's values are non-negative).
Tests are changed accordingly. Trying to add a new test case on inference with empty input, reference version failed, so those tests are left unchanged.
* Support DTS for GatherElements
* Extract GatherBase to a common part
* Introduce tests on inference
* Introduce tests on function comparing
* Disable failing tests
Ticket - #-44546
Changes:
* Support dynamic data as broadcast input in Broadcast DTS
* Update DTS tests to support both dynamic and static inputs
* Update inference tests:
a) Refactor tests to have only one testing class - NonZero_Broadcast
b) Make DSR_TestsCommon base class to reuse createInputSubgraphWithDSR and inputs generating utils.
c) Add possibility to add additional results in DSR_TestsCommon, because NonZero doesn't support cases when both its outputs are unused, so we need to add at least one of them to function results.
* We need to convert ExtractImagePatches op to ReorgYolo to restore the working capacity of myriad plugin while compiling Yolo-v2 models.
* It was previously removed in #2687
* [VPU][GT][NGraph] Get rid of DynamicNMS and transformation
* [VPU][NGraph] Update DTS for NMS
* [VPU][NGraph] Update StaticShapeNMS to be inherrited from NMS-5
* [VPU][GT] Update StaticShapeNMS stage to work with updated NGraph op
* [VPU][Tests] Update tests
* [VPU][GT] Fix StaticShapeNMS to be inherited from NonMaxSuppressionIE3
* [VPU][GT] Remove unused NonMaxSuppression
* In this PR I'll add ngraph::pass::ConvertPrecision transformation and change only CPU Plugin to decrease number of changes. Other plugins will be updated in separate PR.
* This PR also includes changes for TI body transformations. We need to call the same sequence of transformations including ConvertPrecision for TI body.
* [IE][VPU]: Moves UpgradeNMS4ToNMSDynamic transformation into myriad plugin
* [IE][VPU]: Moves UpgradeNMS4ToNMSDynamic from common to vpu folder
* [IE][VPU]: Moves Dynamic NMS from common folder to vpu
* [VPU]: Makes NMS conversion unconditional
* [VPU][NGraph]: Changes dynamic NMS base class from v3 to v4
* [VPU]: Moves NMS4toDynamic transformation before common optimization
* [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>
* Specification for the NMS-4 operation (updated shape infer function)
* Enabled NMS-4 in the Model Optimizer
* Changed opset version for NMS with dynamic outputs and namespace to be "dynamic"
* Added NMS-4
* Added opset4 to the nGraph
* Added unit tests for NMS-4 type infer
* Renamed UpgradeNMS3ToNMS4 to UpgradeNMS3ToNMSDynamic. Added stub for ConvertNMS4ToLegacy
* Make IE aware of opset4 ops
* Updated NMSIE to have different shape infer function based on the NMS it was converted from. Implemented NMS4->NMSIE conversion
* Apply code style
* Updated StaticShapeNonMaximumSuppression op in the VPU
* Introduced new version of NMSIE operation with shape infer function from v4::NMS
* Fixed dynamicToStaticNonMaxSuppression transformation
* Added new version of NMSIE op with updated shape infer function
* Fixed NMS4 to NMSIE2 transformation
* Fixed constructors for nGraph ops v4::NM and dynamic::NMS
* Updated text in the opset4 specification document
* Code style fixes
* Fixed constructors for StaticShapeNMS + fixed test
* Minor change to the NMS op in the MO
* Fixed typo in the dynamic_to_static_shape_non_max_suppression transformation
* Removed redundant checks
* Refactored NMS infer and validate functions
* Added more checks to the validate_and_infer_types functions for NMS-3 and NMS-4
* Fixed compilation issue on Windows for op NMS
* Code style fixes
* Fixed typos in the NMSIE and NMSIE2 to CNNLayer op conversion
* Fixed typo in the ie_cnn_layer_builder_ngraph.cpp
* Fixed the NMSToLegacyNMS transformation. Added unit tests
* Apply code review comments
* Refactored NMSIE to use visitors
* Removed calling ConvertNMS4ToLegacy in the common optimizations
* Moved NMS4ToNMSLegacy to convert1_to_legacy group of transformations
* Removed useless include statement
* Removed copy-paste issue
Co-authored-by: Evgeny Lazarev <elazarev.nnov@gmail.com>