* Revise reference implementation for ReduceMin operation
* Refactor backend unit tests
* Move tests with zero dims to op_eval
* Fix code style
* Added minor changes
* Replace CoordinateTransform for CoordinateTransformBasic
* Added constant expression to set keep_dims as false
* Add const qualifier to local variables
* Use host tensor to retrieve and normalize axes
* Re-arrange unit tests in manifest
* Revise reference implementation for ReduceMax operation
* Refactor backend unit tests
* Move tests with zero dims to op_eval
* Remove test with double elem type
* Fix code style
* Added minor changes
* Replace CoordinateTransform for CoordinateTransformBasic
* Added constant expression to set keep_dims as false
* Add const qualifier to local variables
* Use host tensor to retrieve and normalize axes
* Remove CoordinateTransform call to index function to calculate tensor element indexes
* Allow negative axis values in axes host tensor
* Added constant expression to set keep_dims as false
* Use rank from host tensor to normalize axes
* Address minor comments
* Add const qualifier to local variables
* Add deprecated macro for arm plugin dependent function signatures
* Remove duplicate helper functions
* Revise reference implementation for ReduceL1 operation
* Revise reference implementation for ReduceL2 operation
* Move op_eval tests to backend unit tests
* Added minor changes
* Replace CoordinateTransform for CoordinateTransformBasic
* Added constant expression to set keep_dims as false
* Add const qualifier to local variables
* Use rank from host tensor to normalize axes
* Revise reference implementation for ReduceSum operation
* Refactor backend unit tests
* Move tests with zero dims and dynamic shapes to op_eval
* Removed tests for f64 precision not supported
* Add support for precisions bf16, i8 and u8
* Clean up interpreter manifest unit tests
* Create ticket for result mismatch and accuracy failing tests
* Disable back interpreter tests failing for ubuntu18 i386 for large tensors
* Revert "Add support for precisions bf16, i8 and u8"
This reverts commit 8f1bba0dff.
* Add to manifest tests with disable types of reference implementation
* Address review comments
* Use constexpr variable to set keep dims as false in reduction output shape
* Replace CoordinateTransform with CoordinateTransformBasic
* Fix typo in variable name
* Remove keep_dims parameter from sum function call
* Implement Einsum reference in nGraph interpreter
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Apply code-style patch and fix build issues
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix CI build
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix fast build and apply code review feedback
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add visitor API tests, check for input type and reduce memory consumption
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Apply code style
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add visitor API tests
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Started to write nGraph reference implementation of the operation ExperimentalDetectronTopKROIs.
* Written cpp-file for the nGraph reference implementation of the operation ExperimentalDetectronTopKROIs.
* Code style fixes.
* Started to write evaluate() (in evaluates_map.cpp) for the nGraph operation ExperimentalDetectronsTopKROIs.
* Code style fixes.
* Written evaluate() for ExperimentalDetectronTopKROIs.
* Small fixes.
* Written test for ExperimentalDetectronTopKROIs evaluation.
* Small fix.
* Fixed Apache license header.
* Some changes.
* int64_t was replaced with size_t in the body of ngraph::runtime::reference::experimental_detectron_topk_rois().
* Added more test for evaluation of ExperimentalDetectronTopKROIs.
* Add Convert unit tests to check C++ to LP types convertion.
* Add unit tests to check LP types to C++ ints.
* Disable LP to C++ ints tets in CPU plugin.
* Remove f64 support from Convert evaluate.
* Add initial version of u1 type support.
* Turn off u8_to_u1 test in IE.CPU.
* Fix compilation issue.
* Replace std::memset with std::fill.
* Add u4 type support.
* Add i4 support.
* LP types support generalized.
* Remove std::copy optimization.
* Fix backend test for LP types.
* Fixed arm plugin compilation.
* Add LP types to Serialization SLT.
* Add Convert to summarize.py report.
* Added tests for 2D DFT when we have signal_size and axes [0, 2].
* Rewritten reference implementation of DFT and IDFT.
* Code style fixes.
* Reverted changes.
* Added debug prints.
* Temporarily commented some functions.
* Reverted changes in (I)DFT reference.
* Added more debug prints (in evaluates_map.cpp, to evaluate() for IDFT).
* Added setting output shape for DFT and IDFT evaluate() in evaluates_map.cpp.
* Added more tests for signal_size case of DFT.
* Written tests for signal_size case of IDFT.
* Deleted debug prints from (I)DFT reference implementation (the file fft.cpp).
* Deleted debug prints from evaluate() for DFT and IDFT.
* Deleted debug prints from tests for DFT.
* Deleted debug prints from IDFT tests.
* Code style fixes.
* Enabled CPU evaluation tests for DFT and IDFT in CPU supported cases.
* Enabled CPU (I)DFT layer tests.
* Copied fix for specialization of function is_float() for (b)float16 from Pertovsky Aleksandr's PR 5654.
* Reverted changes in the function is_float() from ie_precision.h.
* Disabled BF16 CPU FuncTests for (I)DFT.
* Deleted filling 'buffer' by zeros. Simplified the function lengths_except_given_axis.
* Small fix.
* Code style fix.
* Reverted deleting 'std::fill(buffer.begin(), buffer.end(), complex_type{0.0f, 0.0f});'
* Reverted changes in the function lengths_except_given_axis().
* Changes in the function lengths_except_given_axis().
* Small fix.
* Deleted commented code.
* Simplifications in the function lengths_except_given_axis().
* Deleted commented code.
* Enabled BF16 (I)DFT CPU FuncTests.
* Fixed comments before disabled (I)DFT IE_CPU tests.
* Reference implementation init
* Backend tests
* Single layer tests
* Update offset range in layer tests
* Align int types with ng op
* Update spatial bins type
* Type update
* Fix sub bin calculation in mkldnn plugin
* Update summarize py file
* Align result type
* Refactoring
* Apply review comments
* Add serialize layar tests
* Adjust int comparison
* Adjust code style
* Use clamp reference
* Unify style
* Additional check for negative output dim
* Set tensor output shape in evaluate
* Add visit attributes test
* Small refactor
* Code style (namespace comments)
* Fix CommonTestsUtils::fill_data_roi usage.
This function was generalized in PR #5432 and its siganutre has changed.
* Update licenese header with mention about original authors.
* Replace MIT SPDX full license name with short identifier.
* Fix sub bin calculation in mkldnn plugin
Co-authored-by: jdanieck <jozef.daniecki@intel.com>
* Add Serialization SLT for Convert op.
* Add comment with explanaition to convert ref impl.
* Refactored backend tests for Convert operation.
* Give better names to backend tests.
* Add more backend unit tests.
* Fixed tests related to u1/u4/i4 types.
* Refactor backend tests
* Rewrite reference implementation
* Align ref impl signature with order of inputs in v5
* Remove legacy code for training and backprop
* BarchNorminference operation class review
* Use reference to const in helpers to validate input shapes
* Refactor type_prop tests to cover v0 and v5
* Add type_prop tests
* epsilon attribute test with invalid value
* invalid integer input types
* Add serialization single layer test
* Add attribute visitor test
* Fix arm plugin test failure with dynamic element type
* Remove CoordinateTransform index call
* Add attribute count to visitor test
* Enhance dynamic shape inference of validate and infer types method
* Review op class of DeformableConvolution
* Add node validation checks into validate and infer types specific to element type and shape of inputs
* Refactor validate and infer types method to use common function to validate conv parameters and infer output shape
* Apply these changes to Convolution and BinaryConvolution for alignment
* Add type_prop unit tests
* Add node validation checks for deformable values spatial dimensions
* Fix type_prop and python api shapes
* Fix deformable values spatial dimensions
* Add validation checks in reference implementation
* Address review comments
* Remove reference to const for basic types in ref impl
* Update comment with ticket to add check for u1
* Change deformable values to offset to align with spec
* Compile time enabling or disabling of first inference time counters
* First inference time counters
* Counters for validate_nodes_and_infer_types and check_all_parameters_registered removed from first inference time counters scope
* Code style fix
* Missing macro for CC and invalid domain names
* Code style fix
* Unused function warnings fixed
* Enabled Wall for nGraph
* Fixed Linux build
* Fixed ONNX Editor and class-memaccess
* Fixed topK
* Fixed some builds
* Fixed nGraph Python API
* Use std::fill instead of cycle
* Wno-unded and deprecation for app python versions
* Add deformable_convolution unit tests
* add 2D unit test
* Add unit-tests for 3D deformable_convolution
* create shared test class for deformable_convolution
* create single layer test for cpu plugin
* create single layer test for serialization
* add deformable_convolution to opset1
* create empty evaluate method
* add group and deformable_group to parameters
* Create impl for generateInput method
* add deformable_val to deformable_conv paramset
* create additional unit-tests
* Remove 3D single layer tests
* Update GenerateInput and SetUp method
* Update parameters values for SLT
* Update GenerateInput method and create Validate method
* Create additional parameters set for cpu plugin SLT
* Create unit-test with padding and add it to disabled
* add interpreter unit tests to manifest
* style-apply
* create file for reference impl
* Update year of copyright and make Validate an override method
* Update parameters names for serialization single layer tests
* Update parameters names for functional single layer tests
* add failing unit tests for interpreter to manifest
* make tests parameters more readable
* style-apply
* Include deformable_convolution inside evaluates_map
* add support for groups parameter for reference impl
* style-apply
* remove DeformableConvolutionParams struct
* fix bug with filter
* fix bug with offset type
* Update interpreter manifest
* impl evalute method
* style-apply
* Update year
* Update test names
* add utils func for deformable convolution operation
* fix filter group count
* add calculation of index of offset
* Update offsets in unit test
* add support for multiple input channels
* add padding tests
* add padding support
* style apply
* update copyright year
* create validation check helper
* Update convolve function name
* update copyright year
* style-apply
* remove integer type from serialize layer tests
* add tests for deformable_groups
* fix bug with group > 1
* style-apply
* add group unit test
* create additional group tests
* fix bug with groups attribute
* Enhance dynamic shape inference of validate and infer types method
* Add type_prop unit tests
* Fix broken op create test in python api
* fix bug with shapes in group tests
* update deformable_convolution method
* add unit test with 2 groups and 2 defromable groups
* Fix code style.
* Update UT manifests with current test status.
* Refactored backend test: names, removed duplication, add TOODs
* Add missing test cases in 'integral offsets' group.
* Fixed group attribute.
* Update interprer manifest to disable tests with integer offsets.
* Fix style.
* Remove changes in operator class.
* Revert "Enhance dynamic shape inference of validate and infer types method"
This reverts commit 2f9ce2ccd4.
* Revert "Add type_prop unit tests"
This reverts commit 944af98b8c.
* Revert "Fix broken op create test in python api"
This reverts commit 72fbfc2967.
* Fix op class.
* Convert implementation to 2D.
* Simplify implementation.
* Fix centos build.
* Reimplemented offsets handling.
* Fixed integral offsets test cases.
* Fixed deformable group attribute.
* Add bilinear interpolation.
* Refactoring regarding tolerance_bits.
* Fix groups & def_groups test case.
* Add more unit tests for group & defgroup attribute.
* Remove debug code.
* Minor refactoring.
* Add integer types to SLT.
* Revert "Add integer types to SLT."
This reverts commit 2fefe8926d.
* Add tests with real number offsets.
* Refactored bilinear_interpolation().
* Turned on SLT.
Additionally refactored and offset input set to range <0,2>.
* Update headers with short version.
* Fix SLT offests generation with int offsets.
* Add integer types to SLT.
* Fix grup + def_group test case.
* Add ticket to address IE_CPU backend test failures
* Enable real resolution for deformable values
* Add op to list of trusted operations in python script
* Fix comparison of integer expressions of different signedness compilation error
* Add comment with closing namespace and empty lines
Co-authored-by: pszmel <piotr.szmelczynski@intel.com>
Co-authored-by: ggalieroc <gabriele.galiero.casay@intel.com>
* Started to write the header file for (I)DFT reference implementation.
* Continued to write the header file for (I)DFT reference implementation.
* Renamed the header file for the reference implementation of (I)DFT.
* Started to write an implementation file for the reference implementation of (I)DFT.
* Continued to write an implementation file for the reference implementation of (I)DFT.
* Continued to write an implementation file for the reference implementation of (I)DFT.
* Small fix.
* Written copying data from input and copying data to output.
* Code style fixes.
* Small fix.
* Some fixes.
* Some fixes.
* Small fix.
* Written naive version of (I)DFT calculation.
* Some fixes.
* Some fixes.
* Some fixes.
* Some fixes.
* Some fixes.
* Small fixes.
* Written the draft of the reference implementation of (I)DFT.
* Small fix.
* Small fix.
* Code style fixes.
* Added evaluation of (I)DFT to evaluation_map.cpp.
* Small fixes.
* Some fixes.
* Written test for evaluation of 1D DFT.
* Fixed ngraph/test/CMakeLists.txt.
* Disabled DFT evaluation test in CPU, because (I)DFT has not implemented yet in CPU.
* Added debug prints to evaluation test of DFT.
* Added debug prints into evaluate_map.cpp for DFT evaluation.
* Added some debug prints into FFT calculation.
* Added more debug prints.
* Added more debug prints.
* Added more debug prints.
* Added more debug prints.
* Added more debug prints.
* Small fix.
* Added more debug prints.
* Added more debug prints.
* Small change.
* Some fixes.
* Small fix.
* Some changes.
* Added more tests.
* Added test for IDFT 1D calculation.
* Some fixes.
* Added more debug prints.
* Small fix.
* Small fix.
* Some fixes.
* Some fix.
* Small fix.
* Added tests for 2D case of IDFT.
* Some fixes.
* Written tests for 3D case of DFT.
* Some fixes.
* Small fix.
* Added test for 3D case of IDFT.
* Some fixes.
* Deleted debug prints from tests for IDFT.
* Deleted debug prints from tests for DFT.
* Deleted debug prints from the reference implementation of (I)DFT.
* Code style fixes.
* Deleted debug prints from evaluates_map.cpp.
* Written the header file for the base class of DFT and IDFT operations.
* Written an implementation of the base class of DFT and IDFT.
* Now nGraph IDFT operation class is a derived class of FFTBase.
* Now the nGraph operation DFT is a derived class of FFTBase.
* Added assert for axes in (I)DFT reference.
* Small refactoring.
* Deleted commented code.
* Small refactoring.
* Small fix.
* Initialization of calculations of the reference implementation of (I)DFT was moved in the separate function.
* Small fix.
* Code style fix.
* Small fix.
* Now evaluate() of (I)DFT uses canonicalize_axes() from the reference implementation.
* Code style fix.
* Deleted commented code.
* Added tests for i32 axes of DFT.
* Added test for i32 axes of 2D DFT.
* Added i32 axes case to test for 3D DFT.
* Added test for i32 axes in tests for IDFT.
* Written signal_size case test for 1D DFT.
* Small fix.
* Written test for signal_size case for 2D DFT.
* Added test for bfloat16 input data of 1D DFT.
* Small fix.
* Small fix.
* Small fix.
* Some fixes.
* Some fix.
* Added bfloat16 input tests for 2D DFT.
* Some fixes.
* Written tests for bfloat16 input of 3D DFT.
* Some fixes.
* Some fixes.
* Added tests for bfloat16 input of 1D IDFT.
* Some fixes.
* Added tests for bfloat16 input of 2D IDFT.
* Added test for bfloat16 input of 3D IDFT.
* Small fix.
* Some fixes.
* Added tests for float16 input of 1D DFT.
* Small fix.
* Written tests for float16 input of 2D and 3D DFT.
* Small fix.
* Some fixes.
* Some fixes.
* Written tests for float16 inputs of 1D, 2D, 3D IDFT.
* Some fixes.
* Some fixes.
* Some fixes.
* Some fixes.
* Deleted redundant include.
* Some fixes.
* Added tests of 1D and 2D DFT for the case when some axes lengths are powers of 2.
* Added tests for 3D DFT and 1D, 2D, 3D IDFT in the case when lengths of some axes are powers of 2.
* Small fix.
* Added some comments.
* Added some comments.
* Add more span util and test
* ScatterNdUpdate new reference implementation
* add ScatterNDUpdate-3 to verified_operations
Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
* Convolution: Enhance dynamic shape inference of validate and infer types method
* Convolution: Change onnx test with dynamic shapes to float element type
* Convolution: Remove test instances with integer precision
* Convolution: Add backticks to types in spec
* Convolution: Change element type variable for output element type
* GroupConvolution: Add backticks to types in spec
* GroupConvolution: Enhance dynamic shape inference of validate and infer types method
* GroupConvolution: Remove serialization test instances with integer precision
* GroupConvolutionBackpropData: Remove serialization test instances with integer precision
* GroupConvolutionBackpropData: Enhance dynamic shape inference of validate and infer types method
* Convolution: Add helper function to validate convolution parameters in ref impl
* Convolution: Rewrite lambda to capture spatial dims of filters in validate and infer types
* GroupConvolution: Refactor reference implementation
* Remove call to old implementation of convolution using dilations
* Added validation method to validate shapes
* GroupConvolutionBackpropData: Add more type_prop unit test and refactor test names
* Convolution: Extended validation of convolution parameters in reference implementation
* GroupConvolution: Extended validation of group convolution parameters in reference implementation
* GroupConvolutionBackpropData: Add helper function to validate convolution backprop parameters in ref impl
* Clean up unnecessary lines
* BinaryConvolution: Use validate helper function from convolution ref impl
* Convolution: Refactor validate and infer types to improve readability
* BinaryConvolution: Refactor validate and infer types to improve readability
* Convolution: Add explicit tensor shape dims for inputs and outputs in spec
* BinaryConvolution: Add explicit tensor shape dims for inputs and outputs in spec
* GroupConvolution: Add explicit tensor shape dims for inputs and outputs in spec
* Add helper function to infer convolution forward output shape
* Convolution: Refactor validate and infer types to use helpers to infer output shape
* BinaryConvolution: Refactor validate and infer types to use helpers to infer output shape
* GroupConvolutionBackpropData: Fix formula to calculate output shape in validation functions
* Remove symbol to export convolution output shape inference function
* GroupConvolution: Add validation checks for input channels dim of data batch and filter shape
* GroupConvolutionBackpropData: clean up type prop tests
* Convolution: Change element type in onnx unit tests with dyn shapes and convolution nodes
* GroupConvolutionBackpropData: Correct layout of filters input
* GroupConvolution: Deduce groups from inputs shape during output shape inference
* Change spec supported types of convolution operations to any numeric type
* Revert "GroupConvolution: Remove serialization test instances with integer precision"
This reverts commit 781c2570d6.
* Revert "GroupConvolutionBackpropData: Remove serialization test instances with integer precision"
This reverts commit 9a6ac23968.
* Revert "Convolution: Remove test instances with integer precision"
This reverts commit 0b07052a62.
* Revert "Convolution: Change element type in onnx unit tests with dyn shapes and convolution nodes"
This reverts commit c9f5944b6b.
* Revert "Convolution: Change onnx test with dynamic shapes to float element type"
This reverts commit 1f4202b010.
* Allow integral types in validate and infer types method for convolution group of operations
* Add i32 precision in single layer tests for convolution group of operations
* BinaryConvolution: Fix shape of input and output tensors in spec
* Address nitpick comments
* Add more span util and test
* apply review suggestions
* add throw in at operator in span
Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
* Added reference implementation for Roll operation.
* Small corrections.
* Removed duplicate test disabling.
* Changed implementation using manual data manipulation.
* Removed unnecessary function.
* Corrected tests, added converting axes and shift to int64.