* Preprocessing API - base classes
Includes API definition for trivial mean/scale operations (which don't require layout)
Mean/scale with 'layout' support will be done under separate task together
with Layout
Current test code coverage: 100%
* Python bindings for base preprocessing API
* remove pre_post_process directory from ngraph/core
* remove files from ngraph/python dir
* move pyngraph pre_post_process files from ngraph/python to runtime
* remove pre_post_process test from CMakeList
* move include to the header
* update include path for pre_post_process
* style fix
* bind InputTensorInfo::set_layout
* cleaned test_preprocess
* fix test expected output
* remove duplicate test
* update description of set_element_type
* fix style
* move preprocess from pyngraph to pyopenvino/graph
* update test_preprocess imports and remove unnecessary test
* remove duplicate import
* update custom method
* update test
* update test
* create decorator that changes Node into Output<Node>
* create function that cast Node to Output<Node>
* update test_preprocess to use decorator for custom function
* change _cast_to_output -> _from_node
* move frontend folder to pyopenvino
* rename includes and add compile options
* include frontend to pyopenvino
* move __init__.py
* move tests
* remove mock from tests_compatibility
* rename import module
* Fix code style cpp
* refactor a few lines
* style fix
* update few lines in mo
* add tests fro scale and mean with vector input
* style fix
* add docstring for custom_preprocess_function
* bind InputInfo network method
* style fix
* Add pyopenvino to dependencies
* bind OutputInfo
* fix description of preprocess submodule
* fix style
* update copyright year
* Fix mock
* update docstring
* bind OutputTensorInfo
* bind OutputNetworkInfo and InputNetworkInfo
* bind ColorFormat and ResizeAlgorithm
* clean imports
* fix typo
* add PostProcessSteps to init
* bind PreProcessSteps
* create additional tests
* Fix mo test
* remove module local
* fix code style
* update comment
* fix return type
* update docs
* fix code style
* change ngraph.Type to ov.Type
* fix typo
* move _from_node to node_output.hpp
* add read_model from buffer
* update imports
* add new line
* remove bad quotes
* update imports
* style fix
* add new line
* rename functin args
* remove Type import
* update tests
* style fix
* test clean
* remove blank line
* update PrePostProcessor init and build methods
* create test with model update tests with new PrePostProcessor init and build
* # Conflicts:
# inference-engine/ie_bridges/python/src/openvino/offline_transformations/offline_transformations_api.pyx
# inference-engine/ie_bridges/python/src/openvino/offline_transformations/offline_transformations_api_impl.cpp
# inference-engine/ie_bridges/python/src/openvino/offline_transformations/offline_transformations_api_impl.hpp
# inference-engine/ie_bridges/python/src/openvino/offline_transformations/offline_transformations_api_impl_defs.pxd
# inference-engine/tests/ie_test_utils/common_test_utils/ngraph_test_utils.cpp
# inference-engine/tests/ie_test_utils/common_test_utils/ngraph_test_utils.hpp
# model-optimizer/mo/moc_frontend/serialize.py
# thirdparty/gflags/gflags
# thirdparty/gtest/gtest
* Stash
* move preprocess module from openvino.impl to openvino
* fix building
* fix code style
* try to move MO to use new api
* Intermediate commit
* try to move MO to use new api
* Test pybind11 custom holder for Preprocessing types (InputInfo and PreProcessingSteps)
* Initial code for source_target layout handling for preprocessing
Initial implementation of reverse input channels
* Use input's tensor names instead of friendly names
* Skeleton for guessing layouts and clearing it after preprocessing
* updated package_BOM.txt
* Use reference_wrapper for preprocess bindings
* Update tests
* Layout::find_permutation - support of dynamic layouts
Covered case for 'trivial convert' where no permutation is needed
It is needed for Model Optimizer for logic which will guess model's layout, like "?c??"
* Stash
* add bindings to I420_SINGLE_PLANE and I420_THREE_PLANES
* remove init from all classes except PrePostProcessor and add RGBX and BGRX to ColorFormat enum
* Guess layout so that existing mean/scale tests passed
* update test name
* Draft to guess layout for 'reverse_input_channels'
* More unit tests (error cases)
* pylint & flake8
* pylint - ignore import error
* Stash
* Moved preprocessing to 'back' folder
* More tests
* Update package_BOM
* Support layout_values with no names
Support layout set for 'outputs'
Tests
* Export more enum names from nrgaph
* Basic --layout parsing
* removed debug prints
* Further updates after rebase
* Update imports
* Removed part from 8829
* Fix imports in test code
* Minor cosmetics
* Don't guess 'C' if layout is already set by model
Expose 'Layout::empty' method
* Style fix
* Apply review comments
Restricted 'heuristics'
C++: Added 'fp16', 'fp64' support to mean/scale
* Applied review comments
* Added some dynamic test cases
* Move call of 'apply_preprocessing' to 'serialize.py'
* Unnecessary change
* Added more comments to code
Co-authored-by: pszmel <piotr.szmelczynski@intel.com>
Co-authored-by: Alexey Lebedev <alexey.lebedev@intel.com>
Co-authored-by: bszmelcz <bartosz.szmelczynski@intel.com>
Co-authored-by: Anastasia Kuporosova <anastasia.kuporosova@intel.com>
Co-authored-by: y <ilya.lavrenov@intel.com>
Co-authored-by: Vafin, Maxim <maxim.vafin@intel.com>