* Move Convolution and ConvolutionBackpropData ref impls into separate files.
* Add convolution unit tests.
* New convolution reference implementation.
* Remove unused convolution ref impl argument.
* Fix style.
* Revert "Remove unused convolution ref impl argument."
This reverts commit 739065d0d0.
* WA for arm-plugin: additional include with ConvolutionBackpropData.
* Style format in Convolution SLT CPU instantiation.
* Add 1D Convolution SLT CPU tests.
* Add Convolution Serialization SLT.
* Update source banners with 2021 date.
* Specification review.
* Readability improvement in padding detection.
* Refactoring regarding Tensor usage.
* Iteration over tensor slices made more readable.
* Code refactored to use only one convolution implementation.
3D convolution is used to compute also in 1D & 2D case (parameters,
inputs and filters shapes are adjusted accordingly).
* Removed Tensor abstraction.
* Name unnamed namespace as convolution_details.
* Refactoring: replaced std::next + negative index with std::prev.
* Specification refactoring.
* Revert "Name unnamed namespace as convolution_details."
This reverts commit cea526ec49.
* Added new convolution() overload.
* Fix legacy convolution() overload (needed for kmb-plugin).
* Reduced number of template type arguments in convolution ref impl.
* Added 'output' section in Convolution spec.
* Remove floating round type configuration.
* ConvertLike: Develop reference implementation
* ConvertLike: Enable single layer tests for GPU plugin
* ConvertLike: Enable bf16 precision for evaluate method
* ConvertLike: Add unit tests
* ConvertLike: Add dynamic shape test case
* ConvertLike: Remove unnecessary ngraph namespace and using declaration for v1::ConvertLike
* ConvertLike: Simplified reference::convert by using std::enable_if
* Bucketize: Revise op class and add type_prop unit tests
* Bucketize: Develop reference implementation
* Bucketize: Add unit tests
* Bucketize: Add single layer test and cpu instantiation
* Bucketize: Add unit test with empty buckets for INTERPRETER
* Bucketize: Typo in buckets element type check
* Bucketize: Add custom generated inputs in single layer test class
* Bucketize: Use random_device to generate seed for data blob
* Bucketize: Remove unsupported f64 precision
* Bucketize: Add function description
* Bucketize: Remove randomness of inputs generation by using static seed
* Bucketize: Support different precisions for data and bucket inputs
* Bucketize: Refactor type_prop tests and improve backend unit test coverage
* Partially removed cmake duplication with IE cmake
* Deprecated API usage: fixed or suppressed
* Fix for TypeRelaxed
* Canonical form for ngraph includes
* Removed extra visibilit settings; removed graphviz find_package
* Removed var_functions module; canonical includes for ngraph::reference
* Fixed deprecated API in ngraph tests
* Re-use standard cmake macro for shared libs
* Trying to fix ONNX importer tests
* Revice DetectionOutput reference implementation
Ticket: 37433
* fix test_create_op
* fix test_dyn_attributes
* apply code format
* fix crash on Windows when variance_encoded_in_target == 1
* add more checks for DetectionOutput inputs
* Fix single layer tests
* apply code format
* fix ssd_vgg16_300 inference with batch size > 1
* update types in docs
* fix crash on windows
* apply code style
* fix python tests
* fix setting output type
* change False to false and True to true in docs
* Allow prior boxes to have different type than box logits
Some models work that way
* simplify output shape calculation
* fixes to docs
* Create new iterators which allow to iterate over coordinates.
Use new iterators to speedup StridedSlice reference implementation.
* Call memcpy if reverse ref impl has nothing to reverse.
* Add unit tests for coordinate range.
* Change coordinates::RangeIterator to template.
* Yet another slice and reverse implementation.
Remove all stuff connected with ranges.
* Apply review suggestions.
* Back to ranges which base on CoordinateTransform.
* try to fix x84_32 build
* try to fix x84_32 build
* Ranges which return start, no, stride, direction.
* add input validation to coordinate_index
enable coordinate_range validation tests
* add some doxygens
* fix range increament
* add empyt range
* move SliceRange::get_value to cpp file
Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
Co-authored-by: ggalieroc <gabriele.galiero.casay@intel.com>
* Range: Align operator with spec and add unit tests
* Range: Remove output shape from range ref impl signature
* Range: Exclude backend unit tests for CPU and GPU due to unsupported dynamic ops
* Range: Add single layer test class for Range-4
* Range: Add unit test for shape inference
* Range: Add unit tests for i32 and f32
* Range: Refactor Range v0 backend test and added test for f32 type
* Range: Add floating point tolerance in unit tests to avoid failures due to precision
* Range: Add subgraph tests for Range add element-wise
* Range: Refactor Range class for single layer tests and add range add element-wise test with truncated inputs
* Add reference implementation for PSROIPooling operator
* fix test_roi_pooling
* use std::roundf
* remove unnecessary copies in single layer tets
* Fixes after review
* fixes after review
* use element::Type_t instead of element::
* apply code format
* add PSROIPooling to evaluates_map
* apply code format
* faster implementation of gather_nd operator for reference implementations
* remove old impl and time measurements
* exclude test for gather_nd for IE_CPU (output mismatch)
* apply review comments and rename variables for clarify
* rename variables according to PR comments
* try to apply all PR suggestions
* fix indices calcualtions
Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
* ROIPooling: Specification and op class alignment
* ROIPooling: Add check to input tensor type to be aligned with spec
* ROIPooling: Corrected spec description for input tensor shape and box coordinates
* ROIPooling: Changed attributes pooled_h and pooled_w from Shape to plain int
* Revert "ROIPooling: Changed attributes pooled_h and pooled_w from Shape to plain int"
This reverts commit d49cfa8e53.
* ROIPooling: Further specification changes
* ROIPooling: Rename enum class ROIPoolingMethod methods
* Fix style
* ROIPooling: Draft reference implementation
* ROIPooling: Adjust feature map element type to float for attribute unit test
* ROIPooling: Add single layer test class
* ROIPooling: Corrected output index to iterate through output tensor elements
* ROIPooling: Added validation checks for input types in op constructor
* ROIPooling: Add unit tests
* ROIPooling: Attributes unit test changed to align with spec
* ROIPooling: Add check for batch id in reference implementation and unit test
* ROIPooling: Refactor single layer test class
* ROIPooling: Add test for invalid pooling method
* ROIPooling: Clean up unnecessary function declaration
* ROIPooling: Remove duplicated default ROIPooling method in op constructors
* ROIPooling: Add Infer method to generate suitable ROI data
* ROIPooling: CPU single layer test instantiation for max method
* ROIPooling: Remove enum class ROIPoolingMethod
* Revert "ROIPooling: Clean up unnecessary function declaration"
This reverts commit 074b540dea.
* ROIPooling: Refactor single layer tests after removing enum class ROIPoolingMethod
* ROIPooling: Add attribute checks in op constructor to align with spec and unit tests
* Resolve CI failure: clang could not resolve static conversion from uint64_t to size_t
* ROIPooling: Fix for output index calculation to loop through all ROIs
* ROIPooling: Add unit test for bilinear interpolation method
* ROIPooling: Add CPU single layer test instantiation for bilinear method
* ROIPooling: Clean up unnecessary enum class for pooling method
* ROIPooling: Add myriad single layer test instantiation
* ROIPooling: Add F16 precision single layer tests for CPU plugin
* ROIPooling: Add node validation check for string method attribute in constructor and unit tests
* ROIPooling: Spec changes to improve understanding of the operation
* ROIPooling: Fix for bilinear method when pooled size is 1x1
* ROIPooling: Add unit test for bilinear method and pooled size 1x1
* ROIPooling: Fix to broken format of specifications
* ROIPooling: Disable Myriad single layer tests
* ROIPooling: Handle dynamic dims and ranks for input tensors and unit tests
* ROIPooling: Code clean up
* ROIPooling: Address review comments
* ROIPooling: Changed location for makeROIPooling helper method
Co-authored-by: Kirill Molchanov <kirill.molchanov@intel.com>
* update HardSigmoid spec
* create HardSigmoid ref impl
* add HardSigmoid to int_executable
* create unit-tests for HardSigmoid
* create onnx_model_hard_sigmoid test
* create onnx prototxt model for hard sigmoid
* add backend/hard_sigmoid to CMakeLists
* Change hard sigmoid prototxt to use attributes
* Change hard_sigmoid onnx model test to have 1 input
* style apply
* Change alpha and beta parameters to be pass by value
* interpolate improvement
* JITTED cubic mode
* fix 'code is too big' when JIT
* extend test to cover tail code path
* transformation of interpolate1 to interpolate4
* add low precision transformation for interpolate4
* sequences to ti transformations, support for seq_lengths input, update reference implemetations, add new tests
* fix python api, update sequences to ti transformation
* fix sequences to ti transformation
* Update sequences to TI transformation: fix reverse sequence support
* update single layer tests, fix TI reference impl, fix Sequences to TI transformations
* ngraph code style
* fix build
* fix ngraph python api
* resolver review comments, refactoring
* Resolve review remarks
* delete xfail
* Redundant op::Max CF removal
* Redundant op::Min CF removal
* Redundant op::Sum & op::Product CF removal
* CF Min and Max using evaluate()
* Arithmetic reduction CF pass removal
* Quantize op CF pass removal
* Convert op CF pass removal
* Logical reduction CF pass removal
* Select op CF pass removal
* OneHot CF pass removal
* Code formatting
* ScatterElements CF pass removal
* Gather CF pass removal
* Disable a Quantize op test that fails in CI
* CF pass cleanup
* Convert op cleanup and test adaptation to spec
* Possible fix for failing VPU tests
* Limit the types used in OneHot::evaluate
* Quantize op evaluator removal
* Refactor of Gather evaluator
* 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>
* 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.
* enable reference implementation for CTCGreedyDecoder single layer tests
* update unit test to have blnak_index
* remove merge_repeated disable flag for CPU test because CPU impl always
merge
* add CTCGreedyDecoder single layer tests for CPU
* changes to match xPU implementations
* apply reviewers suggestions
Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>