* Loop op ngraph implementation, update IE IR Reader and ngraph to cnn converter
* refactoring SubGraphOp class
* type prop unit tests
* ngraph code style
* update comment
* single layer tests for Loop operation
* fix file name
* Add SpecialBodyPorts attribute in Loop op, update single layer tests
* first debug version
* more tests
* missing test file
* removed not needed shapes from test data
* move test data to new folder
* shape infer tests
* Added execution tests
* add several new tests cases, strict checks in Loop impl, temporary disable single layer tests
* ngraph codestyle, refactoring, clone_new_args test
* resolve review remarks
* fix build
* fix tests
* more execution tests
* add a new constructor of Loop op, resolve review remarks
* execution tests
* synchro with current version
* handle scalars and more tests
* scalar test enabled
* loop reference impl
* bug fixes in tests, onnx importer part and in the ref implementation of the Loop op
* applied remarks
* handle unsupported cases
* rewrite unit tests
* update INTERPRETER manifest
* is_termination_condition_always_true simplification
* [TEST] update python models tests
* review remarks
* added xfail to tiny_yolov3
* missing model test
* revert test data
* fixed numbers of failing tests
* fixed failed test description
* fix test message
* fix xfail test
* reference implementation for ngraph::function
* update loop reference implementation
* Refactor loop reference implementation
* ngraph codestyle
* Refactoring
* Submodule update
* Skip check for Reduce ops in mkl for scalar cases, support for yolov3
* fix ngraph reader tests
* revert ceiling op, renaming
* Add allias(Ceiling) for Ceil op in mkl
* delete xfails
* fix build
* single layer tests for tensor iterarator
* Refactor TensorIterator and Loop ref impls
* revert dynamic tensor creation, disable some dynamic test cases
* fix warning
* Resolve review remarks
* revert Predefined values in Loop tests
Co-authored-by: Mateusz Bencer <mateusz.bencer@intel.com>
* Add fix for multiple_activations test
- Add forbid activation fusing pass for GNA2 library
- Fix get all prev layers fnct
- To enable GNA_NoRegression.smoke_multiple_activations_onGNA_INT16
* Apply Bartek review
* change tile reference implementation
* remove tile tests from interpreter manifest
* add repeats parameter to tile
* improve tile reference implementation
* add repeats parameter to tile reference call in tile evaluate method
* style apply
* include <numeric>
* add unnamed namespace to helper functions. Change stdio.h to cstdio. Change input_rank to be constant int
* add const reference to parameter repeats in tile reference function
* change createPitches function to use partial_sum instead of accumulate
* change a little bit createPitches function
* style-apply
* fix function naming
* style-apply
* fix calling functions name bug
* Add description of create_pitches function
* first version with debug logs
* reduce footprint
* single layer tests
* added more tests
* fixed handling bool type
* styles applied
* fix tile
* [ONLY DEBUG] print error scenario message
* fixed problem with e2e tests
* fixed casting of start_axis for numpy mode
Co-authored-by: pszmel <piotr.szmelczynski@intel.com>
* Some code style fixes.
* Started to write the method v5::NonMaxSuppression::evaluate().
* Started to write nGraph reference implementation of NMS-5.
* Some additions.
* Written preprocessing of boxes data.
* Started to write the function non_max_suppression() that calculates NonMaxSuppression-5 operation.
* Written postprocessing of the evaluate().
* Small fixes.
* Small fix.
* Added include for ngraph/shape.hpp.
* Written the function intersectionOverUnion.
* Some additions.
* Small fix.
* Continued to write the function non_max_suppression().
* Small fixes.
* Small fixes.
* Some changes.
* Some additions.
* Some replacements size_t by int64_t.
* Added casts to float in the construction of selected_score variable.
* Code style fixes.
* Written draft of NMS-5 nGraph reference implementation.
* Code style fixes.
* Started to write tests for void op::v5::NonMaxSuppression::validate_and_infer_types().
* Added tests for scalars/nonscalars.
* Fixes in the test type_prop.nms_v5_output_shape.
* Fixes in tests nms_v5_output_shape_2 and nms_v5_output_shape.
* Written tests for validate_and_infer_types() of NMS-5.
* Code style fixes.
* Now NMS-5 evaluate() can have outputs with calculated shapes.
* Small fixes.
* Corrected tests for NMS-5 validate_and_infer_type().
* Code style fixes.
* Started to write inner version of NMS-5 with static output shapes.
* Written draft of the inner operation NonMaxSuppressionIE3.
* Started to write conversion of op::v5::NonMaxSuppression into NonMaxSuppressionIE3.
* Small changes.
* Some additions.
* Small fixes.
* Fixed typo.
* Fixed typos.
* Written draft of the transformation ConvertNMS5ToLegacyMatcher that converts ngraph::opset5::NonMaxSuppression into op::NonMaxSuppressionIE3.
* Written header file for the transformations from NMS-1, NMS-3, NMS-4 to NMS-5.
* Started to write conversion of NMS-4 to NMS-5.
* Added include for ngraph/opsets/opset4.hpp.
* Started to write conversion of NMS-3 to NMS-5.
* Small fixes.
* Written draft of the conversion of NMS-3 into NMS-5.
* Fixed typo.
* Started to write conversion of NMS-1 to NMS-5.
* Written draft of the conversion NMS-1 to NMS-5.
* Started to write tests for the conversion nGraph NMS-5 to inner NMS.
* Started to write the test ConvertNMS5ToNMSIEStatic.
* Written tests for conversion of nGraph NMS-5 to inner NMSIE3.
* Started to write tests for conversion of previous NMS to nGraph NMS-5.
* Written tests for conversion of old nGraph NMS to NMS-5.
* Started to write tests for opset5::NonMaxSuppression::evaluate().
* Some additions.
* Small fix.
* Written tests for op::v5::NonMaxSuppression::evaluate().
* Used NGRAPH_RTTI_DECLARATION for NonMaxSuppressionIE3.
* Used NGRAPH_RTTI_DECLARATION for NMS-5.
* All static local constants and functions for NMS-5 were moved into non-named namespace.
* Some code style fixes.
* Moved some file.
* Small fix.
* Code style fix.
* Now NMS-5 supports all floating types in inputs 0 and 1.
* Moved some files.
* Fixed include directive in the file convert_nms_5_to_legacy.cpp with transformations NMS-1, 3, 4 -> NMS-5.
* Small changes.
* Deleted conversion NMS-3 -> legacy.
* Small changes.
* Fix in op::v5::NonMaxSuppression::evaluate: output shape [1] instead of [] in the output port 2.
* Code style fixes.
* Deleted conversion of NMS-4 into legacy NMS.
* Deleted redundant ifs.
* Added NMS-5 to Python API.
* Code style fix.
* Small change.
* Fixed element type for constants in the conversion of NMS-5 to NMSIE3.
* Deleted support of f64 in NMS-5.
* Added checks for input element types for inputs #0, #1, #3, #4, #5.
* Small change.
* Now get_floats throws an exception for unsupported types.
* Now nGraph NMS-5 supports 0D and 1D tensors in inputs #2, #3, #4, #5.
* Small fix in test_non_max_suppression.
* Deleted using namespace std
* Fixes in test_non_max_suppression().
* Small fixes.
* Added 'import PartialShape' in test_reduction.py.
* Deleted creating fake inputs in the ctor of op::v5::NonMaxSuppression.
* Deleted creating fake inputs in op::v5::NonMaxSuppression::clone_with_new_inputs.
* Corrections in int64_t op::v5::NonMaxSuppression::max_boxes_output_from_input() const.
* Corrected functions float op::v5::NonMaxSuppression::soft_nms_sigma_from_input() const, float op::v5::NonMaxSuppression::score_threshold_from_input() const, float op::v5::NonMaxSuppression::iou_threshold_from_input() const.
* Small fixes.
* Deleted commented code.
* Fixes in nms_v5_scalar_inputs_check.
* Some changes.
* Small fixes.
* Code style fixes.
* Small changes.
* Small changes.
* Small fix.
* Deleted commented code.
* Some refactoring in ConvertNMS4ToNMS5 ctor.
* Small fix.
* Common part of conversions NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 was moved into the separate function.
* Now conversions NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 support both 2 inputs, and 5 inputs.
* Now transformations NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 are called from 'umbrella' transformation.
* Now the transformation ConvertNMS5ToLegacyMatcher supports NMS-5 with 2, 3, 4, 5, or 6 inputs.
* The transformation ConvertNMS5ToLegacyMatcher was rewritten using Reshape instead of Unsqueeze.
* Started to rewrite tests for the transformation ConvertNMS5ToLegacyMatcher.
* Some fixes.
* Small fixes.
* Corrected tests for the transformation NMS-5 -> NMSIE3.
* Small formatting fix.
* Now methods max_boxes_output_from_input(), iou_threshold_from_input(), score_threshold_from_input(), soft_nms_sigma_from_input() of op::v5::NunMaxSuppression are public.
* Started to move op::v5::NonMaxSuppression::evaluate() into ngraph/test/runtime/interpreter.
* Added NMS-5 to ngraph/test/runtime/interpreter/int_executable.
* Small fixes.
* Code style fixes.
* Written draft test nonmaxsuppression_center_point_box_format_backend in ngraph/test/backend.
* Small fix.
* Written draft tests of NonMaxSuppression in ngraph/test/runtime.
* Some changes.
* Small changes.
* Disabled IE_CPU tests for NMS-5.
* Deleted op_eval tests for NMS-5.
* Deleted evaluate() method of NMS-5.
* Now all nGraph functions in tests of the transformation NMS-5 -> NMSIE3 have one output.
* Now preprocessing and postprocessing of the calculation of NMS-5 in reference implementation.
* Code style fixes.
* Some fixes in tests for the transformation NMS-5 -> NMSIE3.
* Replaced precision i64 -> i32 for some constants in tests for the transformation NMS-5 -> NMSIE3.
* Written creating CNNLayer for NMS-5.
* Added creating CNNLayer for NonMaxSuppressionIE3.
* some changes.
* Now conversions NMS-1, NMS-3, NMS-4 -> NMS-5 and NMS-5 -> NMSIE3 generate NMS nodes with 5 inputs.
* Fixed ctor in MKLDNN NonMaxSuppressionImpl: validation of number of output edges.
* Added conversion of output_type for NMS-5.
* Fixes in the transformation NMS5 -> NMSIE3.
* Fixes in the conversion of NMS-5 to NMSIE3.
* Fixes in MKLDNN NMS ctor.
* Small fix.
* Fixed tests for the transformation NMS5 -> NMSIE3.
* Fixed tests for conversions NMS-1, NMS-3, NMS-4 -> NMS-5.
* Small fixes in MKLDNN NMS ctor.
* Rewritten create_layer() functions for NMS-5 and NMSIE3 as addSpecificCreator() functions.
* Disabled tests for IE IR reader for NMS-4.
* Deleted debug code.
* Added comment about disabling tests IE_CPU.nonmaxsuppression.
* Written IE IR Reader test for NMS-4.
* Deleted function float_from_constant_node.
* Small fixes.
* Deleted functions function_from_model and construct_weights.
* Small fix.
* Replaced push_back with emplace_back in the conversion of NMS-5 to legacy.
* Small changes.
* Some fixes.
* Refactored reference implementation of NMS-5.
* Moved structure NMSAttributes to unnamed namespace.
* Code style fixes.
* Small fix.
* Remove deprecated v0::TopK
* Remove using SortType and using Mode from TopK
* apply code format
* Revert "Remove using SortType and using Mode from TopK"
This reverts commit ee2f99ea89.
* Generate unique output file names in CheckExecGraphInfoSerialization testcase.
When multiple instances of this test were executed in parallel the same
file was accessed by multiple threads which was the cause of flakiness.
* Enable ExecGraphTests.CheckExecGraphInfoSerialization on GPU
* Fix serialization of execution graph.
* Add exec graph comparison.
* Align execution graph serialization to old aproach.
* Revise error massages.
* Fixed execution graph comparison.
Now only attribute names are compared since values can differ on
different devices.
* Readability refactoring.
* Refactoring regarding readability.
* [IE] Add batched blob support
New `class BatchedBlob : public CompoundBlob` defined to allow to pass multiple blobs as 1 InferRequest input.
Motivation: There is the special user case when a number of plain images (e.g. `NV12Blob`) should be passed as one input for network which batch size > 1.
`class CompoundBlob` is not applicable for such cases due to:
1. `NV12Blob` is `CompoundBlob` which prevents to combine multiple NV12 images to a CompoundBlob
2. The default behavior in most of plugins - do not accept generic CompoundBlob as `SetBlob()` argument
Adding `SetBlob(name, vector<Blob::Ptr>...)` to `class IInferRequest`, `class InferRequest`, `class IInferRequestInternal`, ... - is not effective solution due to limited and specific use cases for `batched inputs`.
+ Apply rule-of-zero to CompoundBlob and inherited classes.
* Add "BATCHED_BLOB" optimization capability metric
* Add BatchedBlob usage to hello_nv12_input_classification
* Apply offline code review outcome:
1. Revert CompoundBlob public .ctors signatures
2. Remove 'workaround' .ctor for `BatchedBlob`
3. Revert tensor descriptors of `I420Blob` `NV12Blob` back to the 'fake' value.
* Code review fix
* Add functional tests for CPU, GPU, MULTI, HETERO
* update doc comment
* Apply code review change requests.