* improve SoftMax fusion
* style and unit-test fix
* more precise SoftMax unit-tests
* rewritten SoftMaxFusion with single matcher
* fixes for align_mixed_fp32_fp16_types_test.cpp and mark_subgraph_to_keep_in_mixed_precision_test.cpp
* add include for pass/pattern/op/or.hpp
* get rank only when necessary
* style-fix
* add comment why SoftmaxFusion is called manually
* fix copy_runtime_info
* Add GatherV7 and gatherV8 for convert_gather_0d pattern
* Add updating output_shape using reorder/reshape for scalar indice instead of using ConvertGather0D pass
* Add WA for NMS-gather8 pattern
* Add descriptions to the transformations, add additional checks
* fix a warning
* TransposeSinking Rafactoring part2: move the transformations to a separate folder, align namespaces
* TransposeSinking refactoring: class names, namespaces
* codestyle
* resolve merge conflicts
* Reduce the number of validate and infer types in ConvertPrecision
Currently, ConvertPrecision pass frequently runs validate and infer types.
This is due to the fact that it iterates over every precision pair, then over
the whole model followed by validate and infer types.
The proposed solution is to iterate over the model: for each node iterate
over precisions array, update the node if required followed by validate and
infer types.
Ticket: 81311
* use map
* clang format
* move enum hasher
* fix gpu
* revalidate
* reinvalidate if node has changed
* remove validate for input prec changes
* fix gpu
* review
* find
* fix pytorch case
* revalidate
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
* flush fp32 subnormals to zero in IR
* style fix in test_offline_api.py
* simplified call of FlushFP32SubnormalsToZero: is called form offline_transformations.cpp
* reverted offline_transformations.py
* use fpclassify
* style-fix
* Update src/common/transformations/tests/common_optimizations/flush_fp32_subnormals_to_zero_test.cpp
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
---------
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
* [Common][FE] Implement reverse infer for Transpose
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update src/common/transformations/tests/common_optimizations/reverse_shape_and_type_infer.cpp
* Update src/common/transformations/tests/common_optimizations/reverse_shape_and_type_infer.cpp
* Update src/common/transformations/src/transformations/common_optimizations/reverse_shape_and_type_infer.cpp
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
* Add one more tests with constant order and known output
* Fix reverse infer for a case of know order and output shape
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
* Add dynamism for BatchToSpace conversion
* Extend dynamism for BatchToSpace conversion
Only block input needs to be const 'cse axes_order_const is freaky
* Enhace dynamism for BatchToSpace conversion
Block input need not be const now.
* Add dynamism for STB by elements conversion
* Remove const need for crops for BTS by_elements
* temp for review
* Try to fix output tensor overwrite
* Make test to reproduce invalid shape inference
* Reproduce the error with template plugin
* Fix code style
* Fix 0D inputs issue
* Remove 0D shape parts before Concat
* Apply nested namespaces
* Enable non-constant STB Block input
* Fix BTS runtime info
* Fix STB by elems runtime info
* Add dynamism for STB conversion
* Add BTS dynamic data test
* Add STB dynamic data test
* Reduce STB concats
* Add tests naming
* Edit
* style
* Consider other block element types
* Enhance type test
* Use opset10 only
* Check block shape
* Added -Wall for Clang and GCC
* Fixes
* Don't use /J
* Fixed warnings
* Fixed warnings
* More fixes
* Fixed for MSVC
* Fixed more warnings on Windows
* Suppressed some warnings in template plugin
* Update src/tests/functional/plugin/shared/include/behavior/plugin/caching_tests.hpp
* Added suppression for PT FE
* Suppressed warnings in TF FE
* Suppressed warnings on Core unit tests
* Suppress warnings in python
* Suppressed Windows warning for 3rd party modules
* Suppresed one more warning
* Enable TransposeSinking in MOC
* replace TransposeSinking in TF Frontend
* fix TS for concat op
* Fix TS for Binary/Concat ops: broadcast transposed input
* Fix transpose sinking for Pad op
* fix pad tests
* fix dynamic case for Concat/Binary ops
* codestyle
* fix TransposeSinking for Split/Concat ops
* fix split
* Resolve review comments
* Use ov::Tensor in are_equal
* Use ov::Tensor in bounds evaluation
- remove from node evaluates bounds for HostTensor
- update validation utils
- update operators
* Fix code style
* Fix windows compilation errors
* Fix windows compilation errors in scatter update
* Improve reshape output shape calculation
during shape infer
* Add common bound evaluator
- rename evaluate_bound_t -> evaluate_bound
* Fix code formatting
* Move bound evaluation util functions to dev API
* Fix compilation issues
* Remove from dev API not required bound eval
- extract bound eval functions to separate source
* Add missing doxygen comment
* Use ref evaluate in bounds calc for shape_of
because input data can have dynamic type and
create tensor is not possible and data type has
no meaning for shape calculation.
* add pattern mathing for MVN, Exp->ReduceSum, L2Normalize, Div with eps for mixed precision inference
* added necessary includes
* clang_format_fix_all
* fix warning_as_error for unused variable
* fix warning_as_error for specifying float literals
* enable marking for fp32 IRs as well
* cosmetic improvements in unit-tests
* fix warnings as error
* added unit-tests for compress_float_constants.cpp for out of range values
* Update align_mixed_fp32_fp16_types.cpp
* Apply suggestions from code review
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
* some grooming: mainly in imports
* build fix: replaced ngraph:: -> ov::
* collected all markings in a single file
* shortened pass names
* style fix
* made MarkNormalizationOps as a separate pass
* removed redundant comment, fixed description of MarkSugraphsToKeepInMixedPrecision pass
* comments on Up and Down marking in MarkSugraphsToKeepInMixedPrecision
* cleared info messages in compress_float_constants.cpp, removed threshold adjusting from ENV
* moved declarations of MarkNormalizationOps, MarkExpInReduceOpPath, MarkDivWithEps to hide them from outside users
* simplified pattern matching for max_or_add
* moved `reduceop_path` rt_info inside mark_subgraphs_to_keep_in_mixed_precision.cpp
* fix potential bug with Convert
* removed redundant check for Converts in `insert_converts_after_if_needed` as well
* set Convert types more safely
* corrections in opset10 namespaces; some minor corrections
---------
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>