Commit Graph

312 Commits

Author SHA1 Message Date
Pawel Raasz ff5b56ee07
Improve node validation failure message for shape infer (#18520)
* Add NODE_SHAPE_INFER_CHECK macro
throws NodeValidationFailure for shape inference

* Use NODE_SHAPE_INFER_CHECK in topk shape inference

* Move description to header file

* export NodeValidationFailure::create function
2023-07-18 11:41:19 +04:00
Ilya Churaev f9ead5016f
Moved copy_to to impl and move template plugin to this API (#18574)
* Moved copy_to to impl and move template plugin to this API

* Fixed code style

* Fixed documentation
2023-07-17 15:27:17 +04:00
Ilya Churaev 93e30468b1
Change plugin api (#18441)
* Remove vector of so objects from Tensor, Any, VariableState and
RemoteContext

* Change IRemoteContext

* Fixed build without Proxy

* Moved API to ITensor

* Remove friends from Tensor class

* Changed query_state API

* Remote SoPtr for some returned values

* Fixed auto plugin

* Add so to converted objects

* Fixed build all on macOS

* Check that tensor pointers != nullptr

* Add SO to converter

* Added new constructors for SO ptrs

* Changed IVariableState API

* Remove proxy friend

* Remove friends and nullptrs from auto

* Fixed build

* Fixed HETERO plugin

* Fixed code style
2023-07-14 10:47:53 +04:00
Pawel Raasz 2cfd259824
[core]Trim `__FILE__` macro by compiler if supported (#18411)
* Trim __FILE__ macro by compiler if supported

* Use file for older version cmake
Debug messages

* Move trim compilation options to os_flags.cmake

* Fix MSVC trimming options

* Add additional trim on runtime

* Update trim function description

* Use ov implementation for ngraph::trim_file_name

* Restore ie_c_api.h

* Remove unused define

* MSVC add trim for CXX language
2023-07-13 13:42:01 +04:00
Oleg Pipikin ee50d2d120
Fix deprecation warning for debian build (#18488) 2023-07-11 21:46:20 +04:00
Katarzyna Mitrus 827fb0234b
[Shape Infer] RNN/GRU/LSTM Cell & Sequence - common shape infer and review (#18009)
* rrn seq base common shape infer init

* Update and add shape infer to all seq rnn based ops

* Use shape_infer in lstm seq core op

* Use shape_infer in rnn seq core op

* Unified shape infer for rnn cell base

* Update and add missing cells shape_infer functions

* Use shpe_infer in rnn_cell

* Update shape_infer map

* shape_infer tests

* Move new shape_infer to TA map

* More tests and shape improvements

* Introduce common base tests

* Fix merge conflict

* Missing setters and default ctor tests

* Use RNNCellBase class instead of template type op

* Update v0 LSTMSequence to use RNNCellBase as parent class

* Style

* V0::LSTMSequence update

* Specify opset in shape infer registry

* Move rank check

* Output vec generation refactor

* Update num_dir_validation

* Tests warining fix

* Test types adjustment

* Commented code cleanup

* Move test helpers to test fixture

* Common default ctor tests for Cell

* Update GRU shape infer tests

* Update LSTM shape infer tests

* Update RNN shape infer tests

* File names update

* Functions renaming

* Cast hidden size in test

* Move v0::LSTMSequence conformance test

---------

Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>
2023-07-11 12:38:31 +04:00
Ilya Churaev 500ac2ab43
Remove vector of so objects from Tensor, Any, VariableState and (#18430)
RemoteContext
2023-07-10 12:41:03 +00:00
Ilya Churaev 8e671403b3
Try to fix error: e is outside the range (#18369)
* Try to fix error: e is outside the range

* Fixed code style

* Fixed tests

* Fixed tests

* Fixed code style

* Added error messages

* Fixed code style
2023-07-07 19:36:18 +04:00
Ilya Churaev b69190c2c1
Proxy plugin 2.0 (#17416)
* Initial commit for proxy plugin

* Include proxy to openvino library

* Fixed some tests

* Added plugin properties

* Added readme

* Support Compile model for the proxy plugin

* Fixed python

* Remove gmock

* Fixed some tests

* Fixed load plugin tests

* Removed internal PROXY_FALLBACK_PRIORITIES initialization property

* Fixed code style

* Added new tests

* Create architecture.md

* Fixed some proxy tests

* Implement not implemented functions

* Fixed ICore mock

* Remove redundant code

* Added import/export tests

* Fixed hetero import/export tests

* Fixed ICore mock

* Fixed import tests

* Fixed build

* Remove redundant parse config

* Fixed some comments

* Try to fix Windows build

* Fixed incorrect logic

* Small fix in tests

* Fixed python API

* Fixed typo

* Try to fix python

* Switch GPU under proxy

* Fixed GPU name

* Revert GPU plugin under proxy

* Small changes in CMake files

* Temp commit

* Build without proxy

* Revert "Temp commit"

This reverts commit 1ac9824bdf.

* Fixed test linking

* Removed tests from ncc check

* Add option to disable proxy plugin

* Fixed minor comments

* Disable some proxy tests if IR frontend is disabled

* Enable Intel GPU under the proxy

* Fixed typo

* Fixed segfault in tests

* Small fix for case if only GPU is registered

* Fixed code style

* Added remote context tests

* Added proxy tests to CI

* Fixed mock engine

* Test change

* Revert "Test change"

This reverts commit 2d1d67766f.

* Add new tests

* Removed some tests

* Revert "Removed some tests"

This reverts commit 090398652f.

* Revert incorrect logic

* Removed unused variables

* Use original name for the GPU plugin

* Fixed CMake

* Do not show hidden devices

* Try to fix GPU remote context

* Fixed GPU plugin build

* Added interface for proxy remote context

* Remove local properties

* Remove redundant API

* Fixed typo

* Added remote tensors

* Fixed code style

* Fixed some comments

* Unwrap remote tensors before conversion to Blob

* Added cast for legacy API

* Fixed some cldnn tests

* Do not add preprocessing for proxy plugin

* Enabled more tests and wrap tensors in infer request

* Use hardware request inside conversion wrapper

* Fixed hand on cache calculation

* Try to fix some tests

* Support set tensor for remote tensors in proxy plugin

* Revert "Support set tensor for remote tensors in proxy plugin"

This reverts commit 5a927de590.

* Remove redundant friend from compiled model and fix life time for infer
request

* Fixed code style

* Add additional so pointers to the tensor

* Rewrite approach for compile model and tensor

* Removed API from proxy

* Fixed is/as Blob for wrapped Blobs

* Wrap tensor when set tensor to plugin

* Fixed recursive call

* Don't unwrap tensors for AUTO plugin

* Fixed Some Multi tests with remote blob for proxy

* Align context name with tests

* Fixed code style

* Try to fix more tests

* Some minor changes

* Try to fix OVHoldersTests

* Try to save low level SO in high level wrappers

* Revert "Try to save low level SO in high level wrappers"

This reverts commit 430ff8a526.

* Revert "Try to fix OVHoldersTests"

This reverts commit 32604f0d3e.

* Disable some tests

* Fixed DynamicBatchShapeTests

* Fixed caching tests and skip OVHoldersTest

* Small refactoring

* Fixed import model

* Small fix

* Fix typo which causes fails of caching tests

* Disabled AUTO BATCH for proxy device

* Support Export in Auto batch

* Small changes

* Fixed initialization fallback to plugin with proxy name

* Added more values for tests

* Ask all devices and create context if no device id

* Support export in auto batch

* Fixed some comments

* Fixed some comments and removed auto batch

* Fixed some comments

* Fixed auto batch test and some comments

* Fixed build

* Removed proxy plugin class from dev api

* Fixed code style

* Fixed disabled tests
2023-07-07 13:45:20 +04:00
River Li e81f85c565
Resolve tensor sharing issue when there are same name output port name (#18379)
* Resolve tensor sharing issue when there are same name output port name

In some case, model has 2 or more same name input/output ports, they aslo have the same
precision and partial_shape. Compiled_model will share the same ov::Descriptor::Tensor pointer
and ov::Tensor between multiple such ports.
Considered solving python segment fault issue to create seperated input/output ports, which also
need handle such tensor shared case, this patch will do it.

* Better method to find shrared tensor desc

* Use port's tensor_ptr to replace creating new tensor_ptr
2023-07-07 08:23:06 +04:00
Tomasz Dołbniak deb6231329
Removal of opset12 from ngraph (#18282) 2023-06-30 14:41:11 +00:00
Tomasz Dołbniak 8f8bdc51b0
ScatterElementsUpdate-12 reference implementation (#18231) 2023-06-28 13:53:07 +02:00
Ivan Tikhonov eb43f40ca1
Revert "Enable ResolveNamesCollisions transformation in MOC (#18052)" (#18218)
This reverts commit 9630766e03.
2023-06-24 01:06:12 +04:00
Ivan Tikhonov 9630766e03
Enable ResolveNamesCollisions transformation in MOC (#18052)
* ResolveNamesCollisions transformation refactoring; enable it in MOC

* fix the description

* call ResolveNamesCollisions transformation in the frontends; resolve review comments

* Resolve review comments
2023-06-23 11:56:26 +04:00
Tomasz Dołbniak 45125c24cc
ScatterElementsUpdate-12 core op (#18069) 2023-06-22 09:33:45 +02:00
Pawel Raasz ca0d40969a
Reduce binary size by optimize exceptions (#18022)
* Separate macros for OPENVINO_THROW
add default message to exception to avoid using literals

* Restore the suppress deprecated macro in node

* Restore to public the Exception ctor
for nvidia plugin
2023-06-14 07:27:51 +04:00
Ivan Tikhonov 74100670ac
Delete the deprecated LowLatency (version1) transformation (#17965)
* Delete the deprecated LowLatency (version1) transformation

* detele LowLatency refs from the docs
2023-06-10 12:24:43 +04:00
Ilya Churaev c8e331003f
Port some changes from proxy branch (#17961)
* Port some changes from proxy branch

* Port test changes

* Rewrite approach for compile model and tensor

* Fixed review
2023-06-09 16:08:53 +02:00
Katarzyna Mitrus edf089bf22
[Pad-12] Introduce PadBase and Pad-12 operation (#17796)
* Introduce PadBase

* Update ov scope name

* Introduce Pad-12

* Common type_prop Pad tests

* Init Pad-12 ref tests

* Add Pad reference tests

* attr and op  check tests

* Move eval and clone inputs from PadBase

* Init opset12

* Headers clean up

* Update shape_inference map for CPU

* Update Pad evaluates to use ov::TensorVetor

* Update shape infer map with Pads

* Fix namespace

* Update op check test

* Add common Pad shape_inference tests

* Reuse PadBase shape_infer
2023-06-01 13:21:43 +02:00
Ilya Churaev ea04f8217d
Mark as deprecated nGraph API (#17647)
* Mark as deprecated nGraph API

* Fixed code style

* Added IN_OV_LIBRARY define

* Suppress warnings for log

* Suppress warning

* Updated nGraph headers

* Fixed build for macOS

* Fixed lpt and snippets

* Fixed build all on macOS

* Suppress some warnings

* Fixed some new warnings

* Fixed new warnings

* Try to fix some warnings

* More warnings

* Soome change

* Suppress more warnings

* Suppress warnings for transformations

* Suppress warnings for LPT

* One more fix

* Suppress more warnings

* Try to fix opset error

* Remove opset constructor

* Cannot fix opset warning

* Suppress warnings for offline transfromations

* Fixed some warnings for Windows

* Fixed code style

* Suppress some warnings for onnx FE

* Revert "Suppress some warnings for onnx FE"

This reverts commit 75d23b64fc.

* Revert "Fixed code style"

This reverts commit c6eba63116.

* Revert "Fixed some warnings for Windows"

This reverts commit 23d7ed88b6.

* Revert "Suppress warnings for offline transfromations"

This reverts commit 0b9f6317bf.

* Revert "Cannot fix opset warning"

This reverts commit 19ea658639.

* Revert "Remove opset constructor"

This reverts commit 06afb1bc20.

* Revert "Suppress warnings for LPT"

This reverts commit 58b1c0f5a0.

* Revert "Suppress warnings for transformations"

This reverts commit f8bb9814a1.

* Revert "Suppress more warnings"

This reverts commit f9f0da9acb.

* Revert "Soome change"

This reverts commit e545d4984e.

* Remove deprecation for ngraph::OpSet and FactoryRegistry
2023-06-01 12:44:28 +04:00
Tomasz Dołbniak 02124aece4
GroupNormalization core op (#17781) 2023-06-01 08:49:02 +02:00
Pawel Raasz 5299c3378b
Review interpolate for shape inference aspects (#17667)
* Review interpolate shapes and label propagation

* Review shape_infer template implementation

* Update shape infer of interpolate in GPU plugin
- Add new tensor accessor for ov::Tensor map

* Correct casting in dim::scale function

* Remove validation of size of input 1 in v0

* Relax inputs check for interpolate v4

* Correct GPU shape inference

* Use ov::Tensors in interpolate's evaluate
- Remove some duplicated code
- Apply comments from review

* Set shape in interpolate's eval for output tensor
2023-05-30 14:49:54 +04:00
Katarzyna Mitrus 328d852f5a
[ShapeInference] Reduce* ops shape inference review and update (#17677)
* Tests

* Add eval_lower/upper support to ReduceMax

* Add support for ITensorAccessor in reduce shape infer

* Add tests for duplicated axes and output shapes size

* Push to output_shapes instead final copy to vector

* Remove old shape_infer API

* Move axes rank validation to  shape_infer

* Restore shape_infer API for GPU
2023-05-30 14:29:23 +04:00
Ilya Lavrenov bd0117d648
Vcpkg conan fixes (#17765)
* Small fixes for openvino::pugixml creation for Dev packages

* Flexiable components installation

* Fixed compilation for x86

* Added extra checks for ENABLE_NCC_STYLE

* Fixed typo in RPM
2023-05-29 15:40:51 +04:00
Pawel Raasz 23258c8bcf
[ShapeInfer] Review Proposal op for shape inference aspects (#17578)
* Review Proposal op for shape infer aspects:
- Check partial shape and label propagation.
- Check template implementation of shape_infer.
- Add/update unit test for static and dynamic shapes.
- Drop using `ngraph` namespace from reviewed operator.

* Add missing includes

* Correct shape infer if batch defined in input only

* Improvement in tensor accessor:
- Make possible to create TA as constexpr
- Make empty TA as cons reference to existing object

* Remove not used tensor accessor
2023-05-26 09:24:41 +04:00
Bo Liu 703e5421ca
extend PaddlePaddle elementwise broadcast type support (#17102)
* enable PaddlePaddle elementwise broadcast

* fix CI fail issue

* Apply suggestions from code review

* fix CI fail issue

* only B to A broadcast is supported for PDPD

* fix GPU plugin testcase fail issue

* keep PDPD broadcast_merge cpu plugin implement align with ov core

* add type prop test case for pdpd broadcast dst shape smaller than src shape
2023-05-23 14:25:56 +04:00
Nikolay Shchegolev a6b043b1ca
[Core] Conv reference optimization. (#17303) 2023-05-17 15:54:33 +04:00
Ilya Lavrenov 04171416f4
Put mingw on gcc code path (#16101)
* Supported mingw-w64

* Supported mingw-w64

* Supported mingw-w64
2023-05-17 00:47:55 +04:00
Evgenya Stepyreva 6ae318d6e3
Strided Slice fix constant creation (#17556)
* Strided Slice fix constant creation

* Final touches

* style:
2023-05-16 17:50:41 +04:00
Pawel Raasz 78bb0c4837
[ShapeInfer] Review experimental detectron prior grid generator class for shape inference aspects (#17474)
* Review detectron prior grid generator for:
- Check interval shapes and label propagation.
- Check template implementation of shape infer.
- Add update or correct unit test for static and dynamic shapes.

* Remove ngraph namespace in reviewed op

* Use detectron validation util to check inputs
in all related detectrons operators

* Relax first dim of feat map and im data check

* Fix test after dimension validation update

* Fix typo in detectron util file name
2023-05-16 14:58:00 +04:00
Pawel Raasz 5ff0081489
[ShapeInfer] Review detectron ROI feature extractor shape inference aspects (#17532)
* Review detectron ROI feature extractor shape infer
- Check Interval dimension and label propagation.
- Check template implementation of shape_infer.
- Add/Update unit test for static and dynamic shapes.
- Remove `ngraph` namespace from reviewed operator.

* Fix compilation issues
2023-05-16 14:57:29 +04:00
Pawel Raasz 5df0a006df
[Core] StridedSlice improvements of bound evaluation and constant folding (#17505)
* StridedSlice improvements:
-Bound evaluation for begin, end partial values when ignore mask set.
- Custom constant fold implementation.

* Improve const folding when all begin or end values
are ignored
2023-05-15 08:54:41 +00:00
Pawel Raasz 0a26372a4f
Review experimental detectron detection output for shape inference aspects (#17407)
* Review detectron detection output for:
- Interval shapes and label propagation.
- Check template implementation of shape_infer.
- Add/update unit test for static and dynamic shapes.

* Remove ngraph namespace from experimental
detectron detection output
2023-05-09 14:08:23 +03:00
Pawel Raasz 94a7342548
Review roi align class for shape inference aspects (#17154)
* Review ROIAlign for shape inference aspects:
- Check interval shape and label propagation
- Check template implementation of shape_infer
- Add unit test for static and dynamic shapes

* Update ROIAlign::evaluate to use ov::Tensor
- remove ngraph namespace from op where possible
2023-05-08 10:42:55 +04:00
Pawel Raasz f3fa1a5f96
Review prior box and clustered class for shape inference aspects (#17382)
* Review PriorBox op for shape inference aspects:
- check interval shape and label propagation
- check preserve interval values and labels on inputs
- add template shape_infer function
- add/update test for dynamic and static shape inference

* Update PriorBox evaluate to use ov::Tensor
- remove ngraph namespace form PriorBox where possible

* Review PriorBoxClustered for shape infer aspects
- check interval dimension and label propagation
- check preserve partial values and labels on inputs
- add template implementation of shape_infer
- add/update test for static and dynamic shapes

* Use correct shape for PriorBox transformation test

* PriorBoxClustered evaluate use ov::Tensor
Remove ngraph namespace from op where possible

* Fix compilation issues
2023-05-08 10:40:07 +04:00
Pawel Raasz 8d81223a28
Review experimental detectron topk rois for shape inference aspects (#17018)
* Review experimental detectron topk rois for:
- interval shape and label propagation
- template implementation of shape_infer
- expand unit test fot partial and static shapes

* Fix build issues
2023-05-08 10:34:56 +04:00
Pawel Raasz f93c8dda78
Review detectron generate proposal for: (#17103)
- interval shape propagation
- label propagation
- template implementation of shape_infer
- add more unit tests for dynamic and static shapes
2023-05-08 10:34:37 +04:00
Ilya Lavrenov 4d7947efc8
Increment minor OV version (#17299) 2023-05-02 22:32:18 +02:00
Ilya Lavrenov cfbfa18f34
Fixed WASM build in update docker container / new dependencies (#17224) 2023-04-26 16:32:36 +04:00
Evgenya Stepyreva b452dab8f0
TypeRelaxed<>::clone_with_new_inputs thread safety fix (#16881)
* TypeRelaxed<>::clone_with_new_inputs thread safety fix

* Style

* Make TypeRelaxed<BaseOp>::clone_with_new_inputs copy node the same way as copy ctor of ov::Node

* Removed mutex field from intel_cpu::GraphContext

* Removed all about has_type_relaxed_ops field from the snippets subgraph

* Clonning test
2023-04-25 00:51:18 +04:00
Tomasz Dołbniak d230ad9313
Interpolate op cleanup (#17026) 2023-04-19 15:47:29 +02: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
Ilya Lavrenov f4fe8400a7
Generic ARM fixes (#16994) 2023-04-17 20:37:10 +04:00
Ilya Lavrenov 31398bb3eb
Fixed deprecated API warnings (#16949) 2023-04-17 07:19:53 +04:00
Oleg Pipikin 7ce40996e5
Fix copy constructor and assignment for ov::Any (#16757)
* Fix copy constructor and assignment for ov::Any

* Fix1

* Apply comments

* Add test

* Fix code style

* Fix2

* Fix3
2023-04-14 22:12:18 +04:00
Tomasz Dołbniak fb49228fec
Pillow modes in the preprocessor's resize mechanism (#16601) 2023-04-12 15:30:42 +02: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
Ilya Churaev b921bf2e29
Remove redundant copy of ov::Any in has_rt_info method (#16802)
* Remove redundant copy

* Fixed Python segfault and avoid a copy of ov::Any
2023-04-10 13:56:35 +04:00
Xuejun Zhai 3be946371d
Xuejun/remove api tensor related (#15877)
* [Remove APIs] remove api set_partial_shape()

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

* [Remove APIs] remove api set_element_type()

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

* [Remove APIs] remove api set_tensor_type()

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

* Revert "[Remove APIs] remove api set_tensor_type()"

This reverts commit 96f89e222d.

* Revert "[Remove APIs] remove api set_element_type()"

This reverts commit 33ebb61977.

* Apply suggestions from code review

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
Co-authored-by: Evgenya Stepyreva <eva.my.link@gmail.com>
Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com>
2023-04-07 06:37:25 +02: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