* Add PushConstantToSubgraph transformation
Transformation detects constfoldable inputs to MultiSubGraphOp,
constantfold them and then pushes them to inner subgraphs.
Ticket: 98155
* cast to int
* comments, split to functions
* remove op::util
* Review TopK for:
- label and dimension propagation
- partial value and label propagation
- preserve partial value and labels
- add evaluate upper, lower and label
* TopK v1 use shape infer instead fallback
- update static shape inference tests
* TopK shape_infer return output shapes
* Add new way to get tensor data as shape
with custom data processing
- Update tail op to use new function
- Update topk op to use this function
- Add test for negative k
* Add missing include
* Fix compilation issues
* Add support for i4 and u4 element types in
get_raw_data_as
* Fix signed and unsigned and compile warnings
* Remove constexpr from InTypeRange::operator()
* Use forward reference for functor
- minor corrections in InTypeRange class
* Use shape)infer in evaluate
- fix TopK v3 ctor for input data validation
* Fix transformation tests to use correct type for k
* Fix f16 handling in get_raw_data_as
* Correct topk bounds evaluators
* Topk detect overlap for same size dimensions
As op specification not guarantee correct order of
several elements same value
* Remove evaluate bounds
required investigation if required then will be provided
* Remove bound evaluation leftovers
* Update get const data in slice ops
* Add ov::label_t alias and set it to uint32_t
to simplify conversion to tensor element type
* Fix clang formatting
* Fix one hot test to use label_t
* Remove label types alias duplicates
propagate using alias for label types
* Correct label type in transpose tests
* Define label_t in dimension
remove size_t usage as label type.
* Correct label type usage in Einsum and LSTM op's
* Correct label type usage in tracker transformation
scatter update and split op tests
* Correct usage label type in type_porp tests
- squeeze
- tile
- transpose
- variadic split
* Correct usage label type in type_porp tests
- squeeze
- transpose
- unsqeeze
- variadic split
* Add anti-downgrade downcast test
* Strengthen limits test
* Allow convert if normalization is off
* Suppress downgrading for F64 only
* Limit eps values to float
* Limit eps values to float
* Add test
* Consider actual double values
* keep Shape subgraph in FP32 for GPU
* replaced ngraph:: -> ov:: namespace
* renamed ConvertModelToFP16ElementType -> ConvertCompressedToMixedPrecision and other passes; removed unnecessary argument for the pass
Signed-off-by: Pavel Esir <pavel.esir@intel.com>
* Update src/common/transformations/src/transformations/common_optimizations/convert_compressed_to_mixed_precision.cpp
* Update src/common/transformations/src/transformations/common_optimizations/convert_compressed_to_mixed_precision.cpp
* rephrase calling of ConvertPrecision to avoid error of an unused variable
* Update convert_compressed_to_mixed_precision.cpp
* placed calling of ConvertCompressedToMixedPrecision into the beginning of CommonOptimizations
* Update transformations_pipeline.cpp
* refactored unit-tests
* cleared obsolete commented line
* code style fix
* Update src/common/transformations/src/transformations/common_optimizations/common_optimizations.cpp
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
Signed-off-by: Pavel Esir <pavel.esir@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
* add unit test for incompat shapes case; fix existed unit tests using get_test_name
* cleanup
* fix unit tests; add unsqueeze insertion
* cleanup
* add test for concat
* fix unit test for concat
* reset concat test to master
* cleanup
* cleanup after rebase
* cleanup
* fix after rebase
* clang fixes
* remove unused headers
* input squeeze on forward sinking
* code review fixes
* add test for forward unsqueeze case
* cleanup
* fix windows build warning/error
* code review fixes
* Add reverse infer
* Add more convolutions and include transformation in normalize of tf fe
* Fix code style
* Add activations and eltwise support
* Fix code style
* Add deprecation supression
* Fix pad type
* Remove eltwise
* Remove ngraph namespace usage
* Fix code style
* Apply review feedback
* Add tests for activations and eltwise
* Make transformation friend of tensor to avoid deprecated API
* clang fix all
* Update src/common/transformations/include/transformations/common_optimizations/reverse_shape_and_type_infer.hpp
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
* initial
* build fixes + couple of simple unit tests
* remove old transpose_sinking_binary berfore merge with PR branch
* initial
* clang cleanup fixes
* remove TrasposeAxis function; cleanup namespaces
* fix TransposeInputsInfo spell
* one_input_transpose spell
* cleanup speel
* spell
* decompose forward sinking
* decompose backward sink
* use NodeVector
* clang cleanup
* decomposite transformations into different files
* decompose unit tests
* clang cleanup
* fix transformation names in general transformation
* fix ngraph::pass::TransposeFuse use element type the same as in fusing nodes
* add checkout sinking ability function; check sinking ability for unary operations; add unit test on general transformation
* sinking check for binary; unit tests; fixes
* add check to concat transformation; unit test
* add check to split tranformation
* azure build fixes
* add general test
* cleanup tests using common class
* clang cleanup
* add transpose sinkig to moc
* remove comment
* fix after rebase
* clang fixes
* fix after rebase
* code review fixes
* fix after rebase
* add RUN_ON_FUNCTION_SCOPE to general transformation
* fixes after rebase
* move tests to new directory
* cleanup
* use ov::RuntimeAttribute
* move NoTransposeSinkingAttr to files
* fix namespace
* fix names
* Move transformation tests to the correct directory
* Revert "Move transformation tests to the correct directory"
This reverts commit 0c2a932505.
* Move the transformation tests to the correct dir
* Use openvino pass graph_rewrite
* Use openvino pass pattern matcher
* Remove ngraph opsets
* Remove ngraph.hpp
* Remove ngraph includes
* Remove ngraph includes
* Use transformations API
* Remove ngraph includes
* Remove ngraph rt_info
* Remove unused ngraph includes
* Replace ngraph:: scope with ov:: here and there
* Remove serialize proxy header
* Remove proxy include
* Bring back a file for vpu-plugin
* Fix after upstream merge
* Remove nested namespace conflict
Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
Co-authored-by: Mateusz Tabaka <mateusz.tabaka@intel.com>
* [Common] Implement SelectWithOneValueCondition common transformation
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add transformation tests for select_with_one_value_condition
* Move call of SelectWithOneValueCondition transformation to MOC
* Apply code-review feedback
* Remove corner case with dynamic output shape for Select
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* [Common] Implement SelectWithOneValueCondition common transformation
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add transformation tests for select_with_one_value_condition
* Move call of SelectWithOneValueCondition transformation to MOC
* Apply code-review feedback
* Remove corner case with dynamic output shape for Select
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add attribute for last output element type
* Add convert precision transformation and tests
* Update Unique python API with new attribute
* Update Unique-10 op specification
* Update docstrings
* Update visitor tests
* Add type prop tests for the new attribute
* Check axis constant before shape, compare with partial shape
* Tests with boolean type for ConvertBroadcast3 transformation
* Extend support of bool input in ConvertBroadcast3 transformation
* New tests redundant ngraph namespace cleanup
* Move transformation and lp transformations tests from IeFuncTests and IeUnitTests
* Enable tests in Azure CI
Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>