Commit Graph

278 Commits

Author SHA1 Message Date
Mateusz Tabaka
7338257e00 Fix transformations tests on 32 bit build (#17043)
Ticket: 104593
2023-04-19 11:28:00 +00:00
Ilya Churaev
566ef01a3f Remove constructors for ov Exceptions (#16938)
* Remove constructors for ov Exceptions

* Fixed linux build

* Fixed ONNX Frontend

* Fixed paddle

* Fixed exceptions in tests

* Deprecate constructors for ov::Exception

* Suppress some warnings

* Merge several exceptions

* Some small changes

* Suppress more warnings

* More warnings

* mode warnings

* Suppress more warnings

* More warnings
2023-04-18 21:02:26 +04:00
Pavel Esir
d70d8509c3 [FP16][IE] exclude MVN and NormalizeL2 from precision sensitive marking (#16953)
* exclude MVN from mixed infer

* fix align_mixed_fp32_fp16_types_test.cpp

* fix unit-tests for convert_precision.cpp

* code style fix
2023-04-18 16:20:49 +09:00
Ivan Tikhonov
930441b223 TransposeSinking: Gather and ReverseSequence (#16532)
* Resolve the performance issues in TransposeSinking transformation

* codestyle

* fix warning as error, fix tests failures

* fix ts for Concat and Reduce

* Fix TransposeReduceBackward

* fix the issue in TransposeFuse transformation

* fix TransposeReduce transformations

* Fix TransposeReduction, fix TransposeSinkingSplit, add unsqueeze support

* delete debug print

* Add additional validations

* fix node validation

* Fix validate for split, revert changes for concat, add BatchToSpace/SpaceToBatch

* Add SpaceToBatch/BatchToSpace

* fix TS for Interpolate + codestyle

* fix gna build

* Support TS for Interpolate, VariadicSplit, IsInf, IsNan, IsFinite + refactoring

* add the missed line

* add include

* TransposeSinking tests refactoring: part1

* TransposeSinking tests refactoring: part2

* Add limited support for StridedSlice op

* codestye

* TransposeReduction: skip the case when 2nd input for Squeeze is not provided

* Transpose sinking tests refactoring: part 3. + Revert changes in MOC.

* fix build

* codestyle

* Add tests for TS backward transformations, update TransposeSinkingFuse transformation, delete StridedSlice transformation prototype + tests refactoring

* fix unary tests

* Fix warning as error on Windows

* Add new tests for Unsqueeze/Squeeze; refactoring; remove debug code

* TransposeSinking: add support for Slice op

* 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

* codestyle

* TSReduction refactoring, move Unsqueeze/Squeeze transformations to separate files, added limited support for Reshape op + tests

* fix minor mistakes

* fix warnings

* Added TSSlice transformation to TSGeneral, created TransposeSinkingGeneral alias in ov::pass namespace

* refactoring

* codestyle

* fix TSSqueeze/TSUnsqueeze transformations

* delete debug serialize

* remove TransposeSinking from MOC

* fix TSSqueeze/TSUnsqueeze transformations in case of Reshape op

* delete debug code

* fix unit tests, revert changes for TSSlice transformation

* TransposeSinking: Add gather support

* TransposeSinking: add support for Gather, ReverseSequence ops; Fix TSReduction, TSSqueeze, TSUnsqueeze transformations

* fix new constants shape

* fix TSReduction, TSSqueeze, TSUnsqueeze transformations; codestyle

* fix TSGather

* Fix TSGather transformation, add tests

* Updated TSGather transformation, updated the tests

* fix TSGather, codestyle

* Add missing files for TS testing

* fix TS for ReverseSequence op; codestyle

* revert local changes

* fix warnings

* delete const folding passes

* disable constant folding for shapeOf subgraph only

* correct thirdparty versions

* codestyle
2023-04-17 16:38:48 +00:00
Tomasz Jankowski
129670ab1e [Transformations] Fix Parameter name override while removing Select node (#16934)
Details:
Applies valid node replacement method which avoids Parameter name override

Tickets: 101209

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-04-14 18:36:25 +02:00
Tomasz Dołbniak
fb49228fec Pillow modes in the preprocessor's resize mechanism (#16601) 2023-04-12 15:30:42 +02:00
Mateusz Tabaka
bdd79fe931 CompressQuantizeWeights - use f32 precision when computing scale and zero point (#16794)
Ticket: 101825
2023-04-12 12:42:39 +02:00
Ivan Tikhonov
132dceb146 Delete redandant node copies in TSSqueeze, TSUnsqueeze and TSReduction transformations (#16753)
* Delete redandant node copies in TSSqueeze, TSUnsqueeze and TSReduction transformations, add new tests

* codestyle

* codestyle
2023-04-12 11:30:48 +04:00
Mateusz Tabaka
4fbd094cba BroadcastConstRangeReplacement - skip unsqueeze if Broadcast input is 1D (#16851)
Ticket: 106636
2023-04-11 17:59:03 +02:00
Vladislav Golubev
296c2d6603 [Transforamtions] NonZero horizontal fusion: review leftovers (#16639)
* Review comments applied

* codestyle

* review comments applied
2023-04-11 15:42:43 +04:00
Evgenya Stepyreva
bc7a121a20 Removes legacy transformations from CNNNetworkNGraphImpl::reshape (#15853)
* Removes legacy transformations from CNNNetworkNGraphImpl::reshape

* Removes legacy transformations from CNNNetworkNGraphImpl::reshape

* 6 more models propagate shape more precise

* Removes legacy includes

* Fix invalidation

* Test change

* win fix

* Ilyas suggestion

* Unary ops -- removed shape relying on the output of the op, used shapes from the input tensor instead

* Code clean up

* Equal: bounds evaluation

* Equal: bounds evaluation

* Restrict TypeRelaxed from partial_value propagation

* TypeRelaxed: propagate lower/upper bounds

* Remove debug prints

* fix build

* GPU shape inference problem fixed

* Generate Proposals: better dynamic shape propagation

* Style
2023-04-10 12:36:56 +02:00
Ivan Tikhonov
72952bdc45 Disable ConstantFolding for ShapeOf subgraph in TS transformation (#16765)
* Disable ConstantFolding for ShapeOf expressions in TS transformation

* update ModelWithEmptyTensorListAndPushBack: add ShapeOf subgraph
2023-04-07 14:50:59 +04:00
Vladimir Paramuzov
6d82f36050 Enable nop elimination for f16 type (#16749) 2023-04-07 09:18:27 +04:00
Ivan Tikhonov
4812879318 Enable transformation callback for TS transformations (#16767) 2023-04-06 20:42:01 +04:00
Tomasz Jankowski
cb436112b2 [Transformations] Assert valid output shape on ReduceReshape fusion (#16712)
* Assert valid output shape on ReduceReshape fusion

* Remove useless test step

* Reduce tests flow

* _dummy_

to retrigger failed nonrestartable check
2023-04-06 11:55:57 +00:00
Oleg Pipikin
1c564226f3 Deprecate util functions in public api (#16716)
* Deprecate util functions in public api

* Add deprecation suppression for usage inside openvino

* Fix clang-format

* Fix1
2023-04-06 06:32:04 +04:00
Pavel Esir
f9bd2d2c1e [ie transformations] improve SoftMax fusion for better mixed precision inference (#16574)
* 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
2023-04-05 11:28:48 +04:00
Mateusz Tabaka
03ab0e4388 Add ConvolutionToGroupConvolutionFusion (#16688)
Fuses Split->series of Conv->Concat to GroupConvolution op.

Ticket: 105170
2023-04-03 14:38:44 +02:00
Oleg Pipikin
e978db3132 Move new util functions from public api to dev api (#16683) 2023-04-01 11:46:20 +04:00
Roman Kazantsev
9a5a8f6abc [TF FE] Move to TopK-11 operation and update downgrading TopK transformation (#16590)
* [TF FE] Move to TopK-11 operation

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update downgrading transformation

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-03-31 17:44:58 +02:00
Gorokhov Dmitriy
6e09e53f0d [CORE] Added optimized fp32->fp16 precision conversion implementation (#16672) 2023-03-31 11:02:39 +00:00
Zhang Yi
fc88bed604 [CPU] Improvement for NoneZero and Gather (#16641) 2023-03-31 11:05:43 +02:00
Chen Xu
35398e339d [CPU] Implement TopK-11 to CPU plugin (#16522) 2023-03-31 10:28:20 +02:00
Vladislav Golubev
8d59252966 [Transforamtions] NonZero horizontal fusion (#16571)
* Added ValuePredicate 'consumers_more_than'

* NonZero fusion

* NonZero fusion tests
2023-03-29 17:23:37 +04:00
Tomasz Jankowski
f7e898893d Add PRelu fusion (#16617) 2023-03-29 11:32:57 +00:00
Ivan Tikhonov
5a8a195dad TransposeSinking: add support for Slice and Reshape ops (#16208)
* Resolve the performance issues in TransposeSinking transformation

* codestyle

* fix warning as error, fix tests failures

* fix ts for Concat and Reduce

* Fix TransposeReduceBackward

* fix the issue in TransposeFuse transformation

* fix TransposeReduce transformations

* Fix TransposeReduction, fix TransposeSinkingSplit, add unsqueeze support

* delete debug print

* Add additional validations

* fix node validation

* Fix validate for split, revert changes for concat, add BatchToSpace/SpaceToBatch

* Add SpaceToBatch/BatchToSpace

* fix TS for Interpolate + codestyle

* fix gna build

* Support TS for Interpolate, VariadicSplit, IsInf, IsNan, IsFinite + refactoring

* add the missed line

* add include

* TransposeSinking tests refactoring: part1

* TransposeSinking tests refactoring: part2

* Add limited support for StridedSlice op

* codestye

* TransposeReduction: skip the case when 2nd input for Squeeze is not provided

* Transpose sinking tests refactoring: part 3. + Revert changes in MOC.

* fix build

* codestyle

* Add tests for TS backward transformations, update TransposeSinkingFuse transformation, delete StridedSlice transformation prototype + tests refactoring

* fix unary tests

* Fix warning as error on Windows

* Add new tests for Unsqueeze/Squeeze; refactoring; remove debug code

* TransposeSinking: add support for Slice op

* 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

* codestyle

* TSReduction refactoring, move Unsqueeze/Squeeze transformations to separate files, added limited support for Reshape op + tests

* fix minor mistakes

* fix warnings

* Added TSSlice transformation to TSGeneral, created TransposeSinkingGeneral alias in ov::pass namespace

* refactoring

* codestyle

* fix TSSqueeze/TSUnsqueeze transformations

* delete debug serialize

* remove TransposeSinking from MOC

* fix TSSqueeze/TSUnsqueeze transformations in case of Reshape op

* delete debug code

* codestyle

* fix unit tests, revert changes for TSSlice transformation

* fix TSSqueeze transformation

* resolve review comments

* codestyle
2023-03-24 17:01:15 +04:00
Kelvin Choi
8518a3a8e8 [GPU] Disable converting gather8 to 7 pass because GPU plugin supports gather8:nagative-index feature (#15868)
* 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
2023-03-23 23:12:12 -07:00
Tomasz Dołbniak
8eb142ca6e Interpolate v11 -> v4 downgrade transformation (#16448) 2023-03-22 17:00:53 +01:00
Xuejun Zhai
8509d0dd82 [Deprecated API] remove version (#16426)
* [Remove version] Remove version from py openvino

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Modify caused by remove version

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Fix clang format issue

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Revert "Fix clang format issue"

This reverts commit 132787286f.

* Fix CI format issue

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Fix CI format issue

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Fix merge conflict error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-03-22 16:09:14 +01:00
Pavel Esir
d8e7b39edb flush by recreating constant (#16430) 2023-03-21 18:05:11 +04:00
Tomasz Dołbniak
a99a5057e2 TopK v11 -> v3 downgrade transformation (#16339) 2023-03-17 12:40:56 +00:00
Vladislav Golubev
249d57f37e [Transformations] CompressQuantizeWeights: fp16 weights support (#16323)
* [Transformations] CompressQuantizeWeights: fp16 weights support

* Code style fix

* Code style fix
2023-03-17 14:43:32 +04:00
Xuejun Zhai
a9bd5f741d Xuejun/remove api model (#15924)
* [Remove APIs] remove api m_transformation_callback

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Remove APIs] remove api run_on_function(), replaced by run_on_model()

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Remove APIs] remove set_callback(), use get_pass_config() to configure transformation pipeline

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Remove APIs] remove api add_matcher()

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Fix format issue

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Remove APIs] Fix review comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Fix formast issue

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Fix merge master error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Fix CI compiler error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Update ONNX Runtime from rel-1.8.1 to rel-1.14.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Revert "Update ONNX Runtime from rel-1.8.1 to rel-1.14.0"

This reverts commit e31a9e04b7.

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-03-17 10:44:28 +04:00
Ivan Tikhonov
e1ee8f0ec8 TransposeSinking refactoring: part 2 (class names, folders, file names) (#16291)
* 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
2023-03-15 17:18:39 +04:00
Tomasz Jankowski
0f9583c3cf [Transformations] Nop-eliminate 1D Reshape node (#16083)
* Nop-eliminate 1D Reshape node

* Don't eliminate checking Reshape node
2023-03-15 14:43:46 +04:00
Mateusz Tabaka
8477bc8897 Reduce the number of validate and infer types in ConvertPrecision (#15277)
* 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>
2023-03-14 21:45:24 +04:00
Ivan Tikhonov
596036a2db Transpose Sinking: refactoring (#16283)
* Add descriptions to the transformations, add additional checks

* fix a warning
2023-03-14 13:55:25 +00:00
Ivan Tikhonov
8da01d4c2d TransposeSinking transformation: support new ops and fix performance issues (#15660)
* Resolve the performance issues in TransposeSinking transformation

* codestyle

* fix warning as error, fix tests failures

* fix ts for Concat and Reduce

* Fix TransposeReduceBackward

* fix the issue in TransposeFuse transformation

* fix TransposeReduce transformations

* Fix TransposeReduction, fix TransposeSinkingSplit, add unsqueeze support

* delete debug print

* Add additional validations

* fix node validation

* Fix validate for split, revert changes for concat, add BatchToSpace/SpaceToBatch

* Add SpaceToBatch/BatchToSpace

* fix TS for Interpolate + codestyle

* fix gna build

* Support TS for Interpolate, VariadicSplit, IsInf, IsNan, IsFinite + refactoring

* add the missed line

* add include

* TransposeSinking tests refactoring: part1

* TransposeSinking tests refactoring: part2

* Add limited support for StridedSlice op

* codestye

* TransposeReduction: skip the case when 2nd input for Squeeze is not provided

* Transpose sinking tests refactoring: part 3. + Revert changes in MOC.

* fix build

* codestyle

* Add tests for TS backward transformations, update TransposeSinkingFuse transformation, delete StridedSlice transformation prototype + tests refactoring

* fix unary tests

* Fix warning as error on Windows

* Add new tests for Unsqueeze/Squeeze; refactoring; remove debug code

* codestyle
2023-03-13 14:18:02 +04:00
Ilya Churaev
75314c2c53 Rename OPENVINO_UNREACHABLE to OPENVINO_THROW (#16201)
* Changed some exceptions to OPENVINO_THROW

* Changed samples throw exception

* Fixed some comments

* Remove OPENVINO_UNREACHABLE
2023-03-10 20:23:13 +04:00
Ilya Churaev
45bdbf7486 Changed throw ov::Exception to macro (#16150)
* Changed throw ov::Exception to macro

* Fixed code style

* Revert myriad headers

* CPPlint fixes

* Fixed typo
2023-03-10 11:14:50 +04:00
Pavel Esir
e43f606750 [LoadTime][MO] flush fp32 subnormals to zero at offline phase (#15929)
* 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>
2023-03-09 16:21:28 +04:00
Nadezhda Ageeva
0dad7749b5 Fix RTInfo for ReduceL2Decomposition (#16107)
* Fix RTInfo for ReduceL2Decomposition

* Review comments
2023-03-07 10:24:55 +04:00
Tomasz Jankowski
b8348cda2e Add AbsSubMul PReLu fusion (#16086) 2023-03-06 12:56:22 +00:00
Mateusz Tabaka
62ff31df8a ReverseInputChannelsFusion - no reverse input channels -> return (#15784)
* ReverseInputChannelsFusion - return early if there is no reverse input channels

Ticket: 98067

* run_passes

* fix unnecessary validate calls
2023-02-28 17:56:21 +00:00
Maxim Vafin
2ced2ad929 Add removing dangling results in MultiSubGraphOp transformation (#15862)
* Add removing dangling results in MultiSubGraphOp transformation

* Add recursive call for nested subgraphs

* Fix frontend build

* Add tests

* Add more tests and fix special port

* Add more tests, fix LSTM tests

* Preserve merged inputs

* Fix code style

* Fix paddle tests

* Fix special output
2023-02-27 14:31:53 +01:00
Mateusz Bencer
15935069ff Skip PullThroughReduce optimization for multi-output inputs (#15829)
* Skip PullThroughReduce optimization for multi-output inputs

* review remarks
2023-02-24 12:11:32 +01:00
Tomasz Jankowski
e8d1be6e0f [Transformations] Enable missing runtime info check (#15796)
* Add rt info propagation to StridesOptimization

* Enable rt info check for pruning tests
2023-02-23 19:14:13 +04:00
Mateusz Tabaka
eaf368a5f5 PushConstantToSubgraph - use vector<bool> for remove_inputs_mask (#15827)
When MultiSubGraphOp has more than 32 inputs, int is not enough
to track inputs to be removed.

Ticket: 103248
2023-02-22 15:31:34 +01:00
Roman Kazantsev
4746c04840 [Common][FE] Implement reverse infer for Transpose (#15824)
* [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>
2023-02-21 13:42:39 +00:00
Maxim Vafin
cbd56c3ed9 [PT FE] Enable reverse infer (#15802)
* Enable reverse infer in PT FE

* Inherit channes from weight of convolution

* Except 1

* Add tests

* Add shape propagation for concat
2023-02-20 16:07:28 +01:00