### Details:
- Added support for mmdeploy.ROIAlignRotated with test
### Tickets:
- [CVS-135844]
---------
Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>
**Details:** For integration TFL FE into TF Lite Delegate, we should
re-consider TF Lite FE developer API and create abstract classes for
model graph traversing and node info retrieving. The current solution is
oriented on FlatBuffer object handling but TF Lite Delegate has
different class for a model representation and API to work.
So we should complete the following scope:
* [x] create abstract classes for `GraphIterator` and `DecoderBase`,
inherit `DecoderFlatBuffer` and `GraphIteratorFlatBuffer` from them
* [x] move TensorInfo classes into external API of TFL FE that are
required for quantizer nodes handling during conversion
* [x] extend TFL Frontend class to accept base `GraphIterator` pointer
for `InputModel` creation
* [x] unify TFL FE translators to work with only base classes of
`DecoderBase` because they will be reused by TF Lite Delegate
Check binary size of TFL FE so? Assumption that it was decreased.
**Ticket:** 136814
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
### Details:
- *Check the first dimension each time for any layout*
- *Get batch size only when inputs/outputs of the compiled model are
equal to 1*
### Tickets:
- *E#103116*
### Details:
- Certain `execution devices` tests for `compiled_model` would fail
like:
```
src\tests\functional\plugin\shared\src\behavior\compiled_model\properties.cpp(329):
error: Expected equality of these values:
expectedTargets
Which is: { "NPU.XXXX" }
exeTargets
Which is: { "NPU.AUTO_DETECT" }
```
To overcome this problem, tests' `expectedTargets` were updated to `NPU`
only, but the value got from `ov::execution_devices` config had to be
updated to `NPU` as well.
- Other problem occurred for `NPU_TILES` config where prefixed values
for `NPU_PLATFORM` config e.g. `NPUXXXX` were not standardized to digits
only, causing `NPU_STEPPING` and `NPU_MAX_TILES` to be missing from
local config.
### Tickets:
- Instantiation of shared compiled model tests is being tracked in
*EISW-109425*
### Details:
- This PR updates the shortcut logic in `layout::transform` for 3D
layouts.
- 3D layouts are handled as `bfy`, not as `bfx` in the GPU plugin.
### Details:
- *Splitted `LoopInfo` into `ExpandedLoopInfo` and `UnifiedLoopInfo`.
Now `UnifiedLoopInfo` is used for whole Loop before loop decomposition
into specific iterations. `ExpandedLoopInfo` describes loop specific
iterations that have been already inserted to `LinearIR`.*
- *Added `NormalizeLoopIDs` pass to order IDs of expanded loops
(specific loop iterations) by execution.*
- *Added `ValidateExpandedLoops` pass for validation loops after
decomposition.*
### Tickets:
- *140419*
### Prerequisites:
- https://github.com/openvinotoolkit/openvino/pull/24115
- https://github.com/openvinotoolkit/openvino/pull/23710
Updates the requirements on
[pytest](https://github.com/pytest-dev/pytest) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>8.2.0</h2>
<h1>pytest 8.2.0 (2024-04-27)</h1>
<h2>Deprecations</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12069">#12069</a>:
A deprecation warning is now raised when implementations of one of the
following hooks request a deprecated <code>py.path.local</code>
parameter instead of the <code>pathlib.Path</code> parameter which
replaced it:</p>
<ul>
<li><code>pytest_ignore_collect</code>{.interpreted-text
role="hook"} - the <code>path</code> parameter - use
<code>collection_path</code> instead.</li>
<li><code>pytest_collect_file</code>{.interpreted-text
role="hook"} - the <code>path</code> parameter - use
<code>file_path</code> instead.</li>
<li><code>pytest_pycollect_makemodule</code>{.interpreted-text
role="hook"} - the <code>path</code> parameter - use
<code>module_path</code> instead.</li>
<li><code>pytest_report_header</code>{.interpreted-text
role="hook"} - the <code>startdir</code> parameter - use
<code>start_path</code> instead.</li>
<li><code>pytest_report_collectionfinish</code>{.interpreted-text
role="hook"} - the <code>startdir</code> parameter - use
<code>start_path</code> instead.</li>
</ul>
<p>The replacement parameters are available since pytest 7.0.0.
The old parameters will be removed in pytest 9.0.0.</p>
<p>See <code>legacy-path-hooks-deprecated</code>{.interpreted-text
role="ref"} for more details.</p>
</li>
</ul>
<h2>Features</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11871">#11871</a>:
Added support for reading command line arguments from a file using the
prefix character <code>@</code>, like e.g.: <code>pytest
@tests.txt</code>. The file must have one argument per line.</p>
<p>See <code>Read arguments from file
<args-from-file></code>{.interpreted-text role="ref"}
for details.</p>
</li>
</ul>
<h2>Improvements</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11523">#11523</a>:
<code>pytest.importorskip</code>{.interpreted-text
role="func"} will now issue a warning if the module could be
found, but raised <code>ImportError</code>{.interpreted-text
role="class"} instead of
<code>ModuleNotFoundError</code>{.interpreted-text
role="class"}.</p>
<p>The warning can be suppressed by passing
<code>exc_type=ImportError</code> to
<code>pytest.importorskip</code>{.interpreted-text
role="func"}.</p>
<p>See <code>import-or-skip-import-error</code>{.interpreted-text
role="ref"} for details.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11728">#11728</a>:
For <code>unittest</code>-based tests, exceptions during class cleanup
(as raised by functions registered with <code>TestCase.addClassCleanup
<unittest.TestCase.addClassCleanup></code>{.interpreted-text
role="meth"}) are now reported instead of silently
failing.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11777">#11777</a>:
Text is no longer truncated in the <code>short test summary info</code>
section when <code>-vv</code> is given.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12112">#12112</a>:
Improved namespace packages detection when
<code>consider_namespace_packages</code>{.interpreted-text
role="confval"} is enabled, covering more situations (like
editable installs).</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/9502">#9502</a>:
Added <code>PYTEST_VERSION</code>{.interpreted-text
role="envvar"} environment variable which is defined at the
start of the pytest session and undefined afterwards. It contains the
value of <code>pytest.__version__</code>, and among other things can be
used to easily check if code is running from within a pytest run.</p>
</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12065">#12065</a>:
Fixed a regression in pytest 8.0.0 where test classes containing
<code>setup_method</code> and tests using <code>@staticmethod</code> or
<code>@classmethod</code> would crash with <code>AttributeError:
'NoneType' object has no attribute 'setup_method'</code>.</p>
<p>Now the <code>request.instance
<pytest.FixtureRequest.instance></code>{.interpreted-text
role="attr"} attribute of tests using
<code>@staticmethod</code> and <code>@classmethod</code> is no longer
<code>None</code>, but a fresh instance of the class, like in non-static
methods.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6bd3f31344"><code>6bd3f31</code></a>
Tweak changelog for 8.2.0</li>
<li><a
href="9b6219b5e8"><code>9b6219b</code></a>
Prepare release version 8.2.0</li>
<li><a
href="835765c9d3"><code>835765c</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12130">#12130</a>
from bluetech/fixtures-inline</li>
<li><a
href="7e7503c0b0"><code>7e7503c</code></a>
unittest: report class cleanup exceptions (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12250">#12250</a>)</li>
<li><a
href="882c4da2f3"><code>882c4da</code></a>
fixtures: inline <code>fail_fixturefunc</code></li>
<li><a
href="2e8fb9f140"><code>2e8fb9f</code></a>
fixtures: extract a <code>_check_fixturedef</code> method</li>
<li><a
href="acf2971f46"><code>acf2971</code></a>
fixtures: inline <code>_getnextfixturedef</code> into
<code>_get_active_fixturedef</code></li>
<li><a
href="3c77aec1da"><code>3c77aec</code></a>
fixtures: move "request" check early</li>
<li><a
href="d217d68cde"><code>d217d68</code></a>
fixtures: inline <code>_compute_fixture_value</code></li>
<li><a
href="530be28575"><code>530be28</code></a>
fixtures: use early return in <code>_get_active_fixturedef</code></li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/5.0.0...8.2.0">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
### Details:
- Moved `MoveEltwiseUpThroughDataMov` transformation from CPU plugin to
common scope
- Relaxed precision restrictions in this transform and keep old one in
CPU callback only
- Added an ability to customize list of allowed ops for
`MoveEltwiseUpThroughDataMov` pass
- Enable this pass in GPU pipeline in addition to internal pass. cldnn
pass can't be fully replaced for now as for some ops we may create
multiple cldnn primitives which happens after
`MoveEltwiseUpThroughDataMov` pass is called
### Details:
- Kernel which produce multiple outputs are updated to work with real
output tensors. Handling of legacy representation is now a part of impl
class. In the future that will help to migrate to new shape infer
### Details:
- Get rid of 2 primitives used for optimized deformable conv inference
and replace it with multi-kernel impl within regular conv
- Removed unused optimization attribute
### Details:
- Move AUTO related test from Template Plugin to AUTO Plugin
- Move HETERO related test from Template Plugin to HETERO Plugin
- Move BATCH related test from Template Plugin to BATCH Plugin
- Remove repeat tests
- Clean skip tests
### Tickets:
- CVS-135298
---------
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
Co-authored-by: Wang, Yang <yang4.wang@intel.com>
Bumps [paddlepaddle](https://github.com/paddlepaddle/paddle) from 2.5.2
to 2.6.0.
Paddle 2.6 removed many apis in "fluid". There are bound to be a lot of
bugs that the api won't find. We can change paddle.fluid to paddle.base
for error cases. This will fix most of the problems.
The PR mainly fixes the following problems:
- fix build errors during api names changed
- fix test errors during op output changed
### Tickets:
- Closes https://github.com/openvinotoolkit/openvino/pull/21867
---------
Co-authored-by: mei, yang <yang.mei@intel.com>
### Details:
- fix error in simple mem copy case
- fix error in case of #if INPUT0_SIMPLE == 1
- more testcases taken from cases in model levit_128s
---------
Co-authored-by: OlehKravchyshyn <86965088+OlehKravchyshyn@users.noreply.github.com>
**Details:** Currently they are switched on for legacy frontend that is
incorrect.
**Ticket:** TBD
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
### Details:
- *Avoid broadcast for depthwise fusion with a shape pattern where
channel is the only non-one dimension, e.g., [1, C], [1, C, 1, ..., 1].*
- *Add test cases that can reproduce this issue beforehand.*
### Tickets:
- *[CVS-138063](https://jira.devtools.intel.com/browse/CVS-138063)*
### Details:
- Reuse kernel selector params object created on impl init in
update_dispatch_data() function for some primitives and just update
shapes of in/out/fused tensors.
- Small improvements for `fill_shape_info_data`
- Slightly improves host code execution time (~2-3ms)
- Save new_shape_infer flag once in program to avoid config access
overhead in runtime
### Tickets:
- CVS-140264, CVS-140267
### Details:
Refactor binary PReLU avx2 post op in order to reduce the amount of
instructions for avx2 and fix the conflicting register indices issue for
both avx2 and sse41. This is more advanced version of the previous fix
ported only to the LTS branch
https://github.com/openvinotoolkit/openvino/pull/23910. Also dedicated
SL tests were introduced.
OneDNN fork PR https://github.com/openvinotoolkit/oneDNN/pull/242
### Tickets:
- CVS-137492
### Details:
- *Comparison of models after import/export is relaxed and left checks
only for parameters/results, because not all plugins can restore all
internal structure*
### Tickets:
- *[CVS-139118](https://jira.devtools.intel.com/browse/CVS-139118)*
Compilation in Conan fails if compiler=clang and libstd=libstdc++
because conan defines _GLIBCXX_USE_CXX11_ABI=0 but openvino autodetects
the value and overwrites it with _GLIBCXX_USE_CXX11_ABI=1.
These changes make it honor the compile definitions generated by Conan.
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>