* Add tests, examples and documentation changes for custom ONNX operators registration mechanism
* Change snippet paths
* fix CoreThreadingTests.ReadNetwork - data race in ops_bridge
* Make TemplateExtension::Operation externally visible
* changes after review
* apply code format
* use std::int64_t
* forward declare get_attribute_value specializations
* introduce unregister_operator in onnx_importer
* onnx_custom_op - lock mem first then take a buffer
* func tests - create template_extension via make_so_pointer
* fix build with NGRAPH_ONNX_IMPORT_ENABLE=OFF
* remove exports from Operation and Extension
* Move multithreaded AddExtension test to different directory to it can be excluded when NGRAPH_ONNX_IMPORT_ENABLE=OFF
* Dont include Extension tests if ENABLE_MKL_DNN=OFF
* fix excluding onnx_reader tests
* include extension tests only if mkl is enabled
* add comment on empty blob
* use register_operator conditionally in template_extension
* fix docs after review
* create static library from onnx_custom_op
* add additional test for unregister_operator
* move model example after register step
* revert changes to unit tests
* update ngraphConfig.cmake.in header
* add headers to onnx_custom_op
* changes to docs CMakeLists
* remove redundant onnx_importer dependency
* remove extension directory from func tests
* make onnx_importer a component of ngraph package
* docs fixes
* update header of ngraph/cmake/share/ngraphConfig.cmake.in with ngraph_onnx_importer_FOUND
* Initial version of transformation callback refactoring
* Improved fine-grain tuning for transformation pipeline
* Check disabled matchers in GraphRewrite
* Avoid deprecated classes inside PassConfig
* Enabled DepthToSpace fusion by default
* Removed doulbe search in map
* Moved back pass_config.hpp; Added doxygen documentation for new class and methods
* Added doxygen comment for Manager and GraphRewrite new mthods
* Fixed concat output name when decomposing shape_of in CF
* Added friendly_name propagation for CF pass
* Propagate runtime info inside ConstantFolding pass
* Fixed rt info merge strategy to avoid cases when merge is not implemented but attributes number is equal to 1
* UWP fixes
* Commented code for compilation with UWP
* Current state: compiled for DESKTOP_APP
* Fixes
* Added toolchain
* Enabled ONNX imported for Windows Store
* Updated toolchain
* Fixes
* Disable ONNX in case of UWP
* Fix for Windows Driver
* Applied style check
* Dynamic loading of GetDLLDirectory symbols
* Clean-up in the toolchain
* Updated mkldnn plugin cmake
* [IE TESTS] GatherTree op ref function has been created.
* [IE TESTS] Added GatherTree single layer test
* [IE TESTS] Fixed code styles.
* [IE TESTS] GatherTree test FP32 precion was enabled.
* [IE TESTS] Refactoring of Builder::makeConstatn procedure
The refactoring is aimed at managing the range of random data for the constants initialization procedure.
* [IE TESTS] GatherTree test was extended with constants
* [IE TESTS] GatherTree ref rewritten to non-templated function.
* [IE TESTS] GatherTree test inp shape indx enum removed.
* Revert "[IE TESTS] Refactoring of Builder::makeConstatn procedure"
This reverts commit 2648172e00ccca266d39e8775b890b8a8395f57c.
* [IE TESTS] makeConstant was augmented with random data range parameters.
* [IE TESTS] GatherTree test was rewritten using makeConstant function.
* [IE TESTS] GaterTree test call templated makeConstant
* [IE TESTS] GaterTree test code style fix
* Add host_tesnor_2_vector() implementation and unit tests. One reference OP refactored to use it.
* Ngraph assertion message refactored.
Co-authored-by: Tomasz Dołbniak <tomasz.dolbniak@intel.com>
* Fix style.
Co-authored-by: Tomasz Dołbniak <tomasz.dolbniak@intel.com>
* validate_and_infer_types() implementation
* input parameter validation for LSTM, GRU and RNN
* style-check applied
* Add LSTMSequence dynamic shape validation and test props for RNNCell, GRUCell, LSTMCell and LSTMSequence.
* recurrent_sequence.hpp moved to ngraph/core/include/ngraph/op/util/
* style check applied
* removed unused variable from LSTMSequence::validate_and_infer_types
* Add missing newline mark at the end of file.
* Add supression macro for FusedOp deprecation.
* Add element type initialization
* Apply PR review remarks
* Rewrite tests to use gtest exception assertions.
* Fixed prototype of evaluate method.
* Rewritten Interpolate-4 ctors (added argument output_shape). Corrected tests.
* Fixed typo.
* Fixed number of args of make_shared in op::v4::Interpolate::clone_with_new_inputs.
* Fixes in Interpolate-4 tests.
* Now ONNX Upsample-1 is readed as Interpolate-4 with 4 inputs.
* Code style fixes.
* Some fixes in Interpolate-4 layer test.
* Now ONNX Upsample-9 is readed as Interpolate-4 with 4 inputs.
* Small fixes.
* Some changes.
* Fixed processing of 'scales' input in evaluation of Interpolate-4: now 'scales' contains scales only from 'axes'.
* Fixes in documentation.
* Now reference implementation of Interpolate-4 is rewritten for using 3 required inputs.
* Some code style fixes.
* Small fix.
* Started to write tests for method evaluate() of Interpolate-4.
* Continued to write tests for evaluate() of Interpolate-4.
* Some fixes.
* Some additions.
* Written draft of tests for 'cubic' mode with using scales.
* Some changes.
* Started to write tests for 'nearest' mode.
* Started to write tests for 'linear_onnx' mode.
* Some changes.
* Small fixes.
* Added setup of output type.
* Small addition.
* Added debug print into Interpolate-4 evaluate.
* Now in Interpolate-4 evaluation tests 3 inputs of Interpolate are Constants.
* Small changes.
* Added some debug print.
* Added more debug print.
* Some fixes.
* Now 4th argument of runtime::interpolate has type std::vector<int64_t>.
* Added checks for result of calculations.
* Added another expected values vector for the mode 'cubic'.
* Temporarily commented result value checks for the cubic mode.
* Written tests for 'nearest' mode.
* Some reorganization.
* Written tests for 'linear_onnx' mode.
* Fixed padding loop.
* Fixed docs for 'linear_onnx' mode.
* Written tests for 'cubic' mode.
* Deleted debug print.
* Fixed code style.
* Enabled CPU layer tests for Interpolate-4.
* Reverted changes of this file.
* Now ONNX importer reads Resize-1 as Interpolate-4 with 4 inputs.
* Now ONNX importer reads Resize-11 as Interpolate-4 with 4 inputs.
* Small fixes.
* Fixed docs.
* Added small epsilon in the shape calculation in the function op::v4::Interpolate::infer_using_scales.
* Small fix.
* Reduced size of the template function eval().
* Now the 'nearest' mode is rewritten to CoordinateTransfom instead of NDim* classes
* Now the 'cubic' mode is rewritten to use CoordinateTransformation instead of NDim classes.
* Started to rewrite 'linear' mode using CoordinateTransform.
* Started to write helper class.
* Small fix.
* Small changes.
* Some fix.
* Fixed typo.
* Now the preamble of 'linear_onnx' mode implementation is a method of helper class.
* Now the function clip_coord is the method of helper class, and the mode 'linear' uses CoordinateTransform instead of NDim classes.
* Deleted NDim classes.
* Some fixes.
* Some refactoring.
* Some refactoring: now inner calculation of 'linear' is in helper class.
* Moved reference implementation of Interpolate-4 into library with reference implementations.
* Small fix.
* Deleted commented tests.
* Code stile fixes.
* Deleted redundant type prop tests for Interpolate-4.
* Documentation fixes.
* Disabled IE_CPU tests for ONNX Resize: Interpolate-4 is not implemented in plugins.
* Temporarily disabled some ONNX tests.
* Some refactoring: deleted redundant attributes of InterpolateEval class.
* Small fix.
* Added NGRAPH_RTTI_DECLARATION and NGRAPH_RTTI_DEFINITION.
* Added debug print to 'cubic' mode calculation.
* Some deletions.
* Small fix.
* Fixed typos.
* Added another debug print.
* Now indices_shape is constructed from std::vector<std::size_t>(num_of_axes, 4) again.
* Fixed CMakeLists.txt.
* Small fix.
* Added more debug print.
* Fixed typo.
* Fixed calculation of the first argument of helper.clip_coord in the inner loop of cubic_func.
* Some code style fixes.
* Alphabetically sorted operations of opset4.
* Deleted constant cannot_define_axes.
* Used std::iota instead of loop.
* Renamed structure InfoToCallReference.
* Now void op::v4::Interpolate::validate_and_infer_types() checks an element type of an input tensor.
* Code style fix.
* Changes in reading of ONNX Resize and Upsample: we generate Interpolate-4 without 'axes' input.
* Now bodies of functions evaluate_interpolate_v4() and inline bool evaluate() are moved in the method bool op::v4::Interpolate::evaluate.
* Fixes in example of the documentation of Interpolate-4.
* Fixed typos.
* Small fix.
* Some fixes.
* Deleted some type aliases.
* Uncommented a test for 'cubic' mode.
* Small code style fix in bool op::v4::Interpolate::evaluate.
* Uncommented more test for Interpolate-4 reference implementation.
* Added more debug print.
* Some changes.
* Uncommented all tests for Interpolate-4 evaluate().
* Deleted debug print.
* Deleted 'simple' mode from the map nearest_mode_map.
* Code style fixes.
* Disabled some CPU tests.
* Some fixes.
* Small fixes.
* Some fixes.
* Fixed typo.
* Fixed typo.
* Small change.
* Fixed some typos.
* Fixed some typos.
* Fix in operator() of the class GetOriginalCoordinate.
* Disabled some CPU tests.
* Small changes.
* Deleted template function from resize.cpp.
* Code style fixes.
* Refactored the method op::v4::Interpolate::evaluate.
* Added documentation for infer_using_scales() and infer_using_shapes().
* Added documentation for classes GetNearestPixel and GetOriginalCoordinate.
* Small fixes.
* Some code style fixes.
* Small fixes.
* Some changes.
* Added NGRAPH_SUPPRESS_DEPRECATED_START and NGRAPH_SUPPRESS_DEPRECATED_END for using v0::InterpolateAttrs; and using v0::Interpolate;
* Code style fix.
* Enabled ONNX import only tests for Resize-10, Upsample-8, Upsample-9.
* Fixed element type for scales_const. Fixed targetShapes and pads in single layer tests.
* Small changes.
* Added conversion from NGRAPH to CNNLayer.
* Added documentation for the class InterpolateEval.
* Now 'nearest' mode has special tests in cpu single layer tests.
* Small changes.
* Fixes in cpu single layer tests.
* Temporarily commented Interpolate-4 in ConvertFunctionToCNNNetworkTests.
* Added some docs.
* Enabled some tests for Resize-11.
* Added test.
* Corrected expected values in the resize_downsample_scales_align_corners case.
* Added more test for the 'cubic' mode.
* Added more test for linear_onnx mode.
* Deleted debug print for linear_onnx mode.
* Deleted debug prints. Added yet another test for 'nearest' mode.
* Fixes for import of ONNX Resize-10 and Upsamples.
* Applyed Evgeny Lazarev fix for Interpolate-4 infer function.
* Code style fixes.
* Some tests were deleted from unit_test.manifest file for INTERPRETER.
* Deleted test for downscale Resize-10: results of infer are correct, but comparison is not.
* Enabled test INTERPRETER.onnx_empty_initializers_handling.
* Some fixes.
* Added the method run_with_tolerance_as_fp() to the class TestCase and the method compare_results_with_tolerance_as_fp() to the class TestCaseEngine.
* Small fix.
* Small fix.
* Added yet another type_prop test.
* Disabled CPU test IE_CPU.onnx_empty_initializers_handling.
* Code style fixes.
* Enabled some ONNX tests.
* Some changes.
* Code style fix.
* Enabled test INTERPRETER.onnx_model_round.
* Disabled tests with behavior as behavior of INTERPRETER.onnx_resize11_scales_down_linear.
* Changed tolerance for test onnx_empty_initializers_handling.
* Changed tolerance in the test onnx_resize11_sizes_linear (otherwise this test is failed in MacOS). Disabled test INTERPRETER.onnx_resize11_sizes_nearest_asymmetric_floor, because this test failed in MacOS only.
* Multiple fixes.
1. Fixes SpaceToBatch transformation to not crash if inputs are not Constant
2. Fixed eliminate_squueze, eliminate_unsqueeze to not crash when input has dynamic rank
3. Added reference implementation for the FloorMod operation
* Code style fixes
* Update floor_mod.hpp
Removed unnecessary function
* Introduce Quantize-Dequantize to FakeQuantize transformation
* Revert changes in DequantizeLinear
* apply code format
* Changes after review:
- description for transformation
- remove NGRAPH_CHECK and move some checks from callback to predicates in pattern
- check if out_low/high are broadcastable for FQ's first input
- fix params to copy_runtime_info
* Add type_matches and type_matches_any predicates
* Use get_single_value
* Changes after review:
- add brief description of transformation
- use get_pattern_value_map instead of get_pattern_map
- change opset1 to opset4
- fix params to copy_runtime_info
* Check result of dynamic_pointer_cast
* Reduce number of ops needed to create InstanceNorm
InstanceNorm in onnx importer creates the same subgraph for Mean twice - once for Variance and once for actual Mean.
This change makes InstanceNorm to use single Mean which is shared by numerator and Variance.
Also enables IE_CPU.onnx_model_instance_normalization test case
* Revert changes to .gitignore
* 1d case optimization
* code refactor
* concat optimization
* removed using template for concat
* unit tests to concat constant folding
* synchro with current master