Commit Graph

13 Commits

Author SHA1 Message Date
Mikhail Nosov
a2a8969201 [OV20] Enable OpenCV tests and support 'u8' type for Interpolate op (#8182)
* Interpolate reference implementation:
- Support u8 and other numeric types
- For integral types - round result to nearest integer (don't cast)
Preprocessing: enable OpenCV tests and add resize conformance tests with OpenCV

* Revert changes in interpolate.cpp, making them minimal needed (added u8 resize)
2021-10-27 20:56:43 +03:00
Mikhail Nosov
d65e7d4d4f [OV20] Preprocessing: convert_layout<std::vector<uint64_t>> implementation (#8213)
* Preprocessing: convert_layout<std::vector<uint64_t>> implementation

User is able to use this version without specifying layout explicitly

Same version of convert_layout is added for post-processing

Added usage of new convert_layout to ie_network_reader

* Fix review comment
2021-10-27 11:32:44 +03:00
Mikhail Nosov
d39fe50470 [OV20] Preprocessing: reverse_channels and RGB<->BGR conversion (#8098)
* Initial draft

* Support of dynamic shapes
2021-10-21 11:22:43 +03:00
Mikhail Nosov
e976a221f5 [OV2.0 Preprocessing] NV12 ref implementation fixes + tests with legacy CNNNetwork (#7985)
* NV12 Ref impl: Align with Legacy NV12 conversion
Little-endian tricks are completely not needed finally

Basic tests of OV20 preprocessing vs Legacy preprocessing:
- Mean/Scale
- Resize (Linear vs Bilinear)
- NV12 color conversion

* Register Template plugin in legacy core before CNNNetwork compliance test
NV12: round to nearest integer for 'u8' mode
Fix preprocess-reference NV12 tests (swap U & V)

* Decreased default threshold and use random distribution for inputs generation

* Added tests RefImpl vs OpenCV - NV12 color conversion
Added CPU accuracy tests + nightly (including all RGB color combinations)

* Fix build issue after rebase

* Remove test code

* Fix comments
Disable OpenCV tests on CI (some machines can't load opencv_imgproc during test)
2021-10-20 13:39:46 +03:00
Mikhail Nosov
2592856200 [OV2.0] Leftovers for Preprocessing/input/output (#7893)
* Pre-process:
- Implicit conversions for element type and layout
- 'convert_element_type' with default argument to network
- Convert_element_type - don't add ops if dst and src types are same
- Convert_layout - don't add ops if dst and src layouts are same
- Custom step - use Output<Node> instead of shared_ptr<Node>
- Support of addressing input by tensor name

Post-process:
- Avoid duplication of tensor names after post-processing

* Fixed IE tests
2021-10-08 12:58:29 +03:00
Mikhail Nosov
e20cefb620 PrePostProcessor.output() - first implementation of post-processing (#7866)
* PrePostProcessor.output() - first implementation of post-processing
Supported convert_layout, convert_element_type and custom operations

* Fix review comments

* Added test for pre and post processing together
Fix clang-format

* Move 'validate_and_infer_types' before post-processing
2021-10-06 21:17:10 +03:00
Mikhail Nosov
f57dc05c66 [OV20] Convert NV12 to RGB operation + preprocessing (#7508)
* # Conflicts:
#	docs/template_plugin/tests/functional/op_reference/convert_color_nv12.cpp
#	inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/convert_color_nv12.cpp
#	inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convert_color_nv12.hpp
#	inference-engine/tests/functional/shared_test_classes/src/single_layer/convert_color_nv12.cpp
#	ngraph/core/include/openvino/core/preprocess/input_tensor_info.hpp
#	ngraph/core/include/openvino/core/preprocess/preprocess_steps.hpp
#	ngraph/core/include/openvino/op/nv12_to_bgr.hpp
#	ngraph/core/include/openvino/op/nv12_to_rgb.hpp
#	ngraph/core/src/op/nv12_to_bgr.cpp
#	ngraph/core/src/op/nv12_to_rgb.cpp
#	ngraph/core/src/preprocess/pre_post_process.cpp
#	ngraph/core/src/preprocess/preprocess_steps_impl.hpp
#	ngraph/test/CMakeLists.txt

* Added more test to cover 100% of code
Allow convert element type for 'multi-plane' color format

* Inherit tensor names for 'convert_color'

* Clang

* Fix tests

* Disable 'int8' preprocessing resize test

* Fix review comments

* Add more restrictions and tests for planes sub-names

* 1) Added check for uniqueness of tensor names generated for nodes
Raise error if user's plane sub-name conflicts with some node in a function
2) Added exception safety to preprocess build. Before, when input #2 fail, only one preprocess will be applied to function and it will be corrupted
Exception guard will restore function to original state if exception occurs

* Fix clang-format
2021-10-06 15:22:05 +03:00
Mikhail Nosov
f8ed195841 Fix 'NV12 batch case' (was sporadic failure) (#7790)
Introduced 'absolute threshold' for LayerTests and BaseReferenceTests to consistently catch absolute differences
Previously, when set 'threshold=1.f' it was treated as 'allowed difference is 100%", so there was no way to allow absolute difference as 1.f
2021-10-01 20:21:52 +03:00
Mikhail Nosov
5b39e407d9 [OV2.0] Preprocessing - add 'convert_layout' (#7772)
* Preprocessing - add 'convert_layout'

* Fix comments, removed 'set_data_shape' for time being
2021-10-01 19:45:40 +03:00
Mikhail Nosov
414c3dc133 [OV2.0] Preprocessing - resize (#7583)
* Initial version

* Added 'network' layout to preprocessing info
Moved existing resize tests to template plugin

* Fix clang

* More tests for 'resize' reference implementation + CPU tests + error cases
Coverage is 100%

* Align with new base_reference_test implementation

* Fixed comments

* Add assert to check that desired size is not out of bounds

* CPU: skip failed test
2021-09-30 11:41:25 +03:00
Mikhail Nosov
4fd59f72ea Use 'u8' element type in tests (#7704)
Use 'float32' output for 'compare with reference' tests to avoid IE precisions undesired conversions
Added GPU preprocessing tests skeleton
2021-09-29 09:46:37 +03:00
Ilya Lavrenov
65dcffe913 Reference tests use OpenVINO 2.0 headers and namespaces (#7700)
* Reference tests via OpenVINO 2.0

* Migrated to new API acos test

* Fixed other tests compilation

* Fixed tests

* Reference tests use ov::

* Fixed compilation
2021-09-28 19:19:08 +03:00
Mikhail Nosov
531118c4b0 OV2.0 Preprocessing shared tests - initial version (#7568)
* Shared preprocessing tests for plugins.
Comparing inference with reference implementation

* Moved evaluate tests to template plugin

* Fixed clang-style

* CPU tests: Set IE precision manually in SetUp. Also allow rounding to integer mismatch

* Added acceptable threshold depending on particular test
2021-09-23 23:17:59 +03:00