* Calculate model layout based on 'tensor' layout and convert steps
Previously, 'model layout' is set to '...' by default,
thus no shape conversion happened when tensor layout is set to 'NHWC', then there was explicit convert_layout "NCHW"
Now "model layout" is calculated based on tensor layout and conversion steps:
Examples:
1) Tensor: NHWC, Convert: NCHW. Result: NCHW
2) Tensor: NHWC, Convert: 0312. Result: NCHW
* Initial move of tensor data calculation
* Moved 'impls' to new file
* Postprocessing + unit tests
* clang-format fix
* Added more details to preprocessing nodes
- Mean/Scale - will print mean/scale values
- Convert type - will print type
- Convert layout - will print destination layout
- Convert color - will print destination color
It is needed to troubleshoot the problems. If error occurs, message will not display last op's target shape/layout/type
* Add python bindings
* update tests
* Added memory type to dump if set
* Code style fix
* unity build fix
* Dump tensor if only memory type is set
* Added debug print
* Fix Param->Result case
Previously, layout was set by preprocessing set to old parameter as well
This is incorrect because in case of exception layout info will not be reverted
In this case old Result pointed to old Parameter and was able to preserve runtime info
After fixing of this, case Param->Result was broken if revalidation is not triggerred
Fix is to detect 'Result' as a consumer of some parameter and force revalidation in this case
* Revert occasionally committed line
* And one more line
* Squashed commit of previous work
* Fix mock tests
* clang
* Fix rebase errors
* remove unnecessary changes
* One more finding
* Copy ov::Model runtime info as well
* Fix review comments
* Commit missing file
* Copy m_shared_object when cloning model
* removed copy_shared_objects and use clone_model(model, NodeMap) as a friend for ov::Model
* Added OPENVINO_API to forward declaration
* add OPENVINO_API to friend function declaration
* add support for f16 and bf16 for outputs_to_dict
* create test for f16
* add test for infer new request return type
* fix infer return type test
* update Type import
* update asserts in infer_new_request_return_type
* fix import in test_infer_request
* clean test file
* style fix
* Refactor ONNX,IR,Common FrontEnds
* Rename frontends dir to frontend
* Rename frontend_manager, frontend_defs -> manager, defs; move Place, InputModel to src for Paddle FE
* remove exports for ir/input_model
* fix unit tests
* Fix unit tests
* revert ONNX_API/IR_API defines
* move manager.hpp to frontend dir
* delete common folder; rename defs to visibility; fix includes
* revert local changes
* codestyle
* fix build: set correct includes
* fix includes
* fix build; resolve review comments
* fix install paths
* correct installation folder for onnx_import
* use IE_THROW in ir frontend
ONNXFrameworkNode had it own copy of shared_ptr<Graph> so in convert phase,
it can be used to produce real ngraph nodes (by graph->make_ng_nodes(..)).
But Graph also keeps ONNXFrameworkNodes in its cache and in consequence
its own shared_ptr, which is causing a dependency cycle.
This change removes shared_ptr<Graph> from ONNXFrameworkNode class
and moves it to decoded function runtime info, so Graph is in a single
place now and its lifetime ends when decoded function is destroyed.
* Renamed ov::Function to ov::Model
* Fixed all for macos
* Fixed build
* Fixed build
* Revert changes in GPU plugin
* Fixed ngraphFunctions
* Fixed all for mac
* Fixed new test
* Fixed if for Windows
* Fixed unit tests and renamed Function in python API
* Fixed code style
* Fixed import
* Fixed conflict
* Fixed merge issues
* Alignment of OV and ONNX models outputs naming
* Python tests adaptation to new naming rules
* New output naming rules
* Output name retrieval adaptation (tensor iterator node)
* Copying of tensor names during output replacement
* Multiout multinode subgraphs handling in the importer
* Proper replacement tensor naming
* Model zoo test runner adaptation
* Backwards compatible python tests runner adaptation
* If node adaptation
* Adaptation to changes in master
* Deprecation warning suppression
* Imports fix in compatibility tests
* If node adaptation to the new naming
* MaxPool python tests re-enabled
* ONNX Identity elimination adaptation
* XFAIL for the Identity op test
* Support for Param->Result models and indentity op
* Fix of the ONNX Indentity handling
* The test that fails only on windows temporarily disabled
* ONNX tensor names test adaptation
* Code cleanup
* Code formatting
* Obsolete helper removal
* One more spot where output name helper should be used
* PyApi fix for tensors with multiple names
* Don't set friendly names for unnamed ONNX nodes
* Revert "Don't set friendly names for unnamed ONNX nodes"
This reverts commit 92c7ac59b5.
* Missing dot...
* And now the mypy nonsense...
* Use get_any_name in Loop
* New way of naming result nodes in ONNX FE
* Implement MO part for DetectionOutput-8
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Implement nGraph part for DetectionOutput-8
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Implement deduction of a number of classes method
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix build
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Implement nGraph tests to check shape inference for DetectionOutput-8 with deduction of num_classes
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Implement attributes tests for DetectionOutput-8
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Remove DetectionOutput-1 from opset8
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add python bindings for DetectionOutput-8 and tests
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Implement downgrading and upgrading transformations for DetectionOutput
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Implement tests for downgrading and upgrading transformations for DetectionOutput
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Adopt existing reference for DetectionOutput-8
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix DetectionOutput-8 reference
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add tests for DetectionOutput-8 reference
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Finish resolving merge conflict
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix python bindings after re-structuring
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix BOM package list
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix multibox_detection_test
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix python bindings for DetectionOutput-8
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Insert blank line between summary and description for python binding
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Apply review comments: identation, for loop
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix formatting in python bindings
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix supported_attrs for DetectionOutput from opset1
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add missed imports for python if_op
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Apply feedback and fix Win build
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Use the same test suite name for test mixture
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix transformation tests
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Recover BWDCMP_RTTI for legacy use and remove unused variables in tests
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Remove unused variables in type_prop tests
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Recover legacy referenceDetectionOutput constructor
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix python binding for DetectionOutput
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* include api changes
* include api changes for executable_network
* Create InferVec container
* update infer method
* update infer methods in ie_api
* update runtime to work with dict
* update infer_engine test to work with infer returning dict
* remove inferMap container
* add return type to infer and infer_new_request in ie_api
* add auto to infer loops
* fix typo
* change OrderedDict to dict
* change infer methods return type to dict
* update infer methods to return py::dict
* style fix
* create helper function outputs_to_dict
* remove InferMap and InferVec
* remove unused imports
* add const to outputs
* add get_result method
* add test for get_results
* style fix
* add reference to outputs_to_dict parameters
* remove blank line
* fix style
* change get_results method to result property
* code fix in ie_api
* add f16 and bf16 support to outputs_to_dict function
* update the way of receiving keys from dict
* update the way of key receive in test_core
* add test for reslts attribute for async infer
* remove out of date comment
* add view(int16) to bf16 and f16 in outputs_to_dict() function