New PR due to merge
conflicts(https://github.com/openvinotoolkit/openvino/pull/22917)
Updated the copyright year from 2018-2023 to 2018-2024 in all openvino
files
Ref. to script: CVS-101144
Command used:
```bash
git grep -lz '2018-2023 Intel Corporation' | xargs -0 sed -i '' -e 's/2018-2023 Intel Corporation/2018-2024 Intel Corporation/g'
```
**Details:** This legacy code previously was used for validation legacy
FE in legacy inference API
**Ticket:** TBD
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
**Details:** We are going to test OpenVINO Tokenizers conversion
extensions by FE layer tests. It gives better quality integration
between openvino and openvino-tokenizers. For example, operation on
string tensors such as tf.raw_ops.StringLower, tf.raw_ops.StringSplitV2
will supported via OV tokenizers near feature until we move them into
core part.
**Ticket:** 132667
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
**Details:** Move layer tests to use `convert_model` from openvino
module. We import `convert_model` from `openvino-dev` module if legacy
FE is used.
**Ticket:** 132151
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
**Details:** Run layer tests for TF FE by default and
use_legacy_frontend for legacy FE. Developers have to add
`use_new_frontend` for running layer tests for TF FE. This is not
convenient. Instead, let us use `use_legacy_frontend` option for legacy
FE that is rarely run.
**Tickets:** TBD
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
### Details:
- Centernet's topk operation returns large int32 values (greater than
1000000), even though they are integer `FloorDiv`/`Div(inp_1, inp_2) +
Floor` operation is performed in float16 and because of that it causes
accuracy problems.
- To solve this need to performs FloorDiv operation in integer with a
subgraph:
```
res = x / y; if x > 0 and y > 0
res = x / y - 1; if (x < 0 xor y < 0) and (x mod y != 0)
```
- checked on separate bus: no degradations caused.
### Tickets:
- CVS-130526
---------
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
**Details:** Update layer tests results comparator to check string
tensors. We need this PR for 2024.0 to have LookupTableFindV2 to be
validated for string values. It will unblock PR
https://github.com/openvinotoolkit/openvino/pull/22679
**Ticket:** TBD
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Removed usage of old api
* Removed use_old_api
* Removed use_old_api in common files
* Removed use_old_api from tests
* MO/OVC related changes
* Renamed InferAPI20
* Removed use_old_api from tf_Placeholder test
* Removed transpose step
* Removed forced use_old_api=False for TF Lite
* [TF FE] Implement native support of string tensors for TensorFlow models
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update unit-test for model with string tensor
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update graph comparator for string Constant comparison
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update unit-test
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add layer tests for string tensor
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* [TF FE] Provide full support of TF1 Control flow and TensorArray ops
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add missed header for TensorArrayV3 op
* Temporarily disable GRU cell fusion
* Update src/common/transformations/src/transformations/common_optimizations/moc_transformations.cpp
* Fix a case when element_shape for TensorArrayV3
* Fix translator for TensorArrayCloseV3
* Update summarize graph with TensorArrayCloseV3
* Add layer tests for TensorArrayScatterV3, Close, Size, Array
* Fix output shape for Merge node
* Remove unused variable
* Fix translator for TensorArrayConcatV3
* Fix translator for TensorArrayConcatV3
* Add layer tests for TensorArrayWriteV3, Gather, and Concat
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add translator for GatherTree
* Fix TF FE unit-test for GatherTree
* Fix GatherTree translator
* Fix GatherTree translator to handle 1d end_token
* Fix undeclared parameter issue
* Fix GatherTree unit-test
* Add TensorArrayV3Replacer transformation
* Temporarily disable dangling transformation
* Recover RemoveMultiSubGraphOpDanglingParamsResults transformation
* Recover GRUCellFusion transformation
* Simplify check for GRUCellFusion transformation
* Use proper name for unit-tests
* Simplify translator for TensorArrayWriteV3
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix RemoveMultiSubgraphOpDanglingParamsResults transformation
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Additional fix for remove_multi_subgraph_op_dangling_params
* Make static TI run a dynamic subgraph
* Dedicated SL test
* Change condition to respect stat shapes
* Adjust test to cover the code path properly
* Recover fallback for still failing case GNMT
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Maksim Kutakov <maksim.kutakov@intel.com>
* WIP: parameters cleanup
* Removed debug output, fixed CLI
* Fixed python objects conversion
* Finally renamed mmap to share_weights
* Fixed TF conversion from a file or a directory
* Fixed obvious errors in unit tests
* Deleted layouts from OVC. Fixed most of the fails in ovc unit tests (there are still failures)
* Clenaup other references to layouts and fixed --version
* Fixed case when two model files are passed in TF case
* Fixed multiple model parts passing in ovc command line
* Tests fixed, support of unnamed input in cli parser.
* Remove convert_model from runtime.
* Changed silent to verbose.
* Removed transform param.
* Removed example_input, share_weights from ovc cli tool.
* Remove wrong change.
* Test fix.
* Code corrections.
* Returned comment.
* WA to fix process hanging after extension loading.
* Removed not needed code.
* Added comment.
---------
Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
* [TF FE] Support Switch and Merge to fuse into If operation
It introduces support of TF1 control flow with Switch and Merge nodes.
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add script for test model generation
* Fix code-style
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue with types
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Apply code-review feedback: optimizations in utils
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Apply code-review remarks and cover more cases
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Remove commented code
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Remove unused vars
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update MO unit-tests wit Switch-Merge case
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue: remove unused variable
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Used pip wheel to build OpenVINO wheel
* Added convert_model() to openvino.runtime.
* Removed duplication of InputCutInfo, LayoutMap
* Switched Model Conversion API tests to convert_model from openvino.runtime.
* Small correction.
* Format correction.
* Small correction.
* Removed duplication of moc frontend files.
* Small correction.
* Removed duplication of cli_parser, offline_transformations.
* Code corrections.
* Removed code duplications.
* Removed code duplications.
* Updated codeowners.
* Switched layer tests to convert_model().
* Improvements
* Small correction.
* Caffe parser path fix.
* Added python api properly into deb / rpm packages
* Moved implementation to ovc tool.
* Moved implementation to ovc tool.
* Small correction.
* Use cmake -E variant from cmake 3.13
* Namespace fixes.
* Minor fixes.
* Pylint fixes.
* Fixed BOM file.
* Small corrections.
* Minor corrections.
* Minor fix.
* Error fixes.
* Added telemetry requirement.
* Improvements to fix CI
* Some refactoring
* Don't use developer package for scripts projects
* Added exception in case when MO is not imported.
* Removed exception from init.
* Removed changes from cmake.
* Added unit ovc tests, fixed minor errors.
* Added ovc unit tests to azure.
* Corrected imports.
* Fixed path to tests.
* Added missed files.
* Corrected github labels.
* Removed benchmark app from dev package.
* Small fix.
* Small corrections.
* Comment fixed.
* Removed changes from setup.py
* Removed not needed change.
* Removed duplicating unit tests.
* Removed wrong change.
* Removed not needed change.
* Apply suggestions from code review
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Added ovc tool test, corrected imports.
* Added legacy TF config test.
* Removed not needed files.
---------
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Adds base class and first test for tflite_layer tests
* adds layer tests for unary ops
* adds functionality to get tensors from ops
* 1. adds functionality to use custom funcs for input generation
2. removed UNIQUE op from testing ops
* adds functionality to use custom dtypes
* Cast operation support
* Enhanced tfl layer tests
* Trigger tfl layer tests in .ci
* Apply suggestions from code review
---------
Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com>
Co-authored-by: Evgenya Stepyreva <eva.my.link@gmail.com>
Co-authored-by: missjane <estepyreva@gmail.com>
* keras to tflite version of tests
* Update tests/layer_tests/common/tf2_layer_test_class.py
Co-authored-by: Evgenya Stepyreva <eva.my.link@gmail.com>
* moved out tf utility functions from modules with tf_layer_test classes to tf_utils module
* moved out tf utility functions from modules with tf_layer_test classes to tf_utils module and tflite_utils modules
Co-authored-by: Evgenya Stepyreva <eva.my.link@gmail.com>
* [TF FE] Add translators for IsInf and IsNan and test it
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add changes in tf_utils
* Apply code-review: add xfail and use of unary op
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* refactor of renaming libraries in layer tests
* 1. adds check for old API and new FE usafe
2. refactor of api_2 arg
* fix for tf_NMS test preprocessing
* take libs path from LD_LIBRARY_PATH env
* convert str to Path object
* use wheels path to libs
* print lib paths
* print lib paths
* use ov_frontend_path env
* also check if file to rename exists
* removes redundant prints
* copy instead of rename
* 1. copy instead of rename
2. adds some details to readme
* tf_fe lib renaming to switch to new fe
* Apply suggestions from code review
* 1. implements renaming for win os
2. --api_2 key is equal to True by default
* --ir_version key is equal to '11' by default
* resolves merge conflicts
* check if file to rename exists
Co-authored-by: Evgenya Stepyreva <eva.my.link@gmail.com>
* Moved and merged mo/ and extensions/ into openvino/tools/mo
* edited imports
* edited docs to use mo script from entry_point
* edited MO transformations list loading and setup.py
* changed full path -> 'mo' entry point in docs (leftovers)
* corrected package_BOM
* updated resolving --transformation_config in cli_parser.py
* pkgutil-style __init__.py, added summarize_graph into entry points
* updated DOCs for the new --transformations_config
* fix select
* updated install instructions, fixed setup.py for windows and python_version < 3.8
* fixed typo in requirements.txt
* resolved conflicts
* removed creating custom __init__.py from setup.py
* corrected folder with caffe proto
* corrected loading user defined extensions
* fix openvino.tools.mo import in serialize.py
* corrected layer tests for new namespace
* fix in get_testdata.py
* moved model-optimizer into tools/
* renamed import in POT
* corrected mo.yml
* correct CMakeLists.txt for the newest tools/mo
* corrected find_ie_version.py
* docs and openvino-dev setup.py update for the newest tools/mo
* miscellaneous leftovers and fixes
* corrected CI files, pybind11_add_module in CMakeLists.txt and use of tools/mo path instead of tools/model_optimizer
* add_subdirectory pybind11 for tools/mo
* POT path fix
* updated setupvars.sh setupvars.bat
* Revert "updated setupvars.sh setupvars.bat"
This reverts commit c011142340.
* removed model-optimizer env variables from setupvars
* updated CMakeLists.txt to pack MO properly with tests component
* corrected left imports, corrected loading requirements for layer tests
* mo doc typo correction
* minor corrections in docs; removed summarize_graph from entry_points
* get_started_windows.md, MonoDepth_how_to.md corrections, mo path corrections
* gather-8 upgrade/downgrade transforms
* bump to opset8
* add Gather-8 to MO
* fix permutation for Gather
* added TF layer tests, ONNX layer tests for negative indices, and nG python api unit-tests for negative indices
* typo fix, disable downgrading transformation
* disable downgrade in clDNN, line width style fix
* all Gathers are converted to 7th version, transformations will be enabled/disabled while op will be added into plugins
* disabled Gather8LayerTest on GPU
* added common function for Op replacement
* concretized meaning of negative indices, fixed some typos
* applied review comments: left only meaningful layer tests
* removed op replacing functions from common utils
* returned back transformations without subroutines
* corrected style, added comments to common_optimizations.cpp