diff --git a/.github/components.yml b/.github/components.yml
index 04465f78a788e9..f929f8cdf00b07 100644
--- a/.github/components.yml
+++ b/.github/components.yml
@@ -82,7 +82,6 @@ TEMPLATE:
- C_API
- Python_API
- NVIDIA
- - TOKENIZERS
build:
- IR_FE
@@ -130,6 +129,7 @@ TF_FE:
build:
- CPU
- Python_API
+ - TOKENIZERS
TFL_FE:
revalidate:
@@ -144,6 +144,7 @@ PyTorch_FE:
build:
- CPU
- Python_API
+ - TOKENIZERS
C_API:
build:
@@ -196,7 +197,6 @@ IE_Tests:
- TEMPLATE
- AUTO
- NVIDIA
- - TOKENIZERS
build:
- IR_FE
diff --git a/.github/workflows/android_arm64.yml b/.github/workflows/android_arm64.yml
index 3b52ba7e72cc11..6e60051cd0c0ab 100644
--- a/.github/workflows/android_arm64.yml
+++ b/.github/workflows/android_arm64.yml
@@ -5,7 +5,7 @@ on:
merge_group:
push:
branches:
- - master
+ # - master
- 'releases/**'
concurrency:
diff --git a/.github/workflows/fedora.yml b/.github/workflows/fedora.yml
index 0a8298e5a17497..04e7e36fd63b86 100644
--- a/.github/workflows/fedora.yml
+++ b/.github/workflows/fedora.yml
@@ -5,7 +5,7 @@ on:
merge_group:
push:
branches:
- - master
+ # - master
- 'releases/**'
concurrency:
diff --git a/.github/workflows/job_cpu_functional_tests.yml b/.github/workflows/job_cpu_functional_tests.yml
index fa45d642813b05..03708246ddc4bc 100644
--- a/.github/workflows/job_cpu_functional_tests.yml
+++ b/.github/workflows/job_cpu_functional_tests.yml
@@ -29,7 +29,6 @@ jobs:
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
PARALLEL_TEST_SCRIPT: ${{ github.workspace }}/install/tests/functional_test_utils/layer_tests_summary/run_parallel.py
PARALLEL_TEST_CACHE: ${{ github.workspace }}/install/tests/test_cache.lst
- if: ${{ github.event_name != 'merge_group' }}
steps:
- name: Set apt retries
run: echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80-retries
diff --git a/.github/workflows/job_cxx_unit_tests.yml b/.github/workflows/job_cxx_unit_tests.yml
index a2e42d1a0aed30..d131674bffad1e 100644
--- a/.github/workflows/job_cxx_unit_tests.yml
+++ b/.github/workflows/job_cxx_unit_tests.yml
@@ -31,7 +31,6 @@ jobs:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
- if: ${{ github.event_name != 'merge_group' }}
steps:
- name: Set apt retries
run: echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80-retries
diff --git a/.github/workflows/job_pytorch_models_tests.yml b/.github/workflows/job_pytorch_models_tests.yml
index f2a651e6727533..0e9bf740fc4159 100644
--- a/.github/workflows/job_pytorch_models_tests.yml
+++ b/.github/workflows/job_pytorch_models_tests.yml
@@ -51,6 +51,12 @@ jobs:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
+ - name: Download OpenVINO tokenizers extension
+ uses: actions/download-artifact@v3
+ with:
+ name: openvino_tokenizers_wheel
+ path: ${{ env.INSTALL_DIR }}
+
- name: Download OpenVINO tests package
uses: actions/download-artifact@v3
with:
@@ -98,7 +104,9 @@ jobs:
self-hosted-runner: ${{ contains(inputs.runner, 'aks') }}
- name: Install OpenVINO Python wheels
- run: python3 -m pip install ${INSTALL_DIR}/tools/openvino-*
+ run: |
+ python3 -m pip install ${INSTALL_DIR}/tools/openvino-*
+ python3 -m pip install ${INSTALL_DIR}/openvino_tokenizers-*
- name: Install PyTorch tests requirements
run: |
diff --git a/.github/workflows/job_tensorflow_hub_models_tests.yml b/.github/workflows/job_tensorflow_hub_models_tests.yml
index 54302b7cfbef58..c0cad932fbb631 100644
--- a/.github/workflows/job_tensorflow_hub_models_tests.yml
+++ b/.github/workflows/job_tensorflow_hub_models_tests.yml
@@ -51,6 +51,12 @@ jobs:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
+ - name: Download OpenVINO tokenizers extension
+ uses: actions/download-artifact@v3
+ with:
+ name: openvino_tokenizers_wheel
+ path: ${{ env.INSTALL_DIR }}
+
- name: Download OpenVINO tests package
uses: actions/download-artifact@v3
with:
@@ -97,7 +103,9 @@ jobs:
self-hosted-runner: ${{ contains(inputs.runner, 'aks') }}
- name: Install OpenVINO Python wheels
- run: python3 -m pip install ${INSTALL_DIR}/tools/openvino-*
+ run: |
+ python3 -m pip install ${INSTALL_DIR}/tools/openvino-*
+ python3 -m pip install ${INSTALL_DIR}/openvino_tokenizers-*
- name: Install TF Hub tests requirements
run: python3 -m pip install -r ${MODEL_HUB_TESTS_INSTALL_DIR}/tf_hub_tests/requirements.txt
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index 84ea27f5635393..02559bb20292fc 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -480,7 +480,7 @@ jobs:
name: TensorFlow Hub Models tests
if: fromJSON(needs.smart_ci.outputs.affected_components).TF_FE.test ||
fromJSON(needs.smart_ci.outputs.affected_components).TFL_FE.test
- needs: [ Build, Smart_CI ]
+ needs: [ Build, Smart_CI, Openvino_tokenizers ]
uses: ./.github/workflows/job_tensorflow_hub_models_tests.yml
with:
runner: ${{ github.event_name == 'schedule' && 'ubuntu-20.04-16-cores' || 'ubuntu-20.04-8-cores' }}
@@ -494,7 +494,7 @@ jobs:
PyTorch_Models_Tests:
name: PyTorch Models tests
if: fromJSON(needs.smart_ci.outputs.affected_components).PyTorch_FE.test
- needs: [ Build, Smart_CI ]
+ needs: [ Build, Smart_CI, Openvino_tokenizers ]
uses: ./.github/workflows/job_pytorch_models_tests.yml
with:
runner: ${{ github.event_name == 'schedule' && 'ubuntu-20.04-16-cores' || 'ubuntu-20.04-8-cores' }}
diff --git a/.github/workflows/linux_arm64.yml b/.github/workflows/linux_arm64.yml
index 362c36a50504e3..7f6ec8a70f7590 100644
--- a/.github/workflows/linux_arm64.yml
+++ b/.github/workflows/linux_arm64.yml
@@ -5,7 +5,7 @@ on:
merge_group:
push:
branches:
- - master
+ # - master
- 'releases/**'
concurrency:
diff --git a/.github/workflows/linux_riscv.yml b/.github/workflows/linux_riscv.yml
index 179020a218f0c6..2f1ca29890fc47 100644
--- a/.github/workflows/linux_riscv.yml
+++ b/.github/workflows/linux_riscv.yml
@@ -60,8 +60,8 @@ jobs:
OPENVINO_REPO: /__w/openvino/openvino/openvino
OPENVINO_BUILD_DIR: /__w/openvino/openvino/openvino_build
INSTALL_DIR: /__w/openvino/openvino/openvino_install
- CONAN_USER_HOME: /mount/caches/ccache/ubuntu22_riscv64_master_release/.conan
- CCACHE_DIR: /mount/caches/ccache/ubuntu22_riscv64_master_release
+ CONAN_USER_HOME: /mount/caches/ccache/ubuntu22_riscv64_master/.conan
+ CCACHE_DIR: /mount/caches/ccache/ubuntu22_riscv64_master
CCACHE_TEMPDIR: /__w/openvino/openvino/ccache_temp
CCACHE_MAXSIZE: 50G
if: ${{ !needs.smart_ci.outputs.skip_workflow && github.event_name != 'merge_group' }}
@@ -220,7 +220,7 @@ jobs:
- name: Check status of all jobs
if: >-
${{
- contains(needs.*.result, 'failure') ||
+ contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'cancelled')
}}
run: exit 1
diff --git a/.github/workflows/webassembly.yml b/.github/workflows/webassembly.yml
index f7ba021b2472d8..250b9f549a6ec2 100644
--- a/.github/workflows/webassembly.yml
+++ b/.github/workflows/webassembly.yml
@@ -5,7 +5,7 @@ on:
merge_group:
push:
branches:
- - master
+ # - master
- 'releases/**'
concurrency:
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index caf1d2ee7edcce..871bb09c02c68c 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -252,8 +252,7 @@ jobs:
if-no-files-found: 'error'
- name: Upload openvino js package
- if: ${{ 'false' }} # 128689
- # if: fromJSON(needs.smart_ci.outputs.affected_components).JS_API
+ if: fromJSON(needs.smart_ci.outputs.affected_components).JS_API
uses: actions/upload-artifact@v3
with:
name: openvino_js_package
@@ -364,8 +363,7 @@ jobs:
env:
OPENVINO_JS_DIR: "${{ github.workspace }}\\openvino\\src\\bindings\\js"
OPENVINO_JS_LIBS_DIR: "${{ github.workspace }}\\openvino\\src\\bindings\\js\\node\\bin"
- if: ${{ 'false' }} # 128689
- # if: fromJSON(needs.smart_ci.outputs.affected_components).JS_API
+ if: fromJSON(needs.smart_ci.outputs.affected_components).JS_API
steps:
- name: Fetch OpenVINO JS sources
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/activation/Swish_4.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/activation/Swish_4.rst
index bcbf32234356ac..51c7537399c0bd 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/activation/Swish_4.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/activation/Swish_4.rst
@@ -5,7 +5,7 @@ Swish
.. meta::
- :description: Learn about Swish-4 - an element-wise, activation operation, which
+ :description: Learn about Swish-4 - an element-wise, activation operation, which
can be performed on a single tensor in OpenVINO.
**Versioned name**: *Swish-4*
@@ -55,7 +55,7 @@ Example: Second input ``beta`` provided
256
56
- < !-- beta value: 2.0 -->
+
-
- < !-- YOLO V2 Example -->
+
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Eye_9.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Eye_9.rst
index aabb8ab101c212..411c54364258f8 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Eye_9.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Eye_9.rst
@@ -5,7 +5,7 @@ Eye
.. meta::
- :description: Learn about Eye-9 - a generation operation, which can be
+ :description: Learn about Eye-9 - a generation operation, which can be
performed on three required and one optional input tensors.
**Versioned name**: *Eye-9*
@@ -23,13 +23,13 @@ Example 1. *Eye* output with ``output_type`` = ``i32``:
.. code-block:: xml
:force:
-
+
num_rows = 3
-
+
num_columns = 4
-
+
diagonal_index = 2
-
+
output = [[0 0 1 0]
[0 0 0 1]
[0 0 0 0]]
@@ -38,13 +38,13 @@ Example 2. *Eye* output with ``output_type`` = ``i32``:
.. code-block:: xml
:force:
-
+
num_rows = 3
-
+
num_columns = 4
-
+
diagonal_index = -1
-
+
output = [[0 0 0 0]
[1 0 0 0]
[0 1 0 0]]
@@ -53,13 +53,13 @@ Example 3. *Eye* output with ``output_type`` = ``f16``:
.. code-block:: xml
:force:
-
+
num_rows = 2
-
+
diagonal_index = 5
-
+
batch_shape = [1, 2]
-
+
output = [[[[0. 0.]
[0. 0.]]
[[0. 0.]
@@ -97,13 +97,13 @@ Example 3. *Eye* output with ``output_type`` = ``f16``:
.. code-block:: xml
:force:
-
+
- < !-- num rows: 5 -->
- < !-- num columns: 5 -->
- < !-- diagonal index -->
+
+
+
@@ -117,14 +117,14 @@ Example 3. *Eye* output with ``output_type`` = ``f16``:
.. code-block:: xml
:force:
-
+
- < !-- num rows -->
- < !-- num columns -->
- < !-- diagonal index -->
- < !-- batch_shape : [2, 3] -->
+
+
+
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Multinomial_13.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Multinomial_13.rst
index 34f355612232f1..46d2d66213594f 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Multinomial_13.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Multinomial_13.rst
@@ -91,10 +91,10 @@ Example 3 - 2D tensor, without replacement
* **Description**: controls whether to sample with replacement (classes can be sampled multiple times).
* **Range of values**: `true`, `false`
-
+
* ``true`` - class indices can be sampled multiple times.
* ``false`` - class indices will not repeat in the output and the size of ``probs``' ``class_size`` dimension is required to be larger or equal to *num_samples* value. Might affect performance.
-
+
* **Type**: `bool`
* **Required**: *Yes*
@@ -149,16 +149,16 @@ Example 3 - 2D tensor, without replacement
- < !-- probs value: [[0.1, 0.5, 0.4]] -->
- 1 < !-- batch size of 2 -->
+
+ 1
3
- < !-- num_samples value: 5 -->
+
- 1 < !--dimension depends on input batch size -->
- 5 < !--dimension depends on num_samples -->
+ 1
+ 5
@@ -171,16 +171,16 @@ Example 3 - 2D tensor, without replacement
- < !-- probs value: [[-1, 1, 2], [50, 1, 21]] -->
- 2 < !-- batch size of 2 -->
+
+ 2
3
- < !-- num_samples value: 10 -->
+
- 2 < !--dimension depends on input batch size -->
- 10 < !--dimension depends on num_samples -->
+ 2
+ 10
@@ -193,16 +193,16 @@ Example 3 - 2D tensor, without replacement
- < !-- probs value: [[0.1, 0.5, 0.4]] -->
- 2 < !-- batch size of 2 -->
+
+ 2
3
- < !-- num_samples value: 2 -->
+
- 2 < !-- batch size of 2 -->
- 2 < !-- 2 unique samples of classes -->
+ 2
+ 2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/RandomUniform_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/RandomUniform_8.rst
index d7b63d49b83d54..526d13d594afdb 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/RandomUniform_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/RandomUniform_8.rst
@@ -5,7 +5,7 @@ RandomUniform
.. meta::
- :description: Learn about RandomUniform-8 - a generation operation, which can be
+ :description: Learn about RandomUniform-8 - a generation operation, which can be
performed on three required input tensors.
**Versioned name**: *RandomUniform-8*
@@ -16,10 +16,10 @@ RandomUniform
**Detailed description**:
-*RandomUniform* operation generates random numbers from a uniform distribution in the range ``[minval, maxval)``.
-The generation algorithm is based on underlying random integer generator that uses Philox algorithm. Philox algorithm
-is a counter-based pseudo-random generator, which produces uint32 values. Single invocation of Philox algorithm returns
-four result random values, depending on the given *key* and *counter* values. *Key* and *counter* are initialized
+*RandomUniform* operation generates random numbers from a uniform distribution in the range ``[minval, maxval)``.
+The generation algorithm is based on underlying random integer generator that uses Philox algorithm. Philox algorithm
+is a counter-based pseudo-random generator, which produces uint32 values. Single invocation of Philox algorithm returns
+four result random values, depending on the given *key* and *counter* values. *Key* and *counter* are initialized
with *global_seed* and *op_seed* attributes respectively.
If both seed values equal to zero, RandomUniform generates non-deterministic sequence.
@@ -32,7 +32,7 @@ If both seed values equal to zero, RandomUniform generates non-deterministic seq
Link to the original paper `Parallel Random Numbers: As Easy as 1, 2, 3 `__.
-The result of Philox is calculated by applying a fixed number of *key* and *counter* updating so-called "rounds".
+The result of Philox is calculated by applying a fixed number of *key* and *counter* updating so-called "rounds".
This implementation uses 4x32_10 version of Philox algorithm, where number of rounds = 10.
Suppose we have *n* which determines *n*-th 4 elements of random sequence.
@@ -43,7 +43,7 @@ In each round *key*, *counter* and *n* are splitted to pairs of uint32 values:
R = cast\_to\_uint32(value)\\
L = cast\_to\_uint32(value >> 32),
-where *cast\_to\_uint32* - static cast to uint32, *value* - uint64 input value, *L*, *R* - uint32
+where *cast\_to\_uint32* - static cast to uint32, *value* - uint64 input value, *L*, *R* - uint32
result values, >> - bitwise right shift.
Then *n* and *counter* are updated with the following formula:
@@ -68,7 +68,7 @@ Values :math:`L'_{n}, R'_{n}, L'_{counter}, R'_{counter}` are resulting four ran
Float values between [0..1) are obtained from 32-bit integers by the following rules.
-Float16 is formatted as follows: *sign* (1 bit) *exponent* (5 bits) *mantissa* (10 bits). The value is interpreted
+Float16 is formatted as follows: *sign* (1 bit) *exponent* (5 bits) *mantissa* (10 bits). The value is interpreted
using following formula:
.. math::
@@ -99,7 +99,7 @@ where x is uint32 generated random value.
Float32 is formatted as follows: *sign* (1 bit) *exponent* (8 bits) *mantissa* (23 bits). The value is interpreted using following formula:
.. math::
-
+
(-1)^{sign} * 1, mantissa * 2 ^{exponent - 127}
@@ -117,7 +117,7 @@ So the resulting float value is:
.. code-block:: xml
:force:
-
+
val = ((exponent << 23) | x & 0x7fffffu) - 1.0,
where x is uint32 generated random value.
@@ -125,7 +125,7 @@ where x is uint32 generated random value.
Double is formatted as follows: *sign* (1 bit) *exponent* (11 bits) *mantissa* (52 bits). The value is interpreted using following formula:
.. math::
-
+
(-1)^{sign} * 1, mantissa * 2 ^{exponent - 1023}
@@ -133,7 +133,7 @@ so to obtain double values *sign*, *exponent* and *mantissa* are set as follows:
.. code-block:: xml
:force:
-
+
sign = 0
exponent = 1023 - representation of a zero exponent.
mantissa = 52 right bits from two concatinated uint32 values from random integer generator.
@@ -143,7 +143,7 @@ So the resulting double is obtained as follows:
.. code-block:: xml
:force:
-
+
mantissa_h = x0 & 0xfffffu; // upper 20 bits of mantissa
mantissa_l = x1; // lower 32 bits of mantissa
mantissa = (mantissa_h << 32) | mantissa_l;
@@ -156,7 +156,7 @@ To obtain a value in a specified range each value is processed with the followin
For float values:
.. math::
-
+
result = x * (maxval - minval) + minval,
where *x* is random float or double value between [0..1).
@@ -174,7 +174,7 @@ Example 1. *RandomUniform* output with ``global_seed`` = 150, ``op_seed`` = 10,
.. code-block:: xml
:force:
-
+
input_shape = [ 3, 3 ]
output = [[0.7011236 0.30539632 0.93931055]
[0.9456035 0.11694777 0.50770056]
@@ -185,7 +185,7 @@ Example 2. *RandomUniform* output with ``global_seed`` = 80, ``op_seed`` = 100,
.. code-block:: xml
:force:
-
+
input_shape = [ 2, 2 ]
minval = 2
@@ -200,7 +200,7 @@ Example 3. *RandomUniform* output with ``global_seed`` = 80, ``op_seed`` = 100,
.. code-block:: xml
:force:
-
+
input_shape = [ 2, 3 ]
minval = 50
@@ -261,11 +261,11 @@ Example 3. *RandomUniform* output with ``global_seed`` = 80, ``op_seed`` = 100,
- < !-- shape value: [2, 3, 10] -->
+
3
- < !-- min value -->
- < !-- max value -->
+
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Range_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Range_1.rst
index fa0b5fe6bb1dee..689f8ae0e617e1 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Range_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Range_1.rst
@@ -5,7 +5,7 @@ Range
.. meta::
- :description: Learn about Range-1 - a generation operation, which can be
+ :description: Learn about Range-1 - a generation operation, which can be
performed on three required input tensors.
**Versioned name**: *Range-1*
@@ -46,7 +46,7 @@ For a positive ``step``:
for a negative ``step``:
.. math::
-
+
start>=val[i]>stop,
@@ -66,16 +66,16 @@ where
- < !-- start value: 2 -->
+
- < !-- stop value: 23 -->
+
- < !-- step value: 3 -->
+
- 7 < !-- [ 2, 5, 8, 11, 14, 17, 20] -->
+ 7
@@ -88,16 +88,16 @@ where
- < !-- start value: 23 -->
+
- < !-- stop value: 2 -->
+
- < !-- step value: -3 -->
+
- 7 < !-- [23, 20, 17, 14, 11, 8, 5] -->
+ 7
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Range_4.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Range_4.rst
index 0a0418124d75f1..471eeef22482ab 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Range_4.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/generation/Range_4.rst
@@ -5,7 +5,7 @@ Range
.. meta::
- :description: Learn about Range-4 - a generation operation, which can be
+ :description: Learn about Range-4 - a generation operation, which can be
performed on three required input tensors.
**Versioned name**: *Range-4*
@@ -81,16 +81,16 @@ This is aligned with PyTorch's operation ``torch.arange``, to align with tensorf
- < !-- start value: 2 -->
+
- < !-- stop value: 23 -->
+
- < !-- step value: 3 -->
+
- 7 < !-- [ 2, 5, 8, 11, 14, 17, 20] -->
+ 7
@@ -104,16 +104,16 @@ This is aligned with PyTorch's operation ``torch.arange``, to align with tensorf
- < !-- start value: 23 -->
+
- < !-- stop value: 2 -->
+
- < !-- step value: -3 -->
+
- 7 < !-- [23, 20, 17, 14, 11, 8, 5] -->
+ 7
@@ -127,16 +127,16 @@ This is aligned with PyTorch's operation ``torch.arange``, to align with tensorf
- < !-- start value: 1 -->
+
- < !-- stop value: 2.5 -->
+
- < !-- step value: 0.5 -->
+
- 3 < !-- [ 1.0, 1.5, 2.0] -->
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/I420toBGR_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/I420toBGR_8.rst
index 8b5e46eeb6ca98..a3df192c305726 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/I420toBGR_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/I420toBGR_8.rst
@@ -5,7 +5,7 @@ I420toBGR
.. meta::
- :description: Learn about I420toBGR-8 - an image processing operation, which
+ :description: Learn about I420toBGR-8 - an image processing operation, which
can be performed to convert image from I420 to BGR format.
**Versioned name**: *I420toBGR-8*
@@ -70,19 +70,19 @@ Same as specified for :doc:`I420toRGB ` ope
- < !-- Y plane -->
+
1
480
640
1
- < !-- U plane -->
+
1
240
320
1
- < !-- V plane -->
+
1
240
320
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/I420toRGB_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/I420toRGB_8.rst
index a0d4a3d0532e28..8d37f583503ec1 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/I420toRGB_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/I420toRGB_8.rst
@@ -5,7 +5,7 @@ I420toRGB
.. meta::
- :description: Learn about I420toRGB-8 - an image processing operation, which
+ :description: Learn about I420toRGB-8 - an image processing operation, which
can be performed to convert image from I420 to RGB format.
**Versioned name**: *I420toRGB-8*
@@ -113,19 +113,19 @@ Input I420 image tensor shall have ``NHWC (also known as NYXC)`` layout and can
- < !-- Y plane -->
+
1
480
640
1
- < !-- U plane -->
+
1
240
320
1
- < !-- V plane -->
+
1
240
320
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_1.rst
index 0bed435759eb60..470fa5b7099006 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_1.rst
@@ -5,7 +5,7 @@ Interpolate
.. meta::
- :description: Learn about I420toRGB-8 - an image processing operation, which
+ :description: Learn about I420toRGB-8 - an image processing operation, which
can be performed on two required tensors.
**Versioned name**: *Interpolate-1*
@@ -91,7 +91,7 @@ This is a scalar that specifies padding for each spatial dimension.
80
- 2 < !--The values in this input are [50, 60] -->
+ 2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_11.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_11.rst
index b497cd42d297f9..281607f2504e62 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_11.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_11.rst
@@ -5,7 +5,7 @@ Interpolate
.. meta::
- :description: Learn about Interpolate-11 - an image processing operation, which
+ :description: Learn about Interpolate-11 - an image processing operation, which
can be performed on two required and one optional tensor.
**Versioned name**: *Interpolate-11*
@@ -129,13 +129,13 @@ Interpolate
80
- 2 < !--The values in this input are [24, 160] -->
+ 2
- 2 < !--The values in this input are [0.5, 2.0] -->
+ 2
- 2 < !--The values in this input are [2, 3] (axes). -->
+ 2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_4.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_4.rst
index c81ccff8eac943..7572f7c1bc97ac 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_4.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/Interpolate_4.rst
@@ -5,7 +5,7 @@ Interpolate
.. meta::
- :description: Learn about Interpolate-4 - an image processing operation, which
+ :description: Learn about Interpolate-4 - an image processing operation, which
can be performed on three required and one optional tensor.
**Versioned name**: *Interpolate-4*
@@ -128,7 +128,7 @@ Calculations are performed according to the following rules.
import math
import numpy as np
from enum import Enum, unique
-
+
class GetNearestPixel:
def __init__(self, mode: str):
self.func = {
@@ -138,37 +138,37 @@ Calculations are performed according to the following rules.
'ceil': GetNearestPixel.ceil_func,
'simple': GetNearestPixel.simple_func
}[mode]
-
+
def __call__(self, x_original, is_downsample):
return self.func(x_original, is_downsample)
-
+
@staticmethod
def prefer_floor_func(x_original, is_downsample):
if x_original == int(x_original) + 0.5:
return int(math.floor(x_original))
else:
return int(round(x_original))
-
+
@staticmethod
def prefer_ceil_func(x_original, is_downsample):
return int(round(x_original))
-
+
@staticmethod
def floor_func(x_original, is_downsample):
return int(math.floor(x_original))
-
+
@staticmethod
def ceil_func(x_original, is_downsample):
return int(math.ceil(x_original))
-
+
@staticmethod
def simple_func(x_original, is_downsample):
if is_downsample:
return int(math.ceil(x_original))
else:
return int(x_original)
-
-
+
+
class GetOriginalCoordinate:
def __init__(self, mode: str):
self.func = {
@@ -178,31 +178,31 @@ Calculations are performed according to the following rules.
'tf_half_pixel_for_nn': GetOriginalCoordinate.tf_half_pixel_for_nn_func,
'align_corners': GetOriginalCoordinate.align_corners_func
}[mode]
-
+
def __call__(self, x_resized, x_scale, length_resized, length_original):
return self.func(x_resized, x_scale, length_resized, length_original)
-
+
@staticmethod
def half_pixel_func(x_resized, x_scale, length_resized, length_original):
return ((x_resized + 0.5) / x_scale) - 0.5
-
+
@staticmethod
def pytorch_half_pixel_func(x_resized, x_scale, length_resized, length_original):
return (x_resized + 0.5) / x_scale - 0.5 if length_resized > 1 else 0.0
-
+
@staticmethod
def asymmetric_func(x_resized, x_scale, length_resized, length_original):
return x_resized / x_scale
-
+
@staticmethod
def tf_half_pixel_for_nn_func(x_resized, x_scale, length_resized, length_original):
return (x_resized + 0.5) / x_scale
-
+
@staticmethod
def align_corners_func(x_resized, x_scale, length_resized, length_original):
return 0 if length_resized == 1 else x_resized * (length_original - 1) / (length_resized - 1)
-
-
+
+
def get_cubic_coeff(s, a):
abs_s = abs(s)
coeff = np.zeros(4)
@@ -211,18 +211,18 @@ Calculations are performed according to the following rules.
coeff[2] = (((-a -2.0) * abs_s+ (2.0 * a + 3.0)) * abs_s - a) * abs_s
coeff[3] = - a * abs_s * abs_s * (abs_s - 1.0)
return coeff
-
-
+
+
def triangle_coeffs(dz):
return np.maximum(0.0, 1.0 - np.abs(dz))
-
-
+
+
@unique
class ShapeCalculationMode(Enum):
SIZES = 0
SCALES = 1
-
-
+
+
class InterpolateCalculation:
def __init__(self, attrs: dict):
self.mode = attrs['mode']
@@ -233,38 +233,38 @@ Calculations are performed according to the following rules.
'linear_onnx': self.onnx_linear_interpolation
}[self.mode]
self.attrs = attrs
-
+
self.pads_begin = attrs.get('pads_begin', [0])
self.pads_end = attrs.get('pads_end', [0])
self.coordinate_transformation_mode = attrs.get('coordinate_transformation_mode', 'half_pixel')
self.nearest_mode = attrs.get('nearest_mode', 'round_prefer_floor')
self.cube_coeff = attrs.get('cube_coeff', -0.75)
self.antialias = attrs.get('antialias', False)
-
+
self.shape_calculation_mode = {
'sizes': ShapeCalculationMode.SIZES,
'scales': ShapeCalculationMode.SCALES
}[attrs['shape_calculation_mode']]
-
+
self.get_original_coordinate = self.get_coordinate_transformation_mode()
self.get_nearest_pixel = GetNearestPixel(self.nearest_mode)
-
-
+
+
def get_coordinate_transformation_mode(self):
return GetOriginalCoordinate(self.coordinate_transformation_mode)
-
+
def shape_infer(self, input_data, sizes, scales):
result = input_data.shape + self.pads_begin + self.pads_end
-
+
if self.shape_calculation_mode == ShapeCalculationMode.SIZES:
for i, axis in enumerate(self.axes):
result[axis] = sizes[i]
else:
for i, axis in enumerate(self.axes):
result[axis] = math.floor(scales[i] * result[axis])
-
+
return result
-
+
@staticmethod
def correct_pad(pad, rank):
pad_len = len(pad)
@@ -274,17 +274,17 @@ Calculations are performed according to the following rules.
return np.array(pad[: rank - 1]).astype(np.int64)
else:
return np.array(pad, dtype=np.int64)
-
+
def __call__(self, input_data, sizes, scales, axes):
rank = input_data.ndim
self.pads_begin = InterpolateCalculation.correct_pad(self.pads_begin, rank)
self.pads_end = InterpolateCalculation.correct_pad(self.pads_end, rank)
self.pads = list(zip(self.pads_begin, self.pads_end))
self.axes = np.array(axes).astype(np.int64)
-
+
self.output_shape = self.shape_infer(input_data, sizes, scales)
padded_data = np.pad(input_data, self.pads, 'constant')
-
+
if self.shape_calculation_mode == ShapeCalculationMode.SIZES:
num_of_axes = len(self.axes)
self.scales = np.zeros(num_of_axes)
@@ -292,18 +292,18 @@ Calculations are performed according to the following rules.
self.scales[i] = self.output_shape[axis] / padded_data.shape[axis]
else:
self.scales = scales
-
+
if self.mode == 'nearest':
self.all_scales = np.ones(rank).astype(np.float)
for i, axis in enumerate(self.axes):
self.all_scales[axis] = self.scales[i]
-
+
self.input_shape = padded_data.shape
return self.func(padded_data)
-
+
def clip_coord(self, coord, axis):
return max(0, min(coord, self.input_shape[axis] - 1))
-
+
def cubic_interpolation(self, input_data):
rank = len(self.input_shape)
result = np.zeros(self.output_shape)
@@ -328,28 +328,28 @@ Calculations are performed according to the following rules.
summa += coeffs_prod * input_data[tuple(coords_for_sum)]
result[coordinates] = summa
return result
-
+
def linear_interpolation(self, input_data):
result = np.zeros(self.output_shape)
num_of_axes = len(self.axes)
is_downsample = False
-
+
for scale in self.scales:
is_downsample = is_downsample or (scale < 1)
-
+
antialias = is_downsample and self.antialias
-
+
a = np.zeros(num_of_axes)
for i, _ in enumerate(self.axes):
a[i] = self.scales[i] if antialias else 1.0
-
+
prod_of_a = np.prod(a)
r = np.zeros(num_of_axes).astype(np.int64)
for i, _ in enumerate(self.axes):
r[i] = 2 if self.scales[i] > 1.0 else int(math.ceil(2.0/a[i]))
-
+
indices = [tuple(np.array(ind).astype(np.int64) - r) for ind in np.ndindex(tuple(2 * r + 1))]
-
+
for coordinates in np.ndindex(tuple(self.output_shape)):
icoords = np.array(coordinates).astype(np.float64)
icoords_r = np.array(coordinates).astype(np.float64)
@@ -357,51 +357,51 @@ Calculations are performed according to the following rules.
in_coord = self.get_original_coordinate(coordinates[axis], self.scales[i], self.output_shape[axis], self.input_shape[axis])
icoords[axis] = in_coord
icoords_r[axis] = round(in_coord)
-
+
summa = 0.0
wsum = 0.0
-
+
for index in indices:
inner_coords = np.array(coordinates)
for i, axis in enumerate(self.axes):
inner_coords[axis] = index[i] + icoords_r[axis]
-
+
conditions = [inner_coords[axis] >= 0 and inner_coords[axis] < self.input_shape[axis] for axis in self.axes]
if not all(conditions):
continue
-
+
dz = np.zeros(num_of_axes)
for i, axis in enumerate(self.axes):
dz[i] = icoords[axis] - inner_coords[axis]
-
+
w = prod_of_a * np.prod(triangle_coeffs(a * dz))
wsum += w
summa += w * input_data[tuple(inner_coords)]
-
+
if wsum == 0:
result[coordinates] = 0.0
else:
result[coordinates] = summa / wsum
-
+
return result
-
+
def onnx_linear_interpolation5D(self, input_data):
rank = len(self.input_shape)
assert rank in [3, 5], "mode 'linear_onnx' supports only 3D or 5D tensors"
assert set(self.axes) == {2, 3, 4} or set(self.axes) == {0, 1, 2}, \
"mode 'linear_onnx' supports only case when axes = {2, 3, 4} or axes = {0, 1, 2}"
-
+
result = np.zeros(self.output_shape)
-
+
if rank == 3:
reshaped_data = np.reshape(input_data, (1, 1, self.input_shape[0], self.input_shape[1], self.input_shape[2]))
result = np.reshape(result, (1, 1, self.output_shape[0], self.output_shape[1], self.output_shape[2]))
else:
reshaped_data = input_data
-
+
input_shape = np.array(reshaped_data.shape).astype(np.int64)
output_shape = np.array(result.shape).astype(np.int64)
-
+
batch_size = input_shape[0];
num_channels = input_shape[1];
input_depth = input_shape[2];
@@ -410,31 +410,31 @@ Calculations are performed according to the following rules.
output_depth = output_shape[2];
output_height = output_shape[3];
output_width = output_shape[4];
-
+
depth_scale = self.scales[0];
height_scale = self.scales[1];
width_scale = self.scales[2];
-
+
z_original = np.zeros(output_depth).astype(np.float)
y_original = np.zeros(output_height).astype(np.float)
x_original = np.zeros(output_width).astype(np.float)
-
+
in_z1 = np.zeros(output_depth).astype(np.int64)
in_z2 = np.zeros(output_depth).astype(np.int64)
in_y1 = np.zeros(output_height).astype(np.int64)
in_y2 = np.zeros(output_height).astype(np.int64)
in_x1 = np.zeros(output_width).astype(np.int64)
in_x2 = np.zeros(output_width).astype(np.int64)
-
+
dz1 = np.zeros(output_depth).astype(np.float)
dz2 = np.zeros(output_depth).astype(np.float)
-
+
dy1 = np.zeros(output_height).astype(np.float)
dy2 = np.zeros(output_height).astype(np.float)
-
+
dx1 = np.zeros(output_width).astype(np.float)
dx2 = np.zeros(output_width).astype(np.float)
-
+
for z in range(0, output_depth):
in_z = self.get_original_coordinate(z, depth_scale, output_depth, input_depth)
z_original[z] = in_z
@@ -443,11 +443,11 @@ Calculations are performed according to the following rules.
in_z2[z] = min(in_z1[z] + 1, input_depth - 1)
dz1[z] = abs(in_z - in_z1[z])
dz2[z] = abs(in_z - in_z2[z])
-
+
if in_z1[z] == in_z2[z]:
dz1[z] = 0.5
dz2[z] = 0.5
-
+
for y in range(0, output_height):
in_y = self.get_original_coordinate(y, height_scale, output_height, input_height)
y_original[y] = in_y
@@ -456,19 +456,19 @@ Calculations are performed according to the following rules.
in_y2[y] = min(in_y1[y] + 1, input_height - 1)
dy1[y] = abs(in_y - in_y1[y])
dy2[y] = abs(in_y - in_y2[y])
-
+
if in_y1[y] == in_y2[y]:
dy1[y] = 0.5
dy2[y] = 0.5
-
+
for x in range(0, output_width):
in_x = self.get_original_coordinate(x, width_scale, output_width, input_width);
x_original[x] = in_x
in_x = max(0.0, min(in_x, input_width - 1));
-
+
in_x1[x] = min(in_x, input_width - 1);
in_x2[x] = min(in_x1[x] + 1, input_width - 1);
-
+
dx1[x] = abs(in_x - in_x1[x]);
dx2[x] = abs(in_x - in_x2[x]);
if in_x1[x] == in_x2[x]:
@@ -487,33 +487,33 @@ Calculations are performed according to the following rules.
x212 = reshaped_data[n, c, in_z2[z], in_y1[y], in_x2[x]]
x122 = reshaped_data[n, c, in_z2[z], in_y2[y], in_x1[x]]
x222 = reshaped_data[n, c, in_z2[z], in_y2[y], in_x2[x]]
-
+
temp = dx2[x] * dy2[y] * dz2[z] * x111 + dx1[x] * dy2[y] * dz2[z] * x211
temp += dx2[x] * dy1[y] * dz2[z] * x121 + dx1[x] * dy1[y] * dz2[z] * x221
temp += dx2[x] * dy2[y] * dz1[z] * x112 + dx1[x] * dy2[y] * dz1[z] * x212
temp += dx2[x] * dy1[y] * dz1[z] * x122 + dx1[x] * dy1[y] * dz1[z] * x222
-
+
result[n, c, z, y, x] = temp
-
+
return np.reshape(result, self.output_shape)
-
+
def onnx_linear_interpolation4D(self, input_data):
rank = len(self.input_shape)
assert rank in [2, 4], "mode 'linear_onnx' supports only 2D or 4D tensors"
assert set(self.axes) == {2, 3} or set(self.axes) == {0, 1}, \
"mode 'linear_onnx' supports only case when axes = {2, 3} or axes = {0, 1}"
-
+
result = np.zeros(self.output_shape)
-
+
if rank == 2:
reshaped_data = np.reshape(input_data, (1, 1, self.input_shape[0], self.input_shape[1]))
result = np.reshape(result, (1, 1, self.output_shape[0], self.output_shape[1]))
else:
reshaped_data = input_data
-
+
input_shape = np.array(reshaped_data.shape).astype(np.int64)
output_shape = np.array(result.shape).astype(np.int64)
-
+
output_height = output_shape[2]
output_width = output_shape[3]
input_height = input_shape[2]
@@ -522,21 +522,21 @@ Calculations are performed according to the following rules.
width_scale = self.scales[1]
batch_size = input_shape[0]
num_channels = input_shape[1]
-
+
y_original = np.zeros(output_height).astype(np.float)
x_original = np.zeros(output_width).astype(np.float)
-
+
in_y1 = np.zeros(output_height).astype(np.int64)
in_y2 = np.zeros(output_height).astype(np.int64)
in_x1 = np.zeros(output_width).astype(np.int64)
in_x2 = np.zeros(output_width).astype(np.int64)
-
+
dy1 = np.zeros(output_height).astype(np.float)
dy2 = np.zeros(output_height).astype(np.float)
-
+
dx1 = np.zeros(output_width).astype(np.float)
dx2 = np.zeros(output_width).astype(np.float)
-
+
for y in range(0, output_height):
in_y = self.get_original_coordinate(y, height_scale, output_height, input_height)
y_original[y] = in_y
@@ -545,25 +545,25 @@ Calculations are performed according to the following rules.
in_y2[y] = min(in_y1[y] + 1, input_height - 1)
dy1[y] = abs(in_y - in_y1[y])
dy2[y] = abs(in_y - in_y2[y])
-
+
if in_y1[y] == in_y2[y]:
dy1[y] = 0.5
dy2[y] = 0.5
-
+
for x in range(0, output_width):
in_x = self.get_original_coordinate(x, width_scale, output_width, input_width);
x_original[x] = in_x
in_x = max(0.0, min(in_x, input_width - 1));
-
+
in_x1[x] = min(in_x, input_width - 1);
in_x2[x] = min(in_x1[x] + 1, input_width - 1);
-
+
dx1[x] = abs(in_x - in_x1[x]);
dx2[x] = abs(in_x - in_x2[x]);
if in_x1[x] == in_x2[x]:
dx1[x] = 0.5
dx2[x] = 0.5
-
+
for n in range(0, batch_size):
for c in range(0, num_channels):
for y in range(0, output_height):
@@ -574,21 +574,21 @@ Calculations are performed according to the following rules.
x22 = reshaped_data[n, c, in_y2[y], in_x2[x]]
temp = dx2[x] * dy2[y] * x11 + dx1[x] * dy2[y] * x21 + dx2[x] * dy1[y] * x12 + dx1[x] * dy1[y] * x22
result[n, c, y, x] = temp
-
+
return np.reshape(result, self.output_shape)
-
+
def onnx_linear_interpolation(self, input_data):
rank = len(self.input_shape)
assert rank in [2, 3, 4, 5], "mode 'linear_onnx' supports only 2D, 3D, 4D, or 5D tensors"
-
+
if rank in [2, 4]:
self.onnx_linear_interpolation4D(input_data)
else:
self.onnx_linear_interpolation5D(input_data)
-
+
def nearest_interpolation(self, input_data):
result = np.zeros(self.output_shape)
-
+
num_of_axes = len(self.axes)
for coordinates in np.ndindex(tuple(self.output_shape)):
input_coords = np.array(coordinates, dtype=np.int64)
@@ -597,7 +597,7 @@ Calculations are performed according to the following rules.
nearest_pixel = self.get_nearest_pixel(in_coord, scale < 1)
input_coords[axis] = max(0, min(nearest_pixel, self.input_shape[axis] - 1))
result[coordinates] = input_data[tuple(input_coords)]
-
+
return result
@@ -617,13 +617,13 @@ Calculations are performed according to the following rules.
80
- 2 < !--The values in this input are [24, 160] -->
+ 2
- 2 < !--The values in this input are [0.5, 2.0] -->
+ 2
- 2 < !--The values in this input are [2, 3] (axes). -->
+ 2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/NV12toBGR_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/NV12toBGR_8.rst
index 777d132f7a9e7e..5320ecd4fe4317 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/NV12toBGR_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/NV12toBGR_8.rst
@@ -5,7 +5,7 @@ NV12toBGR
.. meta::
- :description: Learn about NV12toBGR-8 - an image processing operation, which
+ :description: Learn about NV12toBGR-8 - an image processing operation, which
can be performed to convert an image from NV12 to BGR format.
**Versioned name**: *NV12toBGR-8*
@@ -70,13 +70,13 @@ Same as specified for :doc:`NV12toRGB ` ope
- < !-- Y plane -->
+
1
480
640
1
- < !-- UV plane -->
+
1
240
320
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/NV12toRGB_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/NV12toRGB_8.rst
index 1044e6b18916c5..2012d9f3d0c642 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/NV12toRGB_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/image/NV12toRGB_8.rst
@@ -5,7 +5,7 @@ NV12toRGB
.. meta::
- :description: Learn about NV12toRGB-8 - an image processing operation, which
+ :description: Learn about NV12toRGB-8 - an image processing operation, which
can be performed to convert an image from NV12 to RGB format.
**Versioned name**: *NV12toRGB-8*
@@ -102,13 +102,13 @@ Input NV12 image tensor shall have ``NHWC (also known as NYXC)`` layout and can
- < !-- Y plane -->
+
1
480
640
1
- < !-- UV plane -->
+
1
240
320
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/BatchToSpace_2.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/BatchToSpace_2.rst
index e7a52a05faf540..051cababe93065 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/BatchToSpace_2.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/BatchToSpace_2.rst
@@ -5,7 +5,7 @@ BatchToSpace
.. meta::
- :description: Learn about BatchToSpace-2 - a data movement operation,
+ :description: Learn about BatchToSpace-2 - a data movement operation,
which can be performed on four required input tensors.
**Versioned name**: *BatchToSpace-2*
@@ -21,25 +21,25 @@ BatchToSpace
1. Reshape ``data`` input to produce a tensor of shape :math:`[B_1, \dots, B_{N - 1}, \frac{batch}{\left(B_1 \times \dots \times B_{N - 1}\right)}, D_1, D_2, \dots, D_{N - 1}]`
.. math::
-
+
x^{\prime} = reshape(data, [B_1, \dots, B_{N - 1}, \frac{batch}{\left(B_1 \times \dots \times B_{N - 1}\right)}, D_1, D_2, \dots, D_{N - 1}])
2. Permute dimensions of :math:`x^{\prime}` to produce a tensor of shape :math:`[\frac{batch}{\left(B_1 \times \dots \times B_{N - 1}\right)}, D_1, B_1, D_2, B_2, \dots, D_{N-1}, B_{N - 1}]`
.. math::
-
+
x^{\prime\prime} = transpose(x', [N, N + 1, 0, N + 2, 1, \dots, N + N - 1, N - 1])
3. Reshape :math:`x^{\prime\prime}` to produce a tensor of shape :math:`[\frac{batch}{\left(B_1 \times \dots \times B_{N - 1}\right)}, D_1 \times B_1, D_2 \times B_2, \dots, D_{N - 1} \times B_{N - 1}]`
.. math::
-
+
x^{\prime\prime\prime} = reshape(x^{\prime\prime}, [\frac{batch}{\left(B_1 \times \dots \times B_{N - 1}\right)}, D_1 \times B_1, D_2 \times B_2, \dots, D_{N - 1} \times B_{N - 1}])
4. Crop the start and end of spatial dimensions of :math:`x^{\prime\prime\prime}` according to ``crops_begin`` and ``crops_end`` inputs to produce the output :math:`y` of shape:
.. math::
-
+
\left[\frac{batch}{\left(B_1 \times \dots \times B_{N - 1}\right)}, crop(D_1 \times B_1, CB_1, CE_1), crop(D_2 \times B_2, CB_2, CE_2), \dots , crop(D_{N - 1} \times B_{N - 1}, CB_{N - 1}, CE_{N - 1})\right]
Where
@@ -80,27 +80,27 @@ Example: 2D input tensor ``data``
.. code-block:: xml
:force:
-
+
- < !-- data -->
- 10 < !-- batch -->
- 2 < !-- spatial dimension 1 -->
+
+ 10
+ 2
- < !-- block_shape value: [1, 5] -->
+
2
- < !-- crops_begin value: [0, 2] -->
+
2
- < !-- crops_end value: [0, 0] -->
+
2
- 2 < !-- data.shape[0] / (block_shape.shape[0] * block_shape.shape[1]) -->
- 8 < !-- data.shape[1] * block_shape.shape[1] - crops_begin[1] - crops_end[1]-->
+ 2
+ 8
@@ -109,33 +109,33 @@ Example: 5D input tensor ``data``
.. code-block:: xml
:force:
-
+
- < !-- data -->
- 48 < !-- batch -->
- 3 < !-- spatial dimension 1 -->
- 3 < !-- spatial dimension 2 -->
- 1 < !-- spatial dimension 3 -->
- 3 < !-- spatial dimension 4 -->
+
+ 48
+ 3
+ 3
+ 1
+ 3
- < !-- block_shape value: [1, 2, 4, 3, 1] -->
+
5
- < !-- crops_begin value: [0, 0, 1, 0, 0] -->
+
5
- < !-- crops_end value: [0, 0, 1, 0, 0] -->
+
5
- 2 < !-- data.shape[0] / (block_shape.shape[0] * block_shape.shape[1] * ... * block_shape.shape[4]) -->
- 6 < !-- data.shape[1] * block_shape.shape[1] - crops_begin[1] - crops_end[1]-->
- 10 < !-- data.shape[2] * block_shape.shape[2] - crops_begin[2] - crops_end[2] -->
- 3 < !-- data.shape[3] * block_shape.shape[3] - crops_begin[3] - crops_end[3] -->
- 3 < !-- data.shape[4] * block_shape.shape[4] - crops_begin[4] - crops_end[4] -->
+ 2
+ 6
+ 10
+ 3
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Broadcast_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Broadcast_1.rst
index 37f7c4e3f101ff..583a182609403e 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Broadcast_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Broadcast_1.rst
@@ -5,7 +5,7 @@ Broadcast
.. meta::
- :description: Learn about Broadcast-1 - a data movement operation,
+ :description: Learn about Broadcast-1 - a data movement operation,
which can be performed on two required and one optional input tensor.
**Versioned name**: *Broadcast-1*
@@ -53,7 +53,7 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
.. code-block:: xml
:force:
-
+
@@ -63,9 +63,9 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
1
- 4 < !--The tensor contains 4 elements: [1, 16, 50, 50] -->
+ 4
- < !-- the 3rd input shouldn't be provided with mode="numpy" -->
+
@@ -76,7 +76,7 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
-
+
@@ -84,10 +84,10 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
16
- 4 < !--The tensor contains 4 elements: [1, 16, 50, 50] -->
+ 4
- 1 < !--The tensor contains 1 elements: [1] -->
+ 1
@@ -99,7 +99,7 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
-
+
@@ -108,10 +108,10 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
50
- 4 < !--The tensor contains 4 elements: [1, 50, 50, 16] -->
+ 4
- 2 < !--The tensor contains 2 elements: [1, 2] -->
+ 2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Broadcast_3.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Broadcast_3.rst
index e7b3f3a0d3d1fd..e13946f4780518 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Broadcast_3.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Broadcast_3.rst
@@ -5,7 +5,7 @@ Broadcast
.. meta::
- :description: Learn about Broadcast-3 - a data movement operation,
+ :description: Learn about Broadcast-3 - a data movement operation,
which can be performed on two required and one optional input tensor.
**Versioned name**: *Broadcast-3*
@@ -61,7 +61,7 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
.. code-block:: xml
:force:
-
+
@@ -71,9 +71,9 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
1
- 4 < !--The tensor contains 4 elements: [1, 16, 50, 50] -->
+ 4
- < !-- the 3rd input shouldn't be provided with mode="numpy" -->
+
@@ -84,7 +84,7 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
-
+
@@ -92,10 +92,10 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
16
- 4 < !--The tensor contains 4 elements: [1, 16, 50, 50] -->
+ 4
- 1 < !--The tensor contains 1 elements: [1] -->
+ 1
@@ -107,7 +107,7 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
-
+
@@ -116,10 +116,10 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
50
- 4 < !--The tensor contains 4 elements: [1, 50, 50, 16] -->
+ 4
- 2 < !--The tensor contains 2 elements: [1, 2] -->
+ 2
@@ -131,7 +131,7 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
-
+
@@ -141,9 +141,9 @@ For example, ``axes_mapping = [1]`` enables broadcasting of a tensor with shape
1
- 4 < !--The tensor contains 4 elements: [1, 1, 50, 50] -->
+ 4
- < !-- the 3rd input shouldn't be provided with mode="bidirectional" -->
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Concat_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Concat_1.rst
index 6c07321e08be99..7c3c11131f49e4 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Concat_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Concat_1.rst
@@ -5,7 +5,7 @@ Concat
.. meta::
- :description: Learn about Concat-1 - a data movement operation,
+ :description: Learn about Concat-1 - a data movement operation,
which can be performed on arbitrary number of input tensors.
**Versioned name**: *Concat-1*
@@ -39,25 +39,25 @@ Concat
.. code-block:: xml
:force:
-
+
1
- 8 < !-- axis for concatenation -->
+ 8
50
50
1
- 16 < !-- axis for concatenation -->
+ 16
50
50
1
- 32 < !-- axis for concatenation -->
+ 32
50
50
@@ -65,7 +65,7 @@ Concat
1
- 56 < !-- concatenated axis: 8 + 16 + 32 = 48 -->
+ 56
50
50
@@ -75,25 +75,25 @@ Concat
.. code-block:: xml
:force:
-
+
1
- 8 < !-- axis for concatenation -->
+ 8
50
50
1
- 16 < !-- axis for concatenation -->
+ 16
50
50
1
- 32 < !-- axis for concatenation -->
+ 32
50
50
@@ -101,7 +101,7 @@ Concat
1
- 56 < !-- concatenated axis: 8 + 16 + 32 = 48 -->
+ 56
50
50
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/DepthToSpace_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/DepthToSpace_1.rst
index de7af7a597b276..1df751ac0c5f68 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/DepthToSpace_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/DepthToSpace_1.rst
@@ -5,7 +5,7 @@ DepthToSpace
.. meta::
- :description: Learn about DepthToSpace-1 - a data movement operation,
+ :description: Learn about DepthToSpace-1 - a data movement operation,
which can be performed on a single input tensor.
**Versioned name**: *DepthToSpace-1*
@@ -21,7 +21,7 @@ DepthToSpace
The operation is equivalent to the following transformation of the input tensor ``data`` with ``K`` spatial dimensions of shape ``[N, C, D1, D2, ..., DK]`` to *Y* output tensor. If ``mode = blocks_first``:
.. code-block:: cpp
-
+
x' = reshape(data, [N, block_size, block_size, ..., block_size, C / (block_size ^ K), D1, D2, ..., DK])
x'' = transpose(x', [0, K + 1, K + 2, 1, K + 3, 2, K + 4, 3, ..., K + (K + 1), K])
y = reshape(x'', [N, C / (block_size ^ K), D1 * block_size, D2 * block_size, D3 * block_size, ..., DK * block_size])
@@ -29,7 +29,7 @@ The operation is equivalent to the following transformation of the input tensor
If ``mode = depth_first``:
.. code-block:: cpp
-
+
x' = reshape(data, [N, C / (block_size ^ K), block_size, block_size, ..., block_size, D1, D2, ..., DK])
x'' = transpose(x', [0, 1, K + 2, 2, K + 3, 3, K + 4, 4, ..., K + (K + 1), K + 1])
y = reshape(x'', [N, C / (block_size ^ K), D1 * block_size, D2 * block_size, D3 * block_size, ..., DK * block_size])
@@ -70,7 +70,7 @@ If ``mode = depth_first``:
.. code-block:: xml
:force:
-
+
@@ -83,10 +83,10 @@ If ``mode = depth_first``:
- 5 < !-- data.shape[0] -->
- 7 < !-- data.shape[1] / (block_size ^ 2) -->
- 4 < !-- data.shape[2] * block_size -->
- 6 < !-- data.shape[3] * block_size -->
+ 5
+ 7
+ 4
+ 6
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_1.rst
index a2d18a3c4c65a1..35036ddf555950 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_1.rst
@@ -5,14 +5,14 @@ Gather
.. meta::
- :description: Learn about Gather-1 - a data movement operation,
+ :description: Learn about Gather-1 - a data movement operation,
which can be performed on three required input tensors.
**Versioned name:** *Gather-1*
**Category:** *Data movement*
-**Short description:** *Gather* operation takes slices of data in the first input tensor according
+**Short description:** *Gather* operation takes slices of data in the first input tensor according
to the indices specified in the second input tensor and axis from the third input.
**Detailed description**
@@ -30,13 +30,13 @@ Where ``axis`` is the value from the third input.
* **1**: Tensor with arbitrary data. **Required.**
* **2**: Tensor with indices to gather. The values for indices are in the range ``[0, input1[axis] - 1]``. **Required.**
-* **3**: Scalar or 1D tensor *axis* is a dimension index to gather data from. For example, *axis* equal
- to 1 means that gathering is performed over the first dimension. Negative value means reverse indexing.
+* **3**: Scalar or 1D tensor *axis* is a dimension index to gather data from. For example, *axis* equal
+ to 1 means that gathering is performed over the first dimension. Negative value means reverse indexing.
Allowed values are from ``[-len(input1.shape), len(input1.shape) - 1]``. **Required.**
**Outputs**
-* **1**: The resulting tensor that consists of elements from the first input tensor gathered by indices
+* **1**: The resulting tensor that consists of elements from the first input tensor gathered by indices
from the second input tensor. Shape of the tensor is ``[input1.shape[:axis], input2.shape, input1.shape[axis + 1:]]``
**Example**
@@ -58,17 +58,17 @@ Where ``axis`` is the value from the third input.
20
28
- < !-- axis = 1 -->
+
- 6 < !-- embedded dimension from the 1st input -->
- 15 < !-- embedded dimension from the 2nd input -->
- 4 < !-- embedded dimension from the 2nd input -->
- 20 < !-- embedded dimension from the 2nd input -->
- 28 < !-- embedded dimension from the 2nd input -->
- 10 < !-- embedded dimension from the 1st input -->
- 24 < !-- embedded dimension from the 1st input -->
+ 6
+ 15
+ 4
+ 20
+ 28
+ 10
+ 24
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_7.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_7.rst
index d2cee5ffd926c4..ebe248309a122d 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_7.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_7.rst
@@ -5,7 +5,7 @@ Gather
.. meta::
- :description: Learn about Gather-7 - a data movement operation,
+ :description: Learn about Gather-7 - a data movement operation,
which can be performed on three required input tensors.
**Versioned name**: *Gather-7*
@@ -29,12 +29,12 @@ the number of batch dimensions. ``N`` and ``M`` are numbers of dimensions of ``d
**Attributes**:
* *batch_dims*
-
- * **Description**: *batch_dims* (also denoted as ``b``) is a leading number of dimensions of ``data``
- tensor and ``indices`` representing the batches, and *Gather* starts to gather from the ``b``
- dimension. It requires the first ``b`` dimensions in `data` and `indices` tensors to be equal.
+
+ * **Description**: *batch_dims* (also denoted as ``b``) is a leading number of dimensions of ``data``
+ tensor and ``indices`` representing the batches, and *Gather* starts to gather from the ``b``
+ dimension. It requires the first ``b`` dimensions in `data` and `indices` tensors to be equal.
If ``batch_dims`` is less than zero, the normalized value is used ``batch_dims = indices.rank + batch_dims``.
- * **Range of values**: ``[-min(data.rank, indices.rank); min(data.rank, indices.rank)]`` and
+ * **Range of values**: ``[-min(data.rank, indices.rank); min(data.rank, indices.rank)]`` and
``batch_dims' <= axis'``. Where ``batch_dims'`` and ``axis'`` stand for normalized ``batch_dims`` and ``axis`` values.
* **Type**: *T_AXIS*
* **Default value**: 0
@@ -46,7 +46,7 @@ Example 1 with default *batch_dims* value:
batch_dims = 0
axis = 0
-
+
indices = [0, 0, 4]
data = [1, 2, 3, 4, 5]
output = [1, 1, 5]
@@ -58,15 +58,15 @@ Example 2 with non-default *batch_dims* value:
batch_dims = 1
axis = 1
-
+
indices = [[0, 0, 4], <-- this is applied to the first batch
[4, 0, 0]] <-- this is applied to the second batch
indices_shape = (2, 3)
-
+
data = [[1, 2, 3, 4, 5], <-- the first batch
[6, 7, 8, 9, 10]] <-- the second batch
data_shape = (2, 5)
-
+
output = [[ 1, 1, 5],
[10, 6, 6]]
output_shape = (2, 3)
@@ -78,24 +78,24 @@ Example 3 with non-default *batch_dims* value:
batch_dims = 2
axis = 2
-
+
indices = [[[0, 0, 4], <-- this is applied to the first batch, index = (0, 0)
[4, 0, 0]], <-- this is applied to the second batch, index = (0, 1)
-
+
[[1, 2, 4], <-- this is applied to the third batch, index = (1, 0)
[4, 3, 2]]] <-- this is applied to the fourth batch, index = (1, 1)
indices_shape = (2, 2, 3)
-
+
data = [[[1, 2, 3, 4, 5], <-- the first batch, index = (0, 0)
[6, 7, 8, 9, 10]], <-- the second batch, index = (0, 1)
-
+
[[11, 12, 13, 14, 15], <-- the third batch, index = (1, 0)
[16, 17, 18, 19, 20]]] <-- the fourth batch, index = (1, 1)
data_shape = (2, 2, 5)
-
+
output = [[[ 1, 1, 5],
[10, 6, 6]],
-
+
[[12, 13, 15],
[20, 19, 18]]]
output_shape = (2, 2, 3)
@@ -106,28 +106,28 @@ Example 4 with *axis* > *batch_dims*:
batch_dims = 1
axis = 2
-
+
indices = [[1, 2, 4], <-- this is applied to the first batch
[4, 3, 2]] <-- this is applied to the second batch
indices_shape = (2, 3)
-
+
data = [[[[ 1, 2, 3, 4], <-- first batch
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16],
[17, 18, 19, 20]]],
-
+
[[[21, 22, 23, 24], <-- second batch
[25, 26, 27, 28],
[29, 30, 31, 32],
[33, 34, 35, 36],
[37, 38, 39, 40]]]]
data_shape = (2, 1, 5, 4)
-
+
output = [[[[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[17, 18, 19, 20]]],
-
+
[[[37, 38, 39, 40],
[33, 34, 35, 36],
[29, 30, 31, 32]]]]
@@ -140,15 +140,15 @@ Example 5 with negative *batch_dims* value:
batch_dims = -1 <-- normalized value will be indices.rank + batch_dims = 2 - 1 = 1
axis = 1
-
+
indices = [[0, 0, 4], <-- this is applied to the first batch
[4, 0, 0]] <-- this is applied to the second batch
indices_shape = (2, 3)
-
+
data = [[1, 2, 3, 4, 5], <-- the first batch
[6, 7, 8, 9, 10]] <-- the second batch
data_shape = (2, 5)
-
+
output = [[ 1, 1, 5],
[10, 6, 6]]
output_shape = (2, 3)
@@ -167,7 +167,7 @@ Example 5 with negative *batch_dims* value:
**Outputs**
-* **1**: The resulting tensor of type *T* that consists of elements from ``data`` tensor gathered by ``indices``.
+* **1**: The resulting tensor of type *T* that consists of elements from ``data`` tensor gathered by ``indices``.
The shape of the output tensor is ``data.shape[:axis] + indices.shape[batch_dims:] + data.shape[axis + 1:]``
**Types**
@@ -193,7 +193,7 @@ Example 5 with negative *batch_dims* value:
32
21
- < !-- axis = 1 -->
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_8.rst
index c4df65f49e1be8..b2bb5bf0235c60 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Gather_8.rst
@@ -6,7 +6,7 @@ Gather
.. meta::
- :description: Learn about Gather-8 - a data movement operation,
+ :description: Learn about Gather-8 - a data movement operation,
which can be performed on three required input tensors.
**Versioned name**: *Gather-8*
@@ -33,10 +33,10 @@ range output data for corresponding index will be filled with zeros (Example 7).
**Attributes**:
* *batch_dims*
-
- * **Description**: *batch_dims* (also denoted as ``b``) is a leading number of dimensions of ``data`` tensor
- and ``indices`` representing the batches, and *Gather* starts to gather from the ``b`` dimension.
- It requires the first ``b`` dimensions in ``data`` and ``indices`` tensors to be equal.
+
+ * **Description**: *batch_dims* (also denoted as ``b``) is a leading number of dimensions of ``data`` tensor
+ and ``indices`` representing the batches, and *Gather* starts to gather from the ``b`` dimension.
+ It requires the first ``b`` dimensions in ``data`` and ``indices`` tensors to be equal.
If ``batch_dims`` is less than zero, normalized value is used ``batch_dims = indices.rank + batch_dims``.
* **Range of values**: ``[-min(data.rank, indices.rank); min(data.rank, indices.rank)]`` and ``batch_dims' <= axis'``.
Where ``batch_dims'`` and ``axis'`` stand for normalized ``batch_dims`` and ``axis`` values.
@@ -50,7 +50,7 @@ Example 1 with default *batch_dims* value:
batch_dims = 0
axis = 0
-
+
indices = [0, 0, 4]
data = [1, 2, 3, 4, 5]
output = [1, 1, 5]
@@ -61,15 +61,15 @@ Example 2 with non-default *batch_dims* value:
batch_dims = 1
axis = 1
-
+
indices = [[0, 0, 4], <-- this is applied to the first batch
[4, 0, 0]] <-- this is applied to the second batch
indices_shape = (2, 3)
-
+
data = [[1, 2, 3, 4, 5], <-- the first batch
[6, 7, 8, 9, 10]] <-- the second batch
data_shape = (2, 5)
-
+
output = [[ 1, 1, 5],
[10, 6, 6]]
output_shape = (2, 3)
@@ -81,24 +81,24 @@ Example 3 with non-default *batch_dims* value:
batch_dims = 2
axis = 2
-
+
indices = [[[0, 0, 4], <-- this is applied to the first batch, index = (0, 0)
[4, 0, 0]], <-- this is applied to the second batch, index = (0, 1)
-
+
[[1, 2, 4], <-- this is applied to the third batch, index = (1, 0)
[4, 3, 2]]] <-- this is applied to the fourth batch, index = (1, 1)
indices_shape = (2, 2, 3)
-
+
data = [[[1, 2, 3, 4, 5], <-- the first batch, index = (0, 0)
[6, 7, 8, 9, 10]], <-- the second batch, index = (0, 1)
-
+
[[11, 12, 13, 14, 15], <-- the third batch, index = (1, 0)
[16, 17, 18, 19, 20]]] <-- the fourth batch, index = (1, 1)
data_shape = (2, 2, 5)
-
+
output = [[[ 1, 1, 5],
[10, 6, 6]],
-
+
[[12, 13, 15],
[20, 19, 18]]]
output_shape = (2, 2, 3)
@@ -109,28 +109,28 @@ Example 4 with *axis* > *batch_dims*:
batch_dims = 1
axis = 2
-
+
indices = [[1, 2, 4], <-- this is applied to the first batch
[4, 3, 2]] <-- this is applied to the second batch
indices_shape = (2, 3)
-
+
data = [[[[ 1, 2, 3, 4], <-- first batch
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16],
[17, 18, 19, 20]]],
-
+
[[[21, 22, 23, 24], <-- second batch
[25, 26, 27, 28],
[29, 30, 31, 32],
[33, 34, 35, 36],
[37, 38, 39, 40]]]]
data_shape = (2, 1, 5, 4)
-
+
output = [[[[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[17, 18, 19, 20]]],
-
+
[[[37, 38, 39, 40],
[33, 34, 35, 36],
[29, 30, 31, 32]]]]
@@ -143,15 +143,15 @@ Example 5 with negative *batch_dims* value:
batch_dims = -1 <-- normalized value will be indices.rank + batch_dims = 2 - 1 = 1
axis = 1
-
+
indices = [[0, 0, 4], <-- this is applied to the first batch
[4, 0, 0]] <-- this is applied to the second batch
indices_shape = (2, 3)
-
+
data = [[1, 2, 3, 4, 5], <-- the first batch
[6, 7, 8, 9, 10]] <-- the second batch
data_shape = (2, 5)
-
+
output = [[ 1, 1, 5],
[10, 6, 6]]
output_shape = (2, 3)
@@ -163,7 +163,7 @@ Example 6 with negative indices:
batch_dims = 0
axis = 0
-
+
indices = [0, -2, -1]
data = [1, 2, 3, 4, 5]
output = [1, 4, 5]
@@ -175,8 +175,8 @@ Example 7 with indices out of the range:
batch_dims = 0
axis = 0
-
- indices = [3, 10, -20]
+
+ indices = [3, 10, -20]
data = [1, 2, 3, 4, 5]
output = [4, 0, 0]
@@ -221,7 +221,7 @@ of the output tensor is ``data.shape[:axis] + indices.shape[batch_dims:] + data.
32
21
- < !-- axis = 1 -->
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Pad_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Pad_1.rst
index 3c44d8b8188c76..41ef471065e158 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Pad_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Pad_1.rst
@@ -5,7 +5,7 @@ Pad
.. meta::
- :description: Learn about Pad-1 - a data movement operation,
+ :description: Learn about Pad-1 - a data movement operation,
which can be performed on three required and one optional input tensor.
**Versioned name**: *Pad-1*
@@ -26,7 +26,7 @@ The following examples illustrate how output tensor is generated for the *Pad* l
[ 9 10 11 12 ]]
-with the following attributes:
+with the following attributes:
.. code-block:: cpp
@@ -36,7 +36,7 @@ with the following attributes:
depending on the *pad_mode*.
-* ``pad_mode = "constant"``:
+* ``pad_mode = "constant"``:
.. code-block:: cpp
@@ -48,7 +48,7 @@ depending on the *pad_mode*.
[ 0 0 0 0 0 0 0 0 ]]
-* ``pad_mode = "edge"``:
+* ``pad_mode = "edge"``:
.. code-block:: cpp
@@ -121,7 +121,7 @@ depending on the *pad_mode*.
**Example**: constant mode
.. code-block:: xml
- :force:
+ :force:
@@ -133,22 +133,22 @@ depending on the *pad_mode*.
40
- 4 < !-- pads_begin = [0, 5, 2, 1] -->
+ 4
- 4 < !-- pads_end = [1, 0, 3, 7] -->
+ 4
- < !-- pad_value = 15.0 -->
+
- 2 < !-- 2 = 0 + 1 + 1 = pads_begin[0] + input.shape[0] + pads_end[0] -->
- 8 < !-- 8 = 5 + 3 + 0 = pads_begin[1] + input.shape[1] + pads_end[1] -->
- 37 < !-- 37 = 2 + 32 + 3 = pads_begin[2] + input.shape[2] + pads_end[2] -->
- 48 < !-- 48 = 1 + 40 + 7 = pads_begin[3] + input.shape[3] + pads_end[3] -->
- < !-- all new elements are filled with 15.0 value -->
+ 2
+ 8
+ 37
+ 48
+
@@ -169,18 +169,18 @@ depending on the *pad_mode*.
40
- 4 < !-- pads_begin = [0, 5, 2, 1] -->
+ 4
- 4 < !-- pads_end = [1, 0, 3, 7] -->
+ 4
- 2 < !-- 2 = 0 + 1 + 1 = pads_begin[0] + input.shape[0] + pads_end[0] -->
- 8 < !-- 8 = 5 + 3 + 0 = pads_begin[1] + input.shape[1] + pads_end[1] -->
- 37 < !-- 37 = 2 + 32 + 3 = pads_begin[2] + input.shape[2] + pads_end[2] -->
- 48 < !-- 48 = 1 + 40 + 7 = pads_begin[3] + input.shape[3] + pads_end[3] -->
+ 2
+ 8
+ 37
+ 48
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Pad_12.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Pad_12.rst
index eea353f0934bbb..1c214393d6cc4e 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Pad_12.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Pad_12.rst
@@ -5,7 +5,7 @@ Pad
.. meta::
- :description: Learn about Pad-12 - a data movement operation,
+ :description: Learn about Pad-12 - a data movement operation,
which can be performed on three required and one optional input tensor.
**Versioned name**: *Pad-12*
@@ -19,7 +19,7 @@ Pad
The following examples illustrate how output tensor is generated for the *Pad* layer for a given inputs:
Positive pads example:
-########################
+########################
.. code-block:: cpp
@@ -82,7 +82,7 @@ depending on the *pad_mode* attribute:
Negative pads example:
-#########################
+#########################
.. code-block:: cpp
@@ -111,7 +111,7 @@ for all of the *pad_mode* attribute options:
Mixed pads example:
-########################
+########################
.. code-block:: cpp
@@ -178,7 +178,7 @@ Mixed pads example:
* **Description**: *pad_mode* specifies the method used to generate the padding values.
* **Range of values**: Name of the method in string format:
-
+
* ``constant`` - padded values are taken from the *pad_value* input. If the input is not provided, the padding elements are equal to zero.
* ``edge`` - padded values are copied from the respective edge of the input ``data`` tensor.
* ``reflect`` - padded values are a reflection of the input `data` tensor. Values on the edges are not duplicated, ``pads_begin[D]`` and ``pads_end[D]`` must be not greater than ``data.shape[D] – 1`` for any valid ``D``.
@@ -223,22 +223,22 @@ Mixed pads example:
40
- 4 < !-- pads_begin = [0, 5, 2, 1] -->
+ 4
- 4 < !-- pads_end = [1, 0, 3, 7] -->
+ 4
- < !-- pad_value = 15.0 -->
+
- 2 < !-- 2 = 0 + 1 + 1 = pads_begin[0] + input.shape[0] + pads_end[0] -->
- 8 < !-- 8 = 5 + 3 + 0 = pads_begin[1] + input.shape[1] + pads_end[1] -->
- 37 < !-- 37 = 2 + 32 + 3 = pads_begin[2] + input.shape[2] + pads_end[2] -->
- 48 < !-- 48 = 1 + 40 + 7 = pads_begin[3] + input.shape[3] + pads_end[3] -->
- < !-- all new elements are filled with 15.0 value -->
+ 2
+ 8
+ 37
+ 48
+
@@ -247,7 +247,7 @@ Mixed pads example:
**Example**: constant mode (positive and negative pads)
.. code-block:: xml
- :force:
+ :force:
@@ -259,22 +259,22 @@ Mixed pads example:
40
- 4 < !-- pads_begin = [0, -2, -8, 1] -->
+ 4
- 4 < !-- pads_end = [-1, 4, -6, 7] -->
+ 4
- < !-- pad_value = 15.0 -->
+
- 1 < !-- 2 = 0 + 2 + (-1) = pads_begin[0] + input.shape[0] + pads_end[0] -->
- 5 < !-- 5 = (-2) + 3 + 4 = pads_begin[1] + input.shape[1] + pads_end[1] -->
- 18 < !-- 18 = (-8) + 32 (-6) = pads_begin[2] + input.shape[2] + pads_end[2] -->
- 48 < !-- 48 = 1 + 40 + 7 = pads_begin[3] + input.shape[3] + pads_end[3] -->
- < !-- all new elements are filled with 15.0 value -->
+ 1
+ 5
+ 18
+ 48
+
@@ -283,7 +283,7 @@ Mixed pads example:
**Example**: edge mode
.. code-block:: xml
- :force:
+ :force:
@@ -295,18 +295,18 @@ Mixed pads example:
40
- 4 < !-- pads_begin = [0, 5, 2, 1] -->
+ 4
- 4 < !-- pads_end = [1, 0, 3, 7] -->
+ 4
- 2 < !-- 2 = 0 + 1 + 1 = pads_begin[0] + input.shape[0] + pads_end[0] -->
- 8 < !-- 8 = 5 + 3 + 0 = pads_begin[1] + input.shape[1] + pads_end[1] -->
- 37 < !-- 37 = 2 + 32 + 3 = pads_begin[2] + input.shape[2] + pads_end[2] -->
- 48 < !-- 48 = 1 + 40 + 7 = pads_begin[3] + input.shape[3] + pads_end[3] -->
+ 2
+ 8
+ 37
+ 48
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ReverseSequence_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ReverseSequence_1.rst
index 5b6e7909f67b10..9497c6a1a1fc94 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ReverseSequence_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ReverseSequence_1.rst
@@ -5,7 +5,7 @@ ReverseSequence
.. meta::
- :description: Learn about ReverseSequence-1 - a data movement operation,
+ :description: Learn about ReverseSequence-1 - a data movement operation,
which can be performed on two required input tensors.
**Versioned name**: *ReverseSequence-1*
@@ -58,14 +58,14 @@ ReverseSequence
- < !-- data -->
- 4 < !-- batch_axis -->
- 10 < !-- seq_axis -->
+
+ 4
+ 10
100
200
- 4 < !-- seq_lengths value: [2, 4, 8, 10] -->
+ 4
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Reverse_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Reverse_1.rst
index e9325266d00294..fc22ffc74dd410 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Reverse_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Reverse_1.rst
@@ -5,7 +5,7 @@ Reverse
.. meta::
- :description: Learn about Reverse-1 - a data movement operation,
+ :description: Learn about Reverse-1 - a data movement operation,
which can be performed on one required and one optional input tensor.
**Versioned name**: *Reverse-1*
@@ -62,7 +62,7 @@ If no axis specified, that means either the second input is empty if ``index`` m
200
- 1 < !-- reverting along single axis -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Roll_7.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Roll_7.rst
index a8c9df7c993a74..20b086f93e225d 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Roll_7.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Roll_7.rst
@@ -5,7 +5,7 @@ Roll
.. meta::
- :description: Learn about Roll-7 - a data movement operation, which can be
+ :description: Learn about Roll-7 - a data movement operation, which can be
performed on three required input tensors.
**Versioned name**: *Roll-7*
@@ -100,7 +100,7 @@ No attributes available.
2
- 2 < !-- shifting along specified axes with the corresponding shift values -->
+ 2
@@ -131,7 +131,7 @@ No attributes available.
1
- 2 < !-- shifting along specified axes with the same shift value -->
+ 2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterElementsUpdate_12.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterElementsUpdate_12.rst
index d0e810326634f6..aa5b2809e71219 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterElementsUpdate_12.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterElementsUpdate_12.rst
@@ -130,22 +130,22 @@ Accordingly for 3D tensor case, the update of the element corresponding to the `
- > < !-- data -->
- 4 < !-- values: [2, 3, 4, 6] -->
+ >
+ 4
- < !-- indices (negative values allowed) -->
- 6 < !-- values: [1, 0, 0, -2, -1, 2] -->
+
+ 6
- > < !-- updates -->
- 6 < !-- values: [10, 20, 30, 40, 70, 60] -->
+ >
+ 6
- < !-- values: [0] -->
+
1
- 4 < !-- values: [52, 13, 104, 76] -->
+ 4
@@ -157,22 +157,22 @@ Accordingly for 3D tensor case, the update of the element corresponding to the `
- > < !-- data -->
- 4 < !-- values: [2, 3, 4, 6] -->
+ >
+ 4
- < !-- indices -->
- 6 < !-- values: [1, 0, 0, 2, 3, 2] -->
+
+ 6
- > < !-- updates -->
- 6 < !-- values: [10, 20, 30, 40, 70, 60] -->
+ >
+ 6
- < !-- values: [0] -->
+
1
- 4 < !-- values: [50, 10, 100, 70] -->
+ 4
@@ -184,30 +184,30 @@ Accordingly for 3D tensor case, the update of the element corresponding to the `
- > < !-- data -->
+ >
3
- 4 < !-- values: [[0, 0, 0, 0],
+ 4
- < !-- indices -->
+
2
- 2 < !-- values: [[1, 2],
+ 2
- > < !-- updates -->
+ >
2
- 2 < !-- values: [[11, 12],
+ 2
- < !-- values: [1] -->
+
1
3
- 4 < !-- values: [[ 0, 11, 12, 0],
+ 4
@@ -221,30 +221,30 @@ Accordingly for 3D tensor case, the update of the element corresponding to the `
- > < !-- data -->
+ >
3
- 4 < !-- values: [[1, 1, 1, 1],
+ 4
- < !-- indices -->
+
2
- 2 < !-- values: [[1, 1],
+ 2
- > < !-- updates -->
+ >
2
- 2 < !-- values: [[11, 12],
+ 2
- < !-- values: [1] -->
+
1
3
- 4 < !-- values: [[ 1, 24, 1, 1],
+ 4
@@ -258,30 +258,30 @@ Accordingly for 3D tensor case, the update of the element corresponding to the `
- > < !-- data -->
+ >
3
- 4 < !-- values: [[2, 2, 2, 2],
+ 4
- < !-- indices -->
+
2
- 2 < !-- values: [[1, 1],
+ 2
- > < !-- updates -->
+ >
2
- 2 < !-- values: [[11, 12],
+ 2
- < !-- values: [1] -->
+
1
3
- 4 < !-- values: [[ 2, 264, 2, 2],
+ 4
@@ -313,7 +313,7 @@ Accordingly for 3D tensor case, the update of the element corresponding to the `
7
6
- < !-- values: [0] -->
+
1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterElementsUpdate_3.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterElementsUpdate_3.rst
index fe927abc9b9e95..69eafbb10f7c26 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterElementsUpdate_3.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterElementsUpdate_3.rst
@@ -5,7 +5,7 @@ ScatterElementsUpdate
.. meta::
- :description: Learn about ScatterElementsUpdate-3 - a data movement operation, which can be
+ :description: Learn about ScatterElementsUpdate-3 - a data movement operation, which can be
performed on four required input tensors.
**Versioned name**: *ScatterElementsUpdate-3*
@@ -81,7 +81,7 @@ The value can be in range ``[-r, r - 1]`` where ``r`` is the rank of ``data``. *
7
6
- < !-- value [0] -->
+
1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterUpdate_3.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterUpdate_3.rst
index f6fba7c4427115..86bbacc8b1a7cc 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterUpdate_3.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/ScatterUpdate_3.rst
@@ -5,7 +5,7 @@ ScatterUpdate
.. meta::
- :description: Learn about ScatterUpdate-3 - a data movement operation, which can be
+ :description: Learn about ScatterUpdate-3 - a data movement operation, which can be
performed on four required input tensors.
**Versioned name**: *ScatterUpdate-3*
@@ -35,14 +35,14 @@ Several examples for case when `axis = 0`:
* **1**: ``data`` tensor of arbitrary rank ``r`` and type *T_NUMERIC*. **Required.**
-* **2**: ``indices`` tensor with indices of type *T_IND*. All index values are expected to be within bounds ``[0, s - 1]`` along the axis of size ``s``. If multiple indices point to the
-same output location, the order of updating the values is undefined. If an index points to a non-existing output
-tensor element or is negative, then an exception is raised. **Required.**
+* **2**: ``indices`` tensor with indices of type *T_IND*. All index values are expected to be within bounds ``[0, s - 1]`` along the axis
+ of size ``s``. If multiple indices point to the same output location, the order of updating the values is undefined.
+ If an index points to a non-existing output tensor element or is negative, then an exception is raised. **Required.**
* **3**: ``updates`` tensor of type *T_NUMERIC* and rank equal to ``rank(indices) + rank(data) - 1`` **Required.**
* **4**: ``axis`` tensor with scalar or 1D tensor with one element of type *T_AXIS* specifying axis for scatter.
-The value can be in the range ``[ -r, r - 1]``, where ``r`` is the rank of ``data``. **Required.**
+ The value can be in the range ``[ -r, r - 1]``, where ``r`` is the rank of ``data``. **Required.**
**Outputs**:
@@ -65,29 +65,29 @@ The value can be in the range ``[ -r, r - 1]``, where ``r`` is the rank of ``dat
- < !-- data -->
+
1000
256
10
15
- < !-- indices -->
+
125
20
- < !-- updates -->
+
1000
125
20
10
15
- < !-- axis -->
- 1 < !-- value [1] -->
+
+ 1
- < !-- output -->
+
1000
256
10
@@ -103,26 +103,26 @@ The value can be in the range ``[ -r, r - 1]``, where ``r`` is the rank of ``dat
- < !-- data -->
- 3 < !-- {{-1.0f, 1.0f, -1.0f, 3.0f, 4.0f}, -->
- 5 < !-- {-1.0f, 6.0f, -1.0f, 8.0f, 9.0f}, -->
- < !-- {-1.0f, 11.0f, 1.0f, 13.0f, 14.0f}} -->
- < !-- indices -->
- 2 < !-- {0, 2} -->
+
+ 3
+ 5
+
+
+ 2
- < !-- updates -->
- 3 < !-- {1.0f, 1.0f} -->
- 2 < !-- {1.0f, 1.0f} -->
- < !-- {1.0f, 2.0f} -->
- < !-- axis -->
- 1 < !-- {1} -->
+
+ 3
+ 2
+
+
+ 1
- < !-- output -->
- 3 < !-- {{1.0f, 1.0f, 1.0f, 3.0f, 4.0f}, -->
- 5 < !-- {1.0f, 6.0f, 1.0f, 8.0f, 9.0f}, -->
- < !-- {1.0f, 11.0f, 2.0f, 13.0f, 14.0f}} -->
+
+ 3
+ 5
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Slice_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Slice_8.rst
index 22b0a7bfbd72af..207ddda0721436 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Slice_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Slice_8.rst
@@ -5,7 +5,7 @@ Slice
.. meta::
- :description: Learn about Slice-8 - a data movement operation,
+ :description: Learn about Slice-8 - a data movement operation,
which can be performed on four required and one optional input tensor.
**Versioned name**: *Slice-8*
@@ -82,24 +82,24 @@ Example 1: basic slicing
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [1] -->
+
1
- < !-- stop: [8] -->
+
1
- < !-- step: [1] -->
+
1
- < !-- axes: [0] -->
+
1
- < !-- output: [1, 2, 3, 4, 5, 6, 7] -->
+
7
@@ -113,21 +113,21 @@ Example 2: basic slicing, ``axes`` default
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [1] -->
+
1
- < !-- stop: [8] -->
+
1
- < !-- step: [1] -->
+
1
- < !-- output: [1, 2, 3, 4, 5, 6, 7] -->
+
7
@@ -141,24 +141,24 @@ Example 3: basic slicing, ``step: [2]``
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [1] -->
+
1
- < !-- stop: [8] -->
+
1
- < !-- step: [2] -->
+
1
- < !-- axes: [0] -->
+
1
- < !-- output: [1, 3, 5, 7] -->
+
4
@@ -171,24 +171,24 @@ Example 4: ``start`` and ``stop`` out of the dimension size, ``step: [1]``
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [-100] -->
+
1
- < !-- stop: [100] -->
+
1
- < !-- step: [1] -->
+
1
- < !-- axes: [0] -->
+
1
- < !-- output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
@@ -202,24 +202,24 @@ Example 5: slicing backward all elements, ``step: [-1]``, ``stop: [-11]``
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [9] -->
+
1
- < !-- stop: [-11] -->
+
1
- < !-- step: [-1] -->
+
1
- < !-- axes: [0] -->
+
1
- < !-- output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -->
+
10
@@ -233,29 +233,29 @@ Example 6: slicing backward, ``step: [-1]``, ``stop: [0]``
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [9] -->
+
1
- < !-- stop: [0] -->
+
1
- < !-- step: [-1] -->
+
1
- < !-- axes: [0] -->
+
1
- < !-- output: [9, 8, 7, 6, 5, 4, 3, 2, 1] -->
+
9
-
+
Example 7: slicing backward, ``step: [-1]``, ``stop: [-10]``
@@ -264,24 +264,24 @@ Example 7: slicing backward, ``step: [-1]``, ``stop: [-10]``
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [9] -->
+
1
- < !-- stop: [-10] -->
+
1
- < !-- step: [-1] -->
+
1
- < !-- axes: [0] -->
+
1
- < !-- output: [9, 8, 7, 6, 5, 4, 3, 2, 1] -->
+
9
@@ -295,24 +295,24 @@ Example 8: slicing backward, ``step: [-2]``
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [9] -->
+
1
- < !-- stop: [-11] -->
+
1
- < !-- step: [-2] -->
+
1
- < !-- axes: [0] -->
+
1
- < !-- output: [9, 7, 5, 3, 1] -->
+
5
@@ -326,24 +326,24 @@ Example 9: ``start`` and ``stop`` out of the dimension size, slicing backward
- < !-- data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -->
+
10
- < !-- start: [100] -->
+
1
- < !-- stop: [-100] -->
+
1
- < !-- step: [-1] -->
+
1
- < !-- axes: [0] -->
+
1
- < !-- output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -->
+
10
@@ -357,31 +357,31 @@ Example 10: slicing 2D tensor, all axes specified
- < !-- data: data: [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]] -->
+
2
5
- < !-- start: [0, 1] -->
+
2
- < !-- stop: [2, 4] -->
+
2
- < !-- step: [1, 2] -->
+
2
- < !-- axes: [0, 1] -->
+
2
- < !-- output: [1, 3, 6, 8] -->
+
2
2
-
+
Example 11: slicing 3D tensor, all axes specified
@@ -390,26 +390,26 @@ Example 11: slicing 3D tensor, all axes specified
- < !-- data -->
+
20
10
5
- < !-- start: [0, 0, 0] -->
+
2
- < !-- stop: [4, 10, 5] -->
+
2
- < !-- step: [1, 1, 1] -->
+
2
- < !-- axes: [0, 1, 2] -->
+
2
- < !-- output -->
+
4
10
5
@@ -424,26 +424,26 @@ Example 12: slicing 3D tensor, last axes default
- < !-- data -->
+
20
10
5
- < !-- start: [0, 0] -->
+
2
- < !-- stop: [4, 10] -->
+
2
- < !-- step: [1, 1] -->
+
2
- < !-- axes: [0, 1] -->
+
2
- < !-- output -->
+
4
10
5
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/SpaceToBatch_2.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/SpaceToBatch_2.rst
index 5b1f060e7bc7cb..6b7ddb69c2ef53 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/SpaceToBatch_2.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/SpaceToBatch_2.rst
@@ -5,7 +5,7 @@ SpaceToBatch
.. meta::
- :description: Learn about SpaceToBatch-2 - a data movement operation,
+ :description: Learn about SpaceToBatch-2 - a data movement operation,
which can be performed on four required input tensors.
**Versioned name**: *SpaceToBatch-2*
@@ -79,30 +79,30 @@ No attributes available.
- < !-- data -->
- 2 < !-- batch -->
- 6 < !-- spatial dimension 1 -->
- 10 < !-- spatial dimension 2 -->
- 3 < !-- spatial dimension 3 -->
- 3 < !-- spatial dimension 4 -->
+
+ 2
+ 6
+ 10
+ 3
+ 3
- < !-- block_shape value: [1, 2, 4, 3, 1] -->
+
5
- < !-- pads_begin value: [0, 0, 1, 0, 0] -->
+
5
- < !-- pads_end value: [0, 0, 1, 0, 0] -->
+
5
- 48 < !-- data.shape[0] * block_shape.shape[0] * block_shape.shape[1] *... * block_shape.shape[4] -->
- 3 < !-- (data.shape[1] + pads_begin[1] + pads_end[1]) / block_shape.shape[1] -->
- 3 < !-- (data.shape[2] + pads_begin[2] + pads_end[2]) / block_shape.shape[2] -->
- 1 < !-- (data.shape[3] + pads_begin[3] + pads_end[3]) / block_shape.shape[3] -->
- 3 < !-- (data.shape[4] + pads_begin[4] + pads_end[4]) / block_shape.shape[4] -->
+ 48
+ 3
+ 3
+ 1
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Split_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Split_1.rst
index bf955d0c8b6d58..0731920bd6db48 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Split_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Split_1.rst
@@ -5,7 +5,7 @@ Split
.. meta::
- :description: Learn about Split-1 - a data movement operation,
+ :description: Learn about Split-1 - a data movement operation,
which can be performed on two required input tensors.
**Versioned name**: *Split-1*
@@ -58,13 +58,13 @@ Where D is the rank of input tensor ``data``. The axis being split must be evenl
- < !-- some data -->
+
6
12
10
24
- < !-- axis: 1 -->
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/StridedSlice_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/StridedSlice_1.rst
index b282848e4af0e1..a4025de9a9f924 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/StridedSlice_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/StridedSlice_1.rst
@@ -5,7 +5,7 @@ StridedSlice
.. meta::
- :description: Learn about StridedSlice-1 - a data movement operation,
+ :description: Learn about StridedSlice-1 - a data movement operation,
which can be performed on three required and one optional input tensor.
**Versioned name**: *StridedSlice-1*
@@ -88,13 +88,13 @@ Example of ``begin_mask`` & ``end_mask`` usage.
4
- 2 < !-- begin: [1, 0, 0] -->
+ 2
- 2 < !-- end: [0, 0, 2] -->
+ 2
- 2 < !-- stride: [1, 1, 1] -->
+ 2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Tile_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Tile_1.rst
index 6c734cc3bba114..f788e136c8fa62 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Tile_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Tile_1.rst
@@ -5,7 +5,7 @@ Tile
.. meta::
- :description: Learn about Tile-1 - a data movement operation, which can be
+ :description: Learn about Tile-1 - a data movement operation, which can be
performed on two required input tensors.
**Versioned name**: *Tile-1*
@@ -39,10 +39,10 @@ No attributes available.
*Tile* operation extends input tensor and filling in output tensor by the following rules:
-.. math::
+.. math::
out_i=input_i[inner_dim*t]
-
+
.. math::
t \in \left ( 0, \quad tiles \right )
@@ -62,7 +62,7 @@ No attributes available.
4
- 3 < !-- [1, 2, 3] -->
+ 3
@@ -81,13 +81,13 @@ No attributes available.
- < !-- will be promoted to shape (1, 2, 3, 4) -->
+
2
3
4
- 4 < !-- [5, 1, 2, 3] -->
+ 4
@@ -114,7 +114,7 @@ No attributes available.
4
- 3 < !-- [1, 2, 3] will be promoted to [1, 1, 2, 3] -->
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Transpose_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Transpose_1.rst
index 28cd04c2767e18..54dbdb1d13d1f3 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Transpose_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/Transpose_1.rst
@@ -5,7 +5,7 @@ Transpose
.. meta::
- :description: Learn about Transpose-1 - a data movement operation, which can be
+ :description: Learn about Transpose-1 - a data movement operation, which can be
performed on two required input tensors.
**Versioned name**: *Transpose-1*
@@ -53,7 +53,7 @@ Transpose
4
- 3 < !-- [2, 0, 1] -->
+ 3
@@ -79,7 +79,7 @@ Transpose
4
- 0 < !-- input_order is an empty 1D tensor -->
+ 0
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/VariadicSplit_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/VariadicSplit_1.rst
index d87c037d44a9f0..19b64c2711d347 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/VariadicSplit_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/movement/VariadicSplit_1.rst
@@ -5,7 +5,7 @@ VariadicSplit
.. meta::
- :description: Learn about VariadicSplit-1 - a data movement operation, which can be
+ :description: Learn about VariadicSplit-1 - a data movement operation, which can be
performed on three required input tensors.
**Versioned name**: *VariadicSplit-1*
@@ -20,7 +20,7 @@ VariadicSplit
The i-th output tensor shape is equal to the input tensor `data` shape, except for dimension along `axis` which is ``split_lengths[i]``.
.. math::
-
+
shape\_output\_tensor = [data.shape[0], data.shape[1], \dotsc , split\_lengths[i], \dotsc , data.shape[D-1]]
Where D is the rank of input tensor `data`. The sum of elements in ``split_lengths`` must match ``data.shape[axis]``.
@@ -49,16 +49,16 @@ Where D is the rank of input tensor `data`. The sum of elements in ``split_lengt
- < !-- some data -->
+
6
12
10
24
- < !-- axis: 0 -->
+
- 3 < !-- split_lengths: [1, 2, 3] -->
+ 3
@@ -89,21 +89,21 @@ Where D is the rank of input tensor `data`. The sum of elements in ``split_lengt
- < !-- some data -->
+
6
12
10
24
- < !-- axis: 0 -->
+
- 2 < !-- split_lengths: [-1, 2] -->
+ 2
- 4 < !-- 4 = 6 - 2 -->
+ 4
12
10
24
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/BatchNormInference_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/BatchNormInference_1.rst
index e5233fb3d3eb7a..91b803f757d519 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/BatchNormInference_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/BatchNormInference_1.rst
@@ -5,7 +5,7 @@ BatchNormInference
.. meta::
- :description: Learn about BatchNormInference-5 - a normalization operation, which can be
+ :description: Learn about BatchNormInference-5 - a normalization operation, which can be
performed on five required input tensors.
**Versioned name**: *BatchNormInference-5*
@@ -19,19 +19,19 @@ BatchNormInference
*BatchNormInference* performs the following operations on a given data batch input tensor ``data``:
* Normalizes each activation :math:`x^{(k)}` by the mean and variance.
-
+
.. math::
-
+
\hat{x}^{(k)}=\frac{x^{(k)} - E[x^{(k)}]}{\sqrt{Var(x^{(k)}) + \epsilon}}
where :math:`E[x^{(k)}]` and :math:`Var(x^{(k)})` are the mean and variance, calculated per channel axis of ``data`` input, and correspond to ``mean`` and ``variance`` inputs, respectively. Additionally, :math:`\epsilon` is a value added to the variance for numerical stability and corresponds to ``epsilon`` attribute.
* Performs linear transformation of each normalized activation based on ``gamma`` and ``beta`` input, representing the scaling factor and shift, respectively.
-
+
.. math::
-
+
\hat{y}^{(k)}=\gamma^{(k)}\hat{x}^{(k)} + \beta^{(k)}
-
+
where :math:`\gamma^{(k)}` and :math:`\beta^{(k)}` are learnable parameters, calculated per channel axis, and correspond to ``gamma`` and ``beta`` inputs.
**Mathematical Formulation**
@@ -41,46 +41,46 @@ Let ``x`` be a *d*-dimensional input, :math:`x=(x_{1}\dotsc x_{d})`. Since norma
For a particular activation, consider a mini-batch :math:`\mathcal{B}` of m values. *BatchNormInference* performs Batch Normalization algorithm as follows:
* **Input**: Values of :math:`x` over a mini-batch:
-
+
.. math::
-
+
\mathcal{B} = {x_{1...m}}
* **Parameters to learn**: :math:`\gamma, \beta`
* **Output**:
-
+
.. math::
-
+
{o_{i} = BN_{\gamma, \beta} ( b_{i} )}
* **Mini-batch mean**:
-
+
.. math::
-
+
\mu_{\mathcal{B}} \leftarrow \frac{1}{m}\sum_{i=1}^{m}b_{i}
* **Mini-batch variance**:
-
+
.. math::
-
+
\sigma_{\mathcal{B}}^{2}\leftarrow \frac{1}{m}\sum_{i=1}^{m} ( b_{i} - \mu_{\mathcal{B}})^{2}
* **Normalize**:
-
+
.. math::
-
+
\hat{b_{i}} \leftarrow \frac{b_{i} - \mu_{\mathcal{B}}}{\sqrt{\sigma_{\mathcal{B}}^{2} + \epsilon }}
* **Scale and shift**:
-
+
.. math::
-
+
o_{i} \leftarrow \gamma\hat{b_{i}} + \beta = BN_{\gamma ,\beta } ( b_{i} )
**Attributes**:
* *epsilon*
-
+
* **Description**: *epsilon* is a constant added to the variance for numerical stability.
* **Range of values**: a floating-point number greater than or equal to zero
* **Type**: ``float``
@@ -104,28 +104,28 @@ For a particular activation, consider a mini-batch :math:`\mathcal{B}` of m valu
**Examples**
-Example: 2D input tensor ``data``
+Example: 2D input tensor ``data``
.. code-block:: xml
:force:
-
+
- < !-- input -->
+
10
128
- < !-- gamma -->
+
128
- < !-- beta -->
+
128
- < !-- mean -->
+
128
- < !-- variance -->
+
128
@@ -141,26 +141,26 @@ Example: 4D input tensor ``data``
.. code-block:: xml
:force:
-
+
- < !-- input -->
+
1
3
224
224
- < !-- gamma -->
+
3
- < !-- beta -->
+
3
- < !-- mean -->
+
3
- < !-- variance -->
+
3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/BatchNormInference_5.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/BatchNormInference_5.rst
index 5c8bb387c4a116..d5a11a0db718c8 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/BatchNormInference_5.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/BatchNormInference_5.rst
@@ -5,7 +5,7 @@ BatchNormInference
.. meta::
- :description: Learn about BatchNormInference-5 - a normalization operation, which can be
+ :description: Learn about BatchNormInference-5 - a normalization operation, which can be
performed on five required input tensors.
**Versioned name**: *BatchNormInference-5*
@@ -21,17 +21,17 @@ BatchNormInference
* Normalizes each activation :math:`x^{(k)}` by the mean and variance.
.. math::
-
+
\hat{x}^{(k)}=\frac{x^{(k)} - E[x^{(k)}]}{\sqrt{Var(x^{(k)}) + \epsilon}}
-
+
where :math:`E[x^{(k)}]` and :math:`Var(x^{(k)})` are the mean and variance, calculated per channel axis of ``data`` input, and correspond to ``mean`` and ``variance`` inputs, respectively. Additionally, :math:`\epsilon` is a value added to the variance for numerical stability and corresponds to ``epsilon`` attribute.
* Performs linear transformation of each normalized activation based on ``gamma`` and ``beta`` input, representing the scaling factor and shift, respectively.
.. math::
-
+
\hat{y}^{(k)}=\gamma^{(k)}\hat{x}^{(k)} + \beta^{(k)}
-
+
where :math:`\gamma^{(k)}` and :math:`\beta^{(k)}` are learnable parameters, calculated per channel axis, and correspond to ``gamma`` and ``beta`` inputs.
**Mathematical Formulation**
@@ -41,47 +41,47 @@ Let ``x`` be a *d*-dimensional input, :math:`x=(x_{1}\dotsc x_{d})`. Since norma
For a particular activation, consider a mini-batch :math:`\mathcal{B}` of m values. *BatchNormInference* performs Batch Normalization algorithm as follows:
* **Input**: Values of :math:`x` over a mini-batch:
-
+
.. math::
-
+
\mathcal{B} = {x_{1...m}}
-
+
* **Parameters to learn**: :math:`\gamma, \beta`
* **Output**:
-
+
.. math::
-
+
{o_{i} = BN_{\gamma, \beta} ( b_{i} )}
-
+
* **Mini-batch mean**:
-
+
.. math::
-
+
\mu_{\mathcal{B}} \leftarrow \frac{1}{m}\sum_{i=1}^{m}b_{i}
* **Mini-batch variance**:
-
+
.. math::
-
+
\sigma_{\mathcal{B}}^{2}\leftarrow \frac{1}{m}\sum_{i=1}^{m} ( b_{i} - \mu_{\mathcal{B}})^{2}
* **Normalize**:
-
+
.. math::
-
+
\hat{b_{i}} \leftarrow \frac{b_{i} - \mu_{\mathcal{B}}}{\sqrt{\sigma_{\mathcal{B}}^{2} + \epsilon }}
* **Scale and shift**:
-
+
.. math::
-
+
o_{i} \leftarrow \gamma\hat{b_{i}} + \beta = BN_{\gamma ,\beta } ( b_{i} )
**Attributes**:
* *epsilon*
-
+
* **Description**: *epsilon* is a constant added to the variance for numerical stability.
* **Range of values**: a floating-point number greater than or equal to zero
* **Type**: ``float``
@@ -109,24 +109,24 @@ Example: 2D input tensor ``data``
.. code-block:: xml
:force:
-
+
- < !-- input -->
+
10
128
- < !-- gamma -->
+
128
- < !-- beta -->
+
128
- < !-- mean -->
+
128
- < !-- variance -->
+
128
@@ -142,26 +142,26 @@ Example: 4D input tensor ``data``
.. code-block:: xml
:force:
-
+
- < !-- input -->
+
1
3
224
224
- < !-- gamma -->
+
3
- < !-- beta -->
+
3
- < !-- mean -->
+
3
- < !-- variance -->
+
3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/LRN_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/LRN_1.rst
index c1fb7927f3ddf5..2231e3bc7fa7ed 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/LRN_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/LRN_1.rst
@@ -5,7 +5,7 @@ LRN
.. meta::
- :description: Learn about LRN-1 - a normalization operation, which can be
+ :description: Learn about LRN-1 - a normalization operation, which can be
performed on two required input tensors.
**Versioned name**: *LRN-1*
@@ -105,7 +105,7 @@ Example for 4D ``data`` input tensor and ``axes = [2, 3]``:
24
- 1 < !-- value is [1] that means independent normalization for each pixel along channels -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/MVN_6.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/MVN_6.rst
index ba04fb3b8cec33..444762f7ef0b57 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/MVN_6.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/MVN_6.rst
@@ -5,7 +5,7 @@ MVN
.. meta::
- :description: Learn about MVN-6 - a normalization operation, which can be
+ :description: Learn about MVN-6 - a normalization operation, which can be
performed on two required input tensors.
**Versioned name**: *MVN-6*
@@ -100,7 +100,7 @@ If *normalize_variance* is set to ``true``, the output blob is divided by varian
24
- 3 < !-- value of [0,2,3] means independent normalization per channels -->
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/NormalizeL2_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/NormalizeL2_1.rst
index 8bd1da903fdcc9..61b3d439a2ef7f 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/NormalizeL2_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/normalization/NormalizeL2_1.rst
@@ -5,7 +5,7 @@ NormalizeL2
.. meta::
- :description: Learn about MVN-1 - a normalization operation, which can be
+ :description: Learn about MVN-1 - a normalization operation, which can be
performed on two required input tensors.
**Versioned name**: *NormalizeL2-1*
@@ -79,7 +79,7 @@ Example: Normalization over channel dimension for ``NCHW`` layout
24
- 1 < !-- axes list [1] means normalization over channel dimension -->
+ 1
@@ -108,7 +108,7 @@ Example: Normalization over channel and spatial dimensions for ``NCHW`` layout
24
- 3 < !-- axes list [1, 2, 3] means normalization over channel and spatial dimensions -->
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/quantization/FakeConvert_13.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/quantization/FakeConvert_13.rst
index d58eefc16f3983..93e56c4b4ce2a2 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/quantization/FakeConvert_13.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/quantization/FakeConvert_13.rst
@@ -29,9 +29,9 @@ Each element of the output is defined as the result of the following expression:
.. code-block:: py
:force:
- data = (data + shift) / scale
- ConvertLike(Convert(data, destination_type), data)
data = data * scale - shift
+ ConvertLike(Convert(data, destination_type), data)
+ data = (data + shift) / scale
**Attributes**
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceL1_4.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceL1_4.rst
index e2cd7c83c2feb3..6acdb9e5786943 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceL1_4.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceL1_4.rst
@@ -5,7 +5,7 @@ ReduceL1
.. meta::
- :description: Learn about ReduceL1-4 - a reduction operation, which can be
+ :description: Learn about ReduceL1-4 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceL1-4*
@@ -68,7 +68,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -96,7 +96,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -122,7 +122,7 @@ Particular cases:
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -149,7 +149,7 @@ Particular cases:
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
@@ -160,4 +160,4 @@ Particular cases:
-
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceL2_4.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceL2_4.rst
index 0556516d5bfbd3..aa908c97f6c0c4 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceL2_4.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceL2_4.rst
@@ -5,7 +5,7 @@ ReduceL2
.. meta::
- :description: Learn about ReduceL2-4 - a reduction operation, which can be
+ :description: Learn about ReduceL2-4 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceL2-4*
@@ -68,7 +68,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -95,7 +95,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -120,7 +120,7 @@ Particular cases:
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -146,7 +146,7 @@ Particular cases:
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceLogicalAnd_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceLogicalAnd_1.rst
index e92b9153a12d12..01dbfc47902f05 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceLogicalAnd_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceLogicalAnd_1.rst
@@ -5,7 +5,7 @@ ReduceLogicalAnd
.. meta::
- :description: Learn about ReduceLogicalAnd-1 - a reduction operation, which can be
+ :description: Learn about ReduceLogicalAnd-1 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceLogicalAnd-1*
@@ -70,7 +70,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -97,7 +97,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -122,7 +122,7 @@ Particular cases:
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -148,7 +148,7 @@ Particular cases:
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceLogicalOr_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceLogicalOr_1.rst
index 7cfdbc95eea5a0..e033e136f5b0e2 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceLogicalOr_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceLogicalOr_1.rst
@@ -5,7 +5,7 @@ ReduceLogicalOr
.. meta::
- :description: Learn about ReduceLogicalOr-1 - a reduction operation, which can be
+ :description: Learn about ReduceLogicalOr-1 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceLogicalOr-1*
@@ -70,7 +70,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -97,7 +97,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -121,7 +121,7 @@ Particular cases:
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -147,7 +147,7 @@ Particular cases:
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMax_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMax_1.rst
index 5037372de4cbce..4e22be42d2636d 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMax_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMax_1.rst
@@ -5,7 +5,7 @@ ReduceMax
.. meta::
- :description: Learn about ReduceMax-1 - a reduction operation, which can be
+ :description: Learn about ReduceMax-1 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceMax-1*
@@ -72,7 +72,7 @@ Reducing empty tensor results in an undefined behavior.
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -99,7 +99,7 @@ Reducing empty tensor results in an undefined behavior.
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -124,7 +124,7 @@ Reducing empty tensor results in an undefined behavior.
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -150,7 +150,7 @@ Reducing empty tensor results in an undefined behavior.
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMean_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMean_1.rst
index c3b71fa89c95e1..9aef4e981cf46f 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMean_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMean_1.rst
@@ -5,7 +5,7 @@ ReduceMean
.. meta::
- :description: Learn about ReduceMean-1 - a reduction operation, which can be
+ :description: Learn about ReduceMean-1 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceMean-1*
@@ -70,7 +70,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -97,7 +97,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -122,7 +122,7 @@ Particular cases:
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -147,7 +147,7 @@ Particular cases:
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMin_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMin_1.rst
index 4986ddc474606f..f20a0cfda064d4 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMin_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceMin_1.rst
@@ -5,7 +5,7 @@ ReduceMin
.. meta::
- :description: Learn about ReduceMin-1 - a reduction operation, which can be
+ :description: Learn about ReduceMin-1 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceMin-1*
@@ -72,7 +72,7 @@ Reducing empty tensor results in an undefined behavior.
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -99,7 +99,7 @@ Reducing empty tensor results in an undefined behavior.
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -124,7 +124,7 @@ Reducing empty tensor results in an undefined behavior.
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -150,7 +150,7 @@ Reducing empty tensor results in an undefined behavior.
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceProd_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceProd_1.rst
index 0c75cb833c6a43..04af9115fb93c5 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceProd_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceProd_1.rst
@@ -5,7 +5,7 @@ ReduceProd
.. meta::
- :description: Learn about ReduceProd-1 - a reduction operation, which can be
+ :description: Learn about ReduceProd-1 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceProd-1*
@@ -70,7 +70,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -97,7 +97,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -122,7 +122,7 @@ Particular cases:
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -148,7 +148,7 @@ Particular cases:
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceSum_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceSum_1.rst
index d2a4858eae201e..b42536dc0baba7 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceSum_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/reduction/ReduceSum_1.rst
@@ -5,7 +5,7 @@ ReduceSum
.. meta::
- :description: Learn about ReduceSum-1 - a reduction operation, which can be
+ :description: Learn about ReduceSum-1 - a reduction operation, which can be
performed on two required input tensors.
**Versioned name**: *ReduceSum-1*
@@ -70,7 +70,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -97,7 +97,7 @@ Particular cases:
24
- 2 < !-- value is [2, 3] that means independent reduction in each channel and batch -->
+ 2
@@ -122,7 +122,7 @@ Particular cases:
24
- 1 < !-- value is [1] that means independent reduction in each channel and spatial dimensions -->
+ 1
@@ -148,7 +148,7 @@ Particular cases:
24
- 1 < !-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/CTCGreedyDecoderSeqLen_6.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/CTCGreedyDecoderSeqLen_6.rst
index e64cd14263bebe..6ff19be0776a80 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/CTCGreedyDecoderSeqLen_6.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/CTCGreedyDecoderSeqLen_6.rst
@@ -5,7 +5,7 @@ CTCGreedyDecoderSeqLen
.. meta::
- :description: Learn about CTCGreedyDecoderSeqLen-6 - a sequence processing
+ :description: Learn about CTCGreedyDecoderSeqLen-6 - a sequence processing
operation, which can be performed on two required input tensors.
**Versioned name**: *CTCGreedyDecoderSeqLen-6*
@@ -77,7 +77,7 @@ The main difference between :doc:`CTCGreedyDecoder
@@ -89,7 +89,7 @@ The main difference between :doc:`CTCGreedyDecoder
8
- < !-- blank_index = 120 -->
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/CTCLoss_4.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/CTCLoss_4.rst
index 8f43fc62309fda..49191ec889b5fe 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/CTCLoss_4.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/CTCLoss_4.rst
@@ -5,7 +5,7 @@ CTCLoss
.. meta::
- :description: Learn about CTCLoss-4 - a sequence processing operation, which
+ :description: Learn about CTCLoss-4 - a sequence processing operation, which
can be performed on four required and one optional input tensor.
**Versioned name**: *CTCLoss-4*
@@ -29,19 +29,19 @@ Otherwise, the operation behaviour is undefined.
1. Compute probability of ``j``-th character at time step ``t`` for ``i``-th input sequence from ``logits`` using softmax formula:
.. math::
-
+
p_{i,t,j} = \frac{\exp(logits[i,t,j])}{\sum^{K}_{k=0}{\exp(logits[i,t,k])}}
2. For a given ``i``-th target from ``labels[i,:]`` find all aligned paths. A path ``S = (c1,c2,...,cT)`` is aligned with a target ``G=(g1,g2,...,gT)`` if both chains are equal after decoding. The decoding extracts substring of length ``label_length[i]`` from a target ``G``, merges repeated characters in ``G`` in case *preprocess_collapse_repeated* equal to true and finds unique elements in the order of character occurrence in case *unique* equal to true. The decoding merges repeated characters in ``S`` in case *ctc_merge_repeated* equal to true and removes blank characters represented by ``blank_index``. By default, ``blank_index`` is equal to ``C-1``, where ``C`` is a number of classes including the blank. For example, in case default *ctc_merge_repeated*, *preprocess_collapse_repeated*, *unique* and ``blank_index`` a target sequence ``G=(0,3,2,2,2,2,2,4,3)`` of a length ``label_length[i]=4`` is processed to ``(0,3,2,2)`` and a path ``S=(0,0,4,3,2,2,4,2,4)`` of a length ``logit_length[i]=9`` is also processed to ``(0,3,2,2)``, where ``C=5``. There exist other paths that are also aligned with ``G``, for instance, ``0,4,3,3,2,4,2,2,2``. Paths checked for alignment with a target ``label[:,i]`` must be of length ``logit_length[i] = L_i``. Compute probabilities of these aligned paths (alignments) as follows:
.. math::
-
+
p(S) = \prod_{t=1}^{L_i} p_{i,t,ct}
3. Finally, compute negative log of summed up probabilities of all found alignments:
.. math::
-
+
CTCLoss = - \ln \sum_{S} p(S)
**Note 1**: This calculation scheme does not provide steps for optimal implementation and primarily serves for better explanation.
@@ -50,7 +50,7 @@ Otherwise, the operation behaviour is undefined.
Having log-probabilities for aligned paths, log of summed up probabilities for these paths can be computed as follows:
.. math::
-
+
\ln(a + b) = \ln(a) + \ln(1 + \exp(\ln(b) - \ln(a)))
**Attributes**
@@ -100,7 +100,7 @@ Having log-probabilities for aligned paths, log of summed up probabilities for t
.. code-block:: xml
:force:
-
+
@@ -118,7 +118,7 @@ Having log-probabilities for aligned paths, log of summed up probabilities for t
8
- < !-- blank_index value is: 120 -->
+
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/OneHot_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/OneHot_1.rst
index 77631b7d1fa3f5..8e085896d9b05f 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/OneHot_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sequence/OneHot_1.rst
@@ -5,7 +5,7 @@ OneHot
.. meta::
- :description: Learn about OneHot-1 - a sequence processing operation, which
+ :description: Learn about OneHot-1 - a sequence processing operation, which
can be performed on four required input tensors.
**Versioned name**: *OneHot-1*
@@ -64,18 +64,18 @@ The types of input scalars ``on_value`` and ``off_value`` should match and be eq
- < !-- indices value: [0, 3, 1, 2] -->
+
4
- < !-- depth value: 3 -->
+
- < !-- on_value 1 -->
+
- < !-- off_value 2 -->
+
- < !-- output value # [[1, 2, 2], [2, 2, 2], [2, 1, 2], [2, 2, 1]] -->
+
4
3
@@ -90,20 +90,20 @@ The types of input scalars ``on_value`` and ``off_value`` should match and be eq
- < !-- indices value: [[0, 3, 1], [1, 2, 4]] -->
+
2
3
- < !-- depth value: 3 -->
+
- < !-- on_value 1 -->
+
- < !-- off_value 0 -->
+
- < !-- output value: [[[1, 0, 0], [0, 0, 1], [0, 0, 0]], -->
- 2 < !-- [[0, 0, 0], [1, 0, 0], [0, 1, 0]]] -->
+
+ 2
3
3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Reshape_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Reshape_1.rst
index 6700be5536c1d6..064fcb92a9b95e 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Reshape_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Reshape_1.rst
@@ -5,7 +5,7 @@ Reshape
.. meta::
- :description: Learn about Reshape-1 - a shape manipulation operation, which
+ :description: Learn about Reshape-1 - a shape manipulation operation, which
can be performed on two required input tensors.
**Versioned name**: *Reshape-1*
@@ -65,7 +65,7 @@ If ``special_zero`` is set to ``true`` index of ``0`` cannot be larger than the
0
- 2 < !--The tensor contains 2 elements: 0, 4 -->
+ 2
@@ -92,7 +92,7 @@ If ``special_zero`` is set to ``true`` index of ``0`` cannot be larger than the
24
- 3 < !--The tensor contains 3 elements: 0, -1, 4 -->
+ 3
@@ -119,7 +119,7 @@ If ``special_zero`` is set to ``true`` index of ``0`` cannot be larger than the
3
- 4 < !--The tensor contains 4 elements: 0, 0, 1, -1 -->
+ 4
@@ -147,7 +147,7 @@ If ``special_zero`` is set to ``true`` index of ``0`` cannot be larger than the
1
- 2 < !--The tensor contains 2 elements: -1, 0 -->
+ 2
@@ -173,7 +173,7 @@ If ``special_zero`` is set to ``true`` index of ``0`` cannot be larger than the
1
- 2 < !--The tensor contains 2 elements: 0, -1 -->
+ 2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/ShapeOf_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/ShapeOf_1.rst
index 3b98d8362d181f..176e79a927c0bd 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/ShapeOf_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/ShapeOf_1.rst
@@ -5,7 +5,7 @@ ShapeOf
.. meta::
- :description: Learn about ShapeOf-1 - a shape manipulation operation, which
+ :description: Learn about ShapeOf-1 - a shape manipulation operation, which
can be performed on an arbitrary input tensor.
**Versioned name**: *ShapeOf-1*
@@ -39,7 +39,7 @@ ShapeOf
- < !-- output value is: [2,3,224,224]-->
+
4
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/ShapeOf_3.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/ShapeOf_3.rst
index 7e68b4447beeaf..bb64e7517f60de 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/ShapeOf_3.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/ShapeOf_3.rst
@@ -5,7 +5,7 @@ ShapeOf
.. meta::
- :description: Learn about ShapeOf-3 - a shape manipulation operation, which
+ :description: Learn about ShapeOf-3 - a shape manipulation operation, which
can be performed on an arbitrary input tensor.
**Versioned name**: *ShapeOf-3*
@@ -54,7 +54,7 @@ ShapeOf
- < !-- output value is: [2,3,224,224]-->
+
4
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Squeeze_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Squeeze_1.rst
index e8933f2aceb603..9d426f88e5ff83 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Squeeze_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Squeeze_1.rst
@@ -5,7 +5,7 @@ Squeeze
.. meta::
- :description: Learn about Squeeze-1 - a shape manipulation operation, which
+ :description: Learn about Squeeze-1 - a shape manipulation operation, which
can be performed on one required and one optional input tensor.
**Versioned name**: *Squeeze-1*
@@ -55,7 +55,7 @@ Squeeze
- 2 < !-- value [0, 2] -->
+ 2
@@ -79,7 +79,7 @@ Squeeze
- 1 < !-- value is [0] -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Unsqueeze_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Unsqueeze_1.rst
index 62a908b5296dac..5bab816f35f0bc 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Unsqueeze_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/shape/Unsqueeze_1.rst
@@ -5,7 +5,7 @@ Unsqueeze
.. meta::
- :description: Learn about Unsqueeze-1 - a shape manipulation operation, which
+ :description: Learn about Unsqueeze-1 - a shape manipulation operation, which
can be performed on two required input tensors.
**Versioned name**: *Unsqueeze-1*
@@ -48,7 +48,7 @@ Unsqueeze
- 2 < !-- value is [0, 3] -->
+ 2
@@ -74,7 +74,7 @@ Unsqueeze
- 1 < !-- value is [0] -->
+ 1
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/DFT_7.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/DFT_7.rst
index 90a42a0ac1fdbb..b32b1eb4c23729 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/DFT_7.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/DFT_7.rst
@@ -5,7 +5,7 @@ DFT
.. meta::
- :description: Learn about DFT-7 - a signal processing operation, which can be
+ :description: Learn about DFT-7 - a signal processing operation, which can be
performed on two required and one optional input tensor.
**Versioned name**: *DFT-7*
@@ -23,14 +23,14 @@ No attributes available.
* **1**: ``data`` - Input tensor of type *T* with data for the DFT transformation. Type of elements is any supported floating-point type. The last dimension of the input tensor must be equal to 2, that is the input tensor shape must have the form ``[D_0, D_1, ..., D_{N-1}, 2]``, representing the real and imaginary components of complex numbers in ``[:, ..., :, 0]`` and in ``[:, ..., :, 1]`` correspondingly. **Required.**
* **2**: ``axes`` - 1D tensor of type *T_IND* specifying dimension indices where DFT is applied, and ``axes`` is any unordered list of indices of different dimensions of input tensor, for example, ``[0, 4]``, ``[4, 0]``, ``[4, 2, 1]``, ``[1, 2, 3]``, ``[-3, 0, -2]``. These indices should be integers from ``-(r - 1)`` to ``(r - 2)`` inclusively, where ``r = rank(data)``. A negative axis ``a`` is interpreted as an axis ``r - 1 + a``. Other dimensions do not change. The order of elements in ``axes`` attribute matters, and is mapped directly to elements in the third input ``signal_size``. **Required.**
- .. note::
-
+ .. note::
+
The following constraint must be satisfied: ``rank(data) >= len(axes) + 1 and input_shape[-1] == 2 and (rank(data) - 1) not in axes and (-1) not in axes``.
* **3**: ``signal_size`` - 1D tensor of type *T_SIZE* describing signal size with respect to axes from the input ``axes``. If ``signal_size[i] == -1``, then DFT is calculated for full size of the axis ``axes[i]``. If ``signal_size[i] > input_shape[: r - 1][axes[i]]``, then input data are zero-padded with respect to the axis ``axes[i]`` at the end. Finally, ``signal_size[i] < input_shape[: r - 1][axes[i]]``, then input data are trimmed with respect to the axis ``axes[i]``. More precisely, if ``signal_size[i] < input_shape[: r - 1][axes[i]]``, the slice ``0: signal_size[i]`` of the axis ``axes[i]`` is considered. Optional, with default value ```[input_shape[: r - 1][a] for a in axes]```.
- .. note::
-
+ .. note::
+
If the input ``signal_size`` is specified, the size of ``signal_size`` must be the same as the size of ``axes``.
**Outputs**
@@ -52,7 +52,7 @@ Let ``D`` be an input tensor ``A``, taking into account the ``signal_size``, and
Next, put
.. math::
-
+
X[j_0,\dots,j_{k-1},j_k,\dots,j_{k+r-1}]=D[j_0,\dots,j_{k-1},j_k,\dots,j_{k+r-1},0]+iD[j_0,\dots,j_{k-1},j_k,\dots,j_{k+r-1},1]
for all indices ``j_0,...,j_{k+r-1}``, where ``i`` is an imaginary unit, that is ``X`` is a complex tensor.
@@ -60,17 +60,17 @@ for all indices ``j_0,...,j_{k+r-1}``, where ``i`` is an imaginary unit, that is
Then the discrete Fourier transform is the tensor :math:`Y` of the same shape as the tensor :math:`X`, such that
.. math::
-
+
Y[n_0,\dots,n_{k-1},m_0,\dots,m_{r-1}]=\sum\limits_{j_0=0}^{S_0-1}\cdots\sum\limits_{j_{r-1}=0}^{S_{r-1}-1}X[n_0,\dots,n_{k-1},j_0,\dots,j_{r-1}]\exp\left(-2\pi i\sum\limits_{q=0}^{r-1}\frac{m_qj_q}{S_q}\right)
for all indices ``n_0,...,n_{k-1}``, ``m_0,...,m_{r-1}``, and the result of the operation is the real tensor ``Z`` with the shape ``[B_0, ..., B_{k-1}, S_0, ..., S_{r-1}, 2]`` and such that
.. math::
-
+
Z[n_0,\dots,n_{k-1},m_0,\dots,m_{r-1}, 0]=Re Y[n_0,\dots,n_{k-1},m_0,\dots,m_{r-1}],
.. math::
-
+
Z[n_0,\dots,n_{k-1},m_0,\dots,m_{r-1}, 1]=Im Y[n_0,\dots,n_{k-1},m_0,\dots,m_{r-1}].
Calculations for the generic case of axes and signal sizes are similar.
@@ -81,7 +81,7 @@ There is no ``signal_size`` input (4D input tensor):
.. code-block:: xml
:force:
-
+
@@ -91,7 +91,7 @@ There is no ``signal_size`` input (4D input tensor):
2
- 2 < !-- axes input contains [1, 2] -->
+ 2
@@ -107,7 +107,7 @@ There is no ``signal_size`` input (3D input tensor):
.. code-block:: xml
:force:
-
+
@@ -116,7 +116,7 @@ There is no ``signal_size`` input (3D input tensor):
2
- 2 < !-- axes input contains [0, 1] -->
+ 2
@@ -131,7 +131,7 @@ There is ``signal_size`` input (4D input tensor):
.. code-block:: xml
:force:
-
+
@@ -141,10 +141,10 @@ There is ``signal_size`` input (4D input tensor):
2
- 2 < !-- axes input contains [1, 2] -->
+ 2
- 2 < !-- signal_size input contains [512, 100] -->
+ 2
@@ -160,7 +160,7 @@ There is ``signal_size`` input (3D input tensor):
.. code-block:: xml
:force:
-
+
@@ -169,10 +169,10 @@ There is ``signal_size`` input (3D input tensor):
2
- 2 < !-- axes input contains [0, 1] -->
+ 2
- 2 < !-- signal_size input contains [512, 100] -->
+ 2
@@ -187,7 +187,7 @@ There is ``signal_size`` input (5D input tensor, ``-1`` in ``signal_size``, unso
.. code-block:: xml
:force:
-
+
@@ -198,10 +198,10 @@ There is ``signal_size`` input (5D input tensor, ``-1`` in ``signal_size``, unso
2
- 3 < !-- axes input contains [3, 1, 2] -->
+ 3
- 3 < !-- signal_size input contains [170, -1, 1024] -->
+ 3
@@ -218,7 +218,7 @@ There is ``signal_size`` input (5D input tensor, ``-1`` in ``signal_size``, unso
.. code-block:: xml
:force:
-
+
@@ -229,10 +229,10 @@ There is ``signal_size`` input (5D input tensor, ``-1`` in ``signal_size``, unso
2
- 3 < !-- axes input contains [3, 0, 2] -->
+ 3
- 3 < !-- signal_size input contains [258, -1, 2056] -->
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/IDFT_7.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/IDFT_7.rst
index e3651b2c44dc58..0621a323428543 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/IDFT_7.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/IDFT_7.rst
@@ -5,7 +5,7 @@ Inverse Discrete Fourier Transformation (IDFT)
.. meta::
- :description: Learn about IDFT-7 - a signal processing operation, which can be
+ :description: Learn about IDFT-7 - a signal processing operation, which can be
performed on two required and one optional input tensor.
**Versioned name**: *IDFT-7*
@@ -22,16 +22,16 @@ No attributes available.
* **1**: ``data`` - Input tensor of type *T* with data for the IDFT transformation. Type of elements is any supported floating-point type. The last dimension of the input tensor must be equal to 2, that is the input tensor shape must have the form ``[D_0, D_1, ..., D_{N-1}, 2]``, representing the real and imaginary components of complex numbers in ``[:, ..., :, 0]`` and in ``[:, ..., :, 1]`` correspondingly. **Required.**
* **2**: ``axes`` - 1D tensor of type *T_IND* specifying dimension indices where IDFT is applied, and ``axes`` is any unordered list of indices of different dimensions of input tensor, for example, ``[0, 4]``, ``[4, 0]``, ``[4, 2, 1]``, ``[1, 2, 3]``, ``[-3, 0, -2]``. These indices should be integers from ``-(r - 1)`` to ``(r - 2)`` inclusively, where ``r = rank(data)``. A negative axis ``a`` is interpreted as an axis ``r - 1 + a``. Other dimensions do not change. The order of elements in ``axes`` attribute matters, and is mapped directly to elements in the third input ``signal_size``. **Required.**
-*
+*
.. note::
-
+
The following constraint must be satisfied: ``rank(data) >= len(axes) + 1 and input_shape[-1] == 2 and (rank(data) - 1) not in axes and (-1) not in axes``.
* **3**: ``signal_size`` - 1D tensor of type *T_SIZE* describing signal size with respect to axes from the input ``axes``. If ``signal_size[i] == -1``, then IDFT is calculated for full size of the axis ``axes[i]``. If ``signal_size[i] > input_shape[: r - 1][axes[i]]``, then input data are zero-padded with respect to the axis ``axes[i]`` at the end. Finally, if ``signal_size[i] < input_shape[: r - 1][axes[i]]``, then input data are trimmed with respect to the axis ``axes[i]``. More precisely, if ``signal_size[i] < input_shape[: r - 1][axes[i]]``, the slice ``0: signal_size[i]`` of the axis ``axes[i]`` is considered. Optional, with default value ``[input_shape[: r - 1][a] for a in axes]``.
-*
+*
.. note::
-
+
If the input ``signal_size`` is specified, then the size of ``signal_size`` must be the same as the size of ``axes``.
**Outputs**
@@ -52,7 +52,7 @@ For simplicity, assume that an input tensor ``A`` has the shape ``[B_0, ..., B_{
Let ``D`` be an input tensor ``A``, taking into account the ``signal_size``, and, hence, ``D`` has the shape ``[B_0, ..., B_{k-1}, S_0, ..., S_{r-1}, 2]``.
-Next, put
+Next, put
.. math::
@@ -94,7 +94,7 @@ There is no ``signal_size`` input (4D input tensor):
2
- 2 < !-- [1, 2] -->
+ 2
@@ -120,7 +120,7 @@ There is no ``signal_size`` input (3D input tensor):
2
- 2 < !-- [0, 1] -->
+ 2
@@ -147,10 +147,10 @@ There is ``signal_size`` input (4D input tensor):
2
- 2 < !-- [1, 2] -->
+ 2
- 2 < !-- [512, 100] -->
+ 2
@@ -177,10 +177,10 @@ There is ``signal_size`` input (3D input tensor):
2
- 2 < !-- [0, 1] -->
+ 2
- 2 < !-- [512, 100] -->
+ 2
@@ -208,10 +208,10 @@ There is ``signal_size`` input (5D input tensor, ``-1`` in ``signal_size``, unso
2
- 3 < !-- axes input contains [3, 1, 2] -->
+ 3
- 3 < !-- signal_size input contains [170, -1, 1024] -->
+ 3
@@ -241,10 +241,10 @@ There is ``signal_size`` input (5D input tensor, ``-1`` in ``signal_size``, unso
2
- 3 < !-- axes input contains [3, 0, 2] -->
+ 3
- 3 < !-- signal_size input contains [258, -1, 2056] -->
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/IRDFT_9.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/IRDFT_9.rst
index 7b8804cd841871..d067654709da10 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/IRDFT_9.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/IRDFT_9.rst
@@ -5,7 +5,7 @@ Inverse Discrete complex-to-real Fourier Transformation (IRDFT)
.. meta::
- :description: Learn about IRDFT-9 - a signal processing operation, which can be
+ :description: Learn about IRDFT-9 - a signal processing operation, which can be
performed on two required and one optional input tensor.
**Versioned name**: *IRDFT-9*
@@ -22,18 +22,18 @@ No attributes available.
* **1**: ``data`` - Input tensor of type *T* with data for the IRDFT transformation. The last dimension of the input tensor must be equal to 2, that is the input tensor shape must have the form ``[D_0, D_1, ..., D_{N-1}, 2]``, representing the real and imaginary components of complex numbers in ``[:, ..., :, 0]`` and in ``[:, ..., :, 1]`` correspondingly. **Required.**
* **2**: ``axes`` - 1D tensor of type *T_IND* specifying dimension indices where IRDFT is applied, and ``axes`` is any unordered list of indices of different dimensions of the input tensor, for example, ``[0, 4]``, ``[4, 0]``, ``[4, 2, 1]``, ``[1, 2, 3]``, ``[-3, 0, -2]``. These indices should be integers from ``-(r - 1)`` to ``(r - 2)`` inclusively, where ``r = rank(data)``. A negative axis ``a`` is interpreted as an axis ``r - 1 + a``. Other dimensions do not change. The order of elements in the ``axes`` attribute matters, and is mapped directly to elements in the third input ``signal_size``. **Required.**
-*
+*
.. note::
-
+
The following constraint must be satisfied: ``rank(data) >= len(axes) + 1 and (rank(data) - 1) not in axes and (-1) not in axes``.
* **3**: ``signal_size`` - 1D tensor of type *T_SIZE* describing signal size with respect to axes from the input ``axes``. If ``signal_size[i] == -1``, then IRDFT is calculated for full size of the axis ``axes[i]``. If ``signal_size[i] > data_shape[: r - 1][axes[i]]``, then input data is zero-padded with respect to the axis ``axes[i]`` at the end. Finally, if ``signal_size[i] < data_shape[: r - 1][axes[i]]``, then input data is trimmed with respect to the axis ``axes[i]``. More precisely, if ``signal_size[i] < data_shape[: r - 1][axes[i]]``, the slice ``0: signal_size[i]`` of the axis ``axes[i]`` is considered. Optionally, with default value ``[data_shape[: r - 1][a] for a in axes]``.
-*
+*
.. note::
-
+
If the input ``signal_size`` is specified, then the size of ``signal_size`` must be the same as the size of ``axes``.
@@ -110,7 +110,7 @@ There is no ``signal_size`` input (4D input tensor):
2
- 2 < !-- [1, 2] -->
+ 2
@@ -135,7 +135,7 @@ There is no ``signal_size`` input (3D input tensor):
2
- 2 < !-- [0, 1] -->
+ 2
@@ -160,10 +160,10 @@ There is ``signal_size`` input (4D input tensor):
2
- 2 < !-- [1, 2] -->
+ 2
- 2 < !-- [512, 100] -->
+ 2
@@ -189,10 +189,10 @@ There is ``signal_size`` input (3D input tensor):
2
- 2 < !-- [0, 1] -->
+ 2
- 2 < !-- [512, 100] -->
+ 2
@@ -219,10 +219,10 @@ There is ``signal_size`` input (5D input tensor, ``-1`` in ``signal_size``, unso
2
- 3 < !-- axes input contains [3, 1, 2] -->
+ 3
- 3 < !-- signal_size input contains [170, -1, 1024] -->
+ 3
@@ -250,10 +250,10 @@ There is ``signal_size`` input (5D input tensor, ``-1`` in ``signal_size``, unso
2
- 3 < !-- axes input contains [3, 0, 2] -->
+ 3
- 3 < !-- signal_size input contains [258, -1, 2056] -->
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/RDFT_9.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/RDFT_9.rst
index 325a34bcdb55b5..14270fa42458ca 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/RDFT_9.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/signals/RDFT_9.rst
@@ -5,7 +5,7 @@ Discrete Fourier Transformation for real-valued input (RDFT)
.. meta::
- :description: Learn about RDFT-9 - a signal processing operation, which can be
+ :description: Learn about RDFT-9 - a signal processing operation, which can be
performed on two required and one optional input tensor.
**Versioned name**: *RDFT-9*
@@ -85,7 +85,7 @@ There is no ``signal_size`` input (3D input tensor):
320
- 2 < !-- axes input contains [1, 2] -->
+ 2
@@ -110,7 +110,7 @@ There is no ``signal_size`` input (2D input tensor):
320
- 2 < !-- axes input contains [0, 1] -->
+ 2
@@ -136,10 +136,10 @@ There is ``signal_size`` input (3D input tensor):
320
- 2 < !-- axes input contains [1, 2] -->
+ 2
- 2 < !-- signal_size input contains [512, 100] -->
+ 2
@@ -163,10 +163,10 @@ There is ``signal_size`` input (2D input tensor):
320
- 2 < !-- axes input contains [0, 1] -->
+ 2
- 2 < !-- signal_size input contains [512, 100] -->
+ 2
@@ -192,10 +192,10 @@ There is ``signal_size`` input (4D input tensor, ``-1`` in ``signal_size``, unso
320
- 3 < !-- axes input contains [3, 1, 2] -->
+ 3
- 3 < !-- signal_size input contains [170, -1, 1024] -->
+ 3
@@ -222,10 +222,10 @@ There is ``signal_size`` input (4D input tensor, ``-1`` in ``signal_size``, unso
320
- 3 < !-- axes input contains [3, 0, 2] -->
+ 3
- 3 < !-- signal_size input contains [258, -1, 2056] -->
+ 3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MatrixNMS_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MatrixNMS_8.rst
index c4d7cefdd3687c..881003047efe38 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MatrixNMS_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MatrixNMS_8.rst
@@ -5,8 +5,8 @@ MatrixNonMaxSuppression
.. meta::
- :description: Learn about MatrixNonMaxSuppression-8 - a sorting and
- maximization operation, which can be performed on two required
+ :description: Learn about MatrixNonMaxSuppression-8 - a sorting and
+ maximization operation, which can be performed on two required
input tensors.
**Versioned name**: *MatrixNonMaxSuppression-8*
@@ -176,7 +176,7 @@ When there is no box selected, ``selected_num`` is filled with ``0``. ``selected
- -1 < !-- "-1" means a undefined dimension calculated during the model inference -->
+ -1
6
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MulticlassNonMaxSuppression_8.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MulticlassNonMaxSuppression_8.rst
index cd992042f1f534..5d0fe3c3c3a518 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MulticlassNonMaxSuppression_8.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MulticlassNonMaxSuppression_8.rst
@@ -5,8 +5,8 @@ MulticlassNonMaxSuppression
.. meta::
- :description: Learn about MulticlassNonMaxSuppression-8 - a sorting and
- maximization operation, which can be performed on two required
+ :description: Learn about MulticlassNonMaxSuppression-8 - a sorting and
+ maximization operation, which can be performed on two required
input tensors.
**Versioned name**: *MulticlassNonMaxSuppression-8*
@@ -168,7 +168,7 @@ When there is no box selected, ``selected_num`` is filled with ``0``. ``selected
- -1 < !-- "-1" means a undefined dimension calculated during the model inference -->
+ -1
6
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MulticlassNonMaxSuppression_9.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MulticlassNonMaxSuppression_9.rst
index 7caccb99ac3e6d..ae8187d60598b0 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MulticlassNonMaxSuppression_9.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/MulticlassNonMaxSuppression_9.rst
@@ -2,8 +2,8 @@
.. meta::
- :description: Learn about MulticlassNonMaxSuppression-8 - a sorting and
- maximization operation, which can be performed on two or three
+ :description: Learn about MulticlassNonMaxSuppression-8 - a sorting and
+ maximization operation, which can be performed on two or three
required input tensors.
**Versioned name**: *MulticlassNonMaxSuppression-9*
@@ -174,7 +174,7 @@ When there is no box selected, ``selected_num`` is filled with ``0``. ``selected
- -1 < !-- "-1" means a undefined dimension calculated during the model inference -->
+ -1
6
@@ -211,7 +211,7 @@ Another possible example with 3 inputs could be like:
- -1 < !-- "-1" means a undefined dimension calculated during the model inference -->
+ -1
6
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NMSRotated_13.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NMSRotated_13.rst
index 0400d62c414a6f..256e3ad76f637f 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NMSRotated_13.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NMSRotated_13.rst
@@ -131,11 +131,11 @@ Plugins that do not support dynamic output tensors produce ``selected_indices``
- 150 < !-- min(100, 10) * 3 * 5 -->
+ 150
3
- 150 < !-- min(100, 10) * 3 * 5 -->
+ 150
3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_4.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_4.rst
index 34102251ddfefc..161a68b255b1c9 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_4.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_4.rst
@@ -5,8 +5,8 @@ NonMaxSuppression
.. meta::
- :description: Learn about NonMaxSuppression-4 - a sorting and maximization
- operation, which can be performed on two required and three
+ :description: Learn about NonMaxSuppression-4 - a sorting and maximization
+ operation, which can be performed on two required and three
optional input tensors.
**Versioned name**: *NonMaxSuppression-4*
@@ -108,7 +108,7 @@ The output tensor is filled with -1s for output tensor elements if the total num
- 150 < !-- min(100, 10) * 3 * 5 -->
+ 150
3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_5.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_5.rst
index 21089de7445b14..f0756ca40d0b2a 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_5.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_5.rst
@@ -5,8 +5,8 @@ NonMaxSuppression
.. meta::
- :description: Learn about NonMaxSuppression-5 - a sorting and maximization
- operation, which can be performed on two required and four
+ :description: Learn about NonMaxSuppression-5 - a sorting and maximization
+ operation, which can be performed on two required and four
optional input tensors.
**Versioned name**: *NonMaxSuppression-5*
@@ -120,11 +120,11 @@ Plugins which do not support dynamic output tensors produce ``selected_indices``
- 150 < !-- min(100, 10) * 3 * 5 -->
+ 150
3
- 150 < !-- min(100, 10) * 3 * 5 -->
+ 150
3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_9.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_9.rst
index 6dece225f34b95..54386e7fb41529 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_9.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sort/NonMaxSuppression_9.rst
@@ -5,8 +5,8 @@ NonMaxSuppression
.. meta::
- :description: Learn about NonMaxSuppression-9 - a sorting and maximization
- operation, which can be performed on two required and four
+ :description: Learn about NonMaxSuppression-9 - a sorting and maximization
+ operation, which can be performed on two required and four
optional input tensors.
**Versioned name**: *NonMaxSuppression-9*
@@ -120,11 +120,11 @@ Plugins which do not support dynamic output tensors produce ``selected_indices``
- 150 < !-- min(100, 10) * 3 * 5 -->
+ 150
3
- 150 < !-- min(100, 10) * 3 * 5 -->
+ 150
3
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingBagOffsetsSum_3.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingBagOffsetsSum_3.rst
index 722da5f3f8c4cc..0a0cb67afb0f06 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingBagOffsetsSum_3.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingBagOffsetsSum_3.rst
@@ -5,7 +5,7 @@ EmbeddingBagOffsetsSum
.. meta::
- :description: Learn about EmbeddingBagOffsetsSum-3 - a sparse operation, which
+ :description: Learn about EmbeddingBagOffsetsSum-3 - a sparse operation, which
can be performed on three required and two optional input tensors.
**Versioned name**: *EmbeddingBagOffsetsSum-3*
@@ -38,26 +38,26 @@ EmbeddingBagOffsetsSum
**Example**
.. code-block:: cpp
-
+
- < !-- emb_table value is: [[-0.2, -0.6], [-0.1, -0.4], [-1.9, -1.8], [-1., 1.5], [ 0.8, -0.7]] -->
+
5
2
- < !-- indices value is: [0, 2, 3, 4] -->
+
4
- < !-- offsets value is: [0, 2, 2] - 3 "bags" containing [2,0,4-2] elements, second "bag" is empty -->
+
3
- < !-- default_index value is: 0 -->
- < !-- per_sample_weigths value is: [0.5, 0.5, 0.5, 0.5] -->
+
+
4
- < !-- output value is: [[-1.05, -1.2], [-0.2, -0.6], [-0.1, 0.4]] -->
+
3
2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingBagPackedSum_3.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingBagPackedSum_3.rst
index d389446505409d..9ef623ca7755eb 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingBagPackedSum_3.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingBagPackedSum_3.rst
@@ -5,7 +5,7 @@ EmbeddingBagPackedSum
.. meta::
- :description: Learn about EmbeddingBagPackedSum-3 - a sparse operation, which
+ :description: Learn about EmbeddingBagPackedSum-3 - a sparse operation, which
can be performed on two required and one optional input tensor.
**Versioned name**: *EmbeddingBagPackedSum-3*
@@ -36,24 +36,24 @@ EmbeddingBagPackedSum
**Example**
.. code-block:: cpp
-
+
- < !-- emb_table value is: [[-0.2, -0.6], [-0.1, -0.4], [-1.9, -1.8], [-1., 1.5], [ 0.8, -0.7]] -->
+
5
2
- < !-- indices value is: [[0, 2], [1, 2], [3, 4]] -->
+
3
2
- < !-- per_sample_weigths value is: [[0.5, 0.5], [0.5, 0.5], [0.5, 0.5]] -->
+
3
2
- < !-- output value is: [[-1.05, -1.2], [-1., -1.1], [-0.1, 0.4]] -->
+
3
2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingSegmentsSum_3.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingSegmentsSum_3.rst
index 583477506df52c..20ae7b30675361 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingSegmentsSum_3.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/sparse/EmbeddingSegmentsSum_3.rst
@@ -5,7 +5,7 @@ EmbeddingSegmentsSum
.. meta::
- :description: Learn about EmbeddingSegmentsSum-3 - a sparse operation, which
+ :description: Learn about EmbeddingSegmentsSum-3 - a sparse operation, which
can be performed on four required and two optional input tensors.
**Versioned name**: *EmbeddingSegmentsSum-3*
@@ -39,27 +39,27 @@ EmbeddingSegmentsSum
**Example**
.. code-block:: cpp
-
+
- < !-- emb_table value is: [[-0.2, -0.6], [-0.1, -0.4], [-1.9, -1.8], [-1., 1.5], [ 0.8, -0.7]] -->
+
5
2
- < !-- indices value is: [0, 2, 3, 4] -->
+
4
- < !-- segment_ids value is: [0, 0, 2, 2] - second segment is empty -->
+
4
- < !-- num_segments value is: 3 -->
- < !-- default_index value is: 0 -->
- < !-- per_sample_weigths value is: [0.5, 0.5, 0.5, 0.5] -->
+
+
+
4
- < !-- output value is: [[-1.05, -1.2], [-0.2, -0.6], [-0.1, 0.4]] -->
+
3
2
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/type/ConvertLike_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/type/ConvertLike_1.rst
index e93fe6cd59878a..3f2cf1d356de5a 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/type/ConvertLike_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/type/ConvertLike_1.rst
@@ -5,7 +5,7 @@ ConvertLike
.. meta::
- :description: Learn about ConvertLike-1 - an element-wise, type conversion
+ :description: Learn about ConvertLike-1 - an element-wise, type conversion
operation, which can be performed two required input tensors.
**Versioned name**: *ConvertLike-1*
@@ -45,19 +45,19 @@ where ``a`` and ``b`` correspond to ``data`` and ``like`` input tensors, respect
**Example**
.. code-block:: cpp
-
+
- < !-- type: int32 -->
+
256
56
- < !-- type: float32 -->
- 3 < !-- any data -->
+
+ 3
- < !-- result type: float32 -->
+
256
56
diff --git a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/type/Convert_1.rst b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/type/Convert_1.rst
index 3f209cc5168377..50c99c14d0b878 100644
--- a/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/type/Convert_1.rst
+++ b/docs/articles_en/documentation/openvino_ir/operation_sets/operations_specifications/type/Convert_1.rst
@@ -5,7 +5,7 @@ Convert
.. meta::
- :description: Learn about Convert-1 - an element-wise, type conversion
+ :description: Learn about Convert-1 - an element-wise, type conversion
operation, which can be performed on a single input tensor.
**Versioned name**: *Convert-1*
@@ -23,7 +23,7 @@ Conversion of negative signed integer to unsigned integer value happens in accor
The result of unsupported conversions is undefined. Output elements are represented as follows:
.. math::
-
+
o_{i} = Convert(a_{i})
where ``a`` corresponds to the input tensor.
@@ -52,17 +52,17 @@ where ``a`` corresponds to the input tensor.
**Example**
.. code-block:: cpp
-
+
- < !-- type: i32 -->
+
256
56
- < !-- result type: f32 -->
+
256
56
diff --git a/docs/articles_en/get_started/installing-openvino-overview/installing-openvino-windows-header/installing-openvino-from-archive-windows.rst b/docs/articles_en/get_started/installing-openvino-overview/installing-openvino-windows-header/installing-openvino-from-archive-windows.rst
index c92e716f888d58..92683e866d6448 100644
--- a/docs/articles_en/get_started/installing-openvino-overview/installing-openvino-windows-header/installing-openvino-from-archive-windows.rst
+++ b/docs/articles_en/get_started/installing-openvino-overview/installing-openvino-windows-header/installing-openvino-from-archive-windows.rst
@@ -148,16 +148,32 @@ throughout the OpenVINO documentation.
Step 2: Configure the Environment
+++++++++++++++++++++++++++++++++
-You must update several environment variables before you can compile and run OpenVINO™ applications. Open the Command Prompt, and run the ``setupvars.bat`` batch file to temporarily set your environment variables. If your ```` is not ``C:\Program Files (x86)\Intel\openvino_2023``, use the correct directory instead.
+You must update several environment variables before you can compile and run OpenVINO™ applications.
-.. code-block:: sh
+.. tab-set::
+
+ .. tab-item:: PowerShell
+ :sync: powershell
+
+ Open the PowerShell, and run the ``setupvars.ps1`` file to temporarily set your environment variables.
+
+ .. code-block:: sh
- "C:\Program Files (x86)\Intel\openvino_2023\setupvars.bat"
+ . /setupvars.ps1
+ .. tab-item:: Command Prompt
+ :sync: cmd
-.. important::
+ Open the Command Prompt, and run the ``setupvars.bat`` batch file to temporarily set your environment variables.
+ If your ```` is not ``C:\Program Files (x86)\Intel\openvino_2023``, use the correct directory instead.
+
+ .. code-block:: sh
+
+ "C:\Program Files (x86)\Intel\openvino_2023\setupvars.bat"
+
+ .. important::
- The above command must be re-run every time a new Command Prompt window is opened.
+ You need to run the command for each new Command Prompt window.
.. note::
diff --git a/docs/articles_en/learn_openvino/openvino_samples/get_started_demos.rst b/docs/articles_en/learn_openvino/openvino_samples/get_started_demos.rst
index 4d05da628df4fb..0725be596117d4 100644
--- a/docs/articles_en/learn_openvino/openvino_samples/get_started_demos.rst
+++ b/docs/articles_en/learn_openvino/openvino_samples/get_started_demos.rst
@@ -139,13 +139,29 @@ Instructions below show how to build sample applications with CMake. If you are
If you want to use Microsoft Visual Studio 2019, you are required to install CMake 3.14 or higher.
- To build the C or C++ sample applications on Windows, go to the ``\samples\c`` or ``\samples\cpp`` directory, respectively, and run the ``build_samples_msvc.bat`` batch file:
+ You can build the C or C++ sample applications on Windows with either PowerShell or Command Prompt.
- .. code-block:: sh
+ .. tab-set::
+
+ .. tab-item:: PowerShell
+ :sync: powershell
+
+ To build Samples with PowerShell, run the following command:
+
+ .. code-block:: sh
+
+ & /build_samples.ps1
+
+ .. tab-item:: Command Prompt
+ :sync: cmd
+
+ To build Samples with CMD, go to the ``\samples\c`` or ``\samples\cpp`` directory, respectively, and run the ``build_samples_msvc.bat`` batch file:
- build_samples_msvc.bat
+ .. code-block:: sh
- By default, the script automatically detects the highest Microsoft Visual Studio version installed on the machine and uses it to create and build a solution for a sample code
+ build_samples_msvc.bat
+
+ By default, the script automatically detects the highest Microsoft Visual Studio version installed on the system and uses it to create and build a solution for a sample code
Once the build is completed, you can find sample binaries in the following folders:
@@ -295,6 +311,14 @@ To run the code sample with an input image using the IR model:
source /setupvars.sh
+.. note::
+
+ OpenVINO environment variables can be set up by running the following command in PowerShell:
+
+ .. code-block:: sh
+
+ . /setupvars.ps1
+
2. Go to the code samples release directory created when you built the samples earlier:
.. tab-set::
diff --git a/docs/articles_en/openvino_workflow/running_inference_with_openvino/integrate_with_your_application.rst b/docs/articles_en/openvino_workflow/running_inference_with_openvino/integrate_with_your_application.rst
index 3d60fa22e0c512..7859f12d75d330 100644
--- a/docs/articles_en/openvino_workflow/running_inference_with_openvino/integrate_with_your_application.rst
+++ b/docs/articles_en/openvino_workflow/running_inference_with_openvino/integrate_with_your_application.rst
@@ -21,7 +21,7 @@ Integrate OpenVINO™ with Your Application
Following these steps, you can implement a typical OpenVINO™ Runtime inference
pipeline in your application. Before proceeding, make sure you have
-:doc:`installed OpenVINO Runtime ` and set environment variables (run ``/setupvars.sh`` for Linux or ``setupvars.bat`` for Windows, otherwise, the ``OpenVINO_DIR`` variable won't be configured properly to pass ``find_package`` calls).
+:doc:`installed OpenVINO Runtime ` and set environment variables (run ``/setupvars.sh`` for Linux, ``setupvars.ps1`` for Windows PowerShell, or ``setupvars.bat`` for Windows CMD), otherwise, the ``OpenVINO_DIR`` variable won't be configured properly to pass ``find_package`` calls).
.. image:: _static/images/IMPLEMENT_PIPELINE_with_API_C.svg
diff --git a/docs/dev/installing.md b/docs/dev/installing.md
index b1be0f2345ca82..a85fc68d44fa5d 100644
--- a/docs/dev/installing.md
+++ b/docs/dev/installing.md
@@ -1,7 +1,7 @@
# Installing
Once the project is built you can install OpenVINO™ Runtime into custom location:
-
+
```
cmake --install --prefix
```
@@ -93,12 +93,17 @@ cd /samples/cpp
./build_samples.sh
```
-Windows:
+Windows Command Prompt:
```sh
cd \samples\cpp
build_samples_msvc.bat
```
+Windows PowerShell:
+```sh
+& /build_samples.ps1
+```
+
2. Install OpenVINO Development Tools
> **NOTE**: To build OpenVINO Development Tools (Model Optimizer, Post-Training Optimization Tool, Model Downloader, and Open Model Zoo tools) wheel package locally you are required to use the CMake option: `-DENABLE_WHEEL=ON`.
@@ -165,11 +170,16 @@ Linux and macOS:
source /setupvars.sh
```
-Windows:
+Windows Command Prompt:
```bat
\setupvars.bat
```
+Windows PowerShell:
+```bat
+. /setupvars.ps1
+```
+
The following commands run the Image Classification Code Sample using the [`dog.bmp`](https://storage.openvinotoolkit.org/data/test_data/images/224x224/dog.bmp) file as an input image, the model in IR format from the `ir` directory, and on different hardware devices:
Linux and macOS:
@@ -265,4 +275,3 @@ target_link_libraries(ov_c_app PRIVATE openvino::runtime::c)
* [OpenVINO Developer Documentation](index.md)
* [OpenVINO How to Build](build.md)
-
\ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3d7e164d1f9516..67ed291ff62913 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -23,6 +23,4 @@ add_subdirectory(bindings)
if(ENABLE_TESTS)
add_subdirectory(core/tests)
add_subdirectory(tests)
-else()
- add_subdirectory(tests/ov_helpers/ov_models/ov_builders)
endif()
diff --git a/src/bindings/c/docs/api_overview.md b/src/bindings/c/docs/api_overview.md
index 88f04b455a79ee..e0bbc5108cf769 100644
--- a/src/bindings/c/docs/api_overview.md
+++ b/src/bindings/c/docs/api_overview.md
@@ -27,7 +27,10 @@ Supported Python* versions:
To configure the environment for the OpenVINO C* API, run:
- On Ubuntu 20.04/22.04: `source /setupvars.sh .`
-- On Windows 10/11: `\setupvars.bat `
+- On Windows 10/11:
+
+ * `. /setupvars.ps1` in PowerShell
+ * `\setupvars.bat ` in Command Prompt
The script automatically detects latest installed C* version and configures required environment if the version is supported.
@@ -78,7 +81,7 @@ typedef struct {
typedef struct ov_dimension {
int64_t min;
-
+
int64_t max;
} ov_dimension_t;
diff --git a/src/bindings/js/node/include/infer_request.hpp b/src/bindings/js/node/include/infer_request.hpp
index f39489b23ef4ad..483ac422e69426 100644
--- a/src/bindings/js/node/include/infer_request.hpp
+++ b/src/bindings/js/node/include/infer_request.hpp
@@ -102,7 +102,7 @@ class InferRequestWrap : public Napi::ObjectWrap {
/** @brief Checks incoming Napi::Value and calls overloaded infer() method */
Napi::Value infer_dispatch(const Napi::CallbackInfo& info);
-// 128760
+// 131123
#ifndef _WIN32
/** @brief Checks incoming Napi::Value and asynchronously returns the result of inference. */
Napi::Value infer_async(const Napi::CallbackInfo& info);
diff --git a/src/bindings/js/node/src/infer_request.cpp b/src/bindings/js/node/src/infer_request.cpp
index 713c9b9e969113..b8e1f809af2e2a 100644
--- a/src/bindings/js/node/src/infer_request.cpp
+++ b/src/bindings/js/node/src/infer_request.cpp
@@ -198,7 +198,7 @@ void InferRequestWrap::infer(const Napi::Object& inputs) {
Napi::Value InferRequestWrap::get_compiled_model(const Napi::CallbackInfo& info) {
return CompiledModelWrap::wrap(info.Env(), _infer_request.get_compiled_model());
}
-// 128760
+// 131123
#ifndef _WIN32
void FinalizerCallback(Napi::Env env, void* finalizeData, TsfnContext* context) {
context->native_thread.join();
diff --git a/src/bindings/js/node/tests/infer_request.test.js b/src/bindings/js/node/tests/infer_request.test.js
index 159b34f938f6e2..bd05da9400c998 100644
--- a/src/bindings/js/node/tests/infer_request.test.js
+++ b/src/bindings/js/node/tests/infer_request.test.js
@@ -79,7 +79,7 @@ describe('InferRequest', () => {
});
});
- // 128760
+ // 131123
if (os.platform() !== 'win32') {
it('Test inferAsync(inputData: { [inputName: string]: Tensor })', () => {
inferRequestAsync.inferAsync({ data: tensor }).then(result => {
diff --git a/src/bindings/python/tests/test_graph/test_gather.py b/src/bindings/python/tests/test_graph/test_gather.py
index 3431bcb540e7a7..c1da1c36fff15a 100644
--- a/src/bindings/python/tests/test_graph/test_gather.py
+++ b/src/bindings/python/tests/test_graph/test_gather.py
@@ -2,7 +2,7 @@
# Copyright (C) 2018-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
-from openvino import Type
+from openvino import Tensor, Type
import openvino.runtime.opset8 as ov
import numpy as np
import pytest
@@ -24,3 +24,26 @@ def test_gather(input_shape, indices, axis, expected_shape, batch_dims):
assert node.get_output_size() == 1
assert list(node.get_output_shape(0)) == expected_shape
assert node.get_output_element_type(0) == Type.f32
+
+
+@pytest.mark.parametrize(("data_str", "input_shape", "indices", "axis", "expected_shape", "batch_dims"), [
+ (["Abc", " C de, Fghi.."], [2], [0], [0], [1], 0),
+ (["Abc", " C de, Fghi.."], [1, 2], [1], [1], [1], 1),
+])
+def test_gather_string(data_str, input_shape, indices, axis, expected_shape, batch_dims):
+ input_data = np.array(data_str).reshape(input_shape)
+ input_param = ov.parameter(input_shape, name="input_data", dtype=Type.string)
+
+ input_indices = np.array(indices, np.int32)
+ input_axis = np.array(axis, np.int32)
+
+ node = ov.gather(input_param, input_indices, input_axis, batch_dims)
+ out_tensor = Tensor(Type.string, input_shape)
+
+ assert node.get_type_name() == "Gather"
+ assert node.get_output_size() == 1
+ assert list(node.get_output_shape(0)) == expected_shape
+ assert node.get_output_element_type(0) == Type.string
+
+ node.evaluate([out_tensor], [Tensor(input_data), Tensor(input_indices), Tensor(input_axis)])
+ assert np.array(data_str[indices[0]]) == out_tensor.str_data
diff --git a/src/common/low_precision_transformations/tests/eltwise_transformation_is_broadcasted_test.cpp b/src/common/low_precision_transformations/tests/eltwise_transformation_is_broadcasted_test.cpp
index b953ea7b14c9e5..0a3c75649376b0 100644
--- a/src/common/low_precision_transformations/tests/eltwise_transformation_is_broadcasted_test.cpp
+++ b/src/common/low_precision_transformations/tests/eltwise_transformation_is_broadcasted_test.cpp
@@ -5,8 +5,6 @@
#include
#include "low_precision/eltwise_base_transformation.hpp"
-#include
-
using namespace ::testing;
using namespace std;
diff --git a/src/common/low_precision_transformations/tests/precision_details_test.cpp b/src/common/low_precision_transformations/tests/precision_details_test.cpp
index f0c158f4d00c64..e8a81f200cd1fa 100644
--- a/src/common/low_precision_transformations/tests/precision_details_test.cpp
+++ b/src/common/low_precision_transformations/tests/precision_details_test.cpp
@@ -7,8 +7,6 @@
#include "low_precision/layer_transformation.hpp"
#include "low_precision/fake_quantize.hpp"
-#include
-
using namespace ::testing;
using namespace std;
using namespace ov::pass::low_precision;
diff --git a/src/common/low_precision_transformations/tests/unit/calclulate_levels_test.cpp b/src/common/low_precision_transformations/tests/unit/calclulate_levels_test.cpp
index 6344f22f359796..35917c62491015 100644
--- a/src/common/low_precision_transformations/tests/unit/calclulate_levels_test.cpp
+++ b/src/common/low_precision_transformations/tests/unit/calclulate_levels_test.cpp
@@ -3,7 +3,6 @@
//
#include
-#include
#include "low_precision/network_helper.hpp"
diff --git a/src/common/low_precision_transformations/tests/unit/data_precision_check.cpp b/src/common/low_precision_transformations/tests/unit/data_precision_check.cpp
index f9f447a6222e24..4d6b83c9908046 100644
--- a/src/common/low_precision_transformations/tests/unit/data_precision_check.cpp
+++ b/src/common/low_precision_transformations/tests/unit/data_precision_check.cpp
@@ -4,7 +4,6 @@
#include
#include
-#include
#include "low_precision/layer_transformation.hpp"
#include "low_precision/network_helper.hpp"
diff --git a/src/common/low_precision_transformations/tests/unit/layer_transformation_get_data_precision.cpp b/src/common/low_precision_transformations/tests/unit/layer_transformation_get_data_precision.cpp
index a9d353c7440610..2002a5fa5327f3 100644
--- a/src/common/low_precision_transformations/tests/unit/layer_transformation_get_data_precision.cpp
+++ b/src/common/low_precision_transformations/tests/unit/layer_transformation_get_data_precision.cpp
@@ -4,7 +4,6 @@
#include
#include
-#include
#include "low_precision/layer_transformation.hpp"
#include "low_precision/network_helper.hpp"
diff --git a/src/common/low_precision_transformations/tests/unit/reshape_test.cpp b/src/common/low_precision_transformations/tests/unit/reshape_test.cpp
index 74e0e8224d75b8..045e9714166226 100644
--- a/src/common/low_precision_transformations/tests/unit/reshape_test.cpp
+++ b/src/common/low_precision_transformations/tests/unit/reshape_test.cpp
@@ -2,7 +2,6 @@
// SPDX-License-Identifier: Apache-2.0
//
-#include
#include
#include "low_precision/reshape.hpp"
diff --git a/src/common/low_precision_transformations/tests/unit/update_reshape_values.cpp b/src/common/low_precision_transformations/tests/unit/update_reshape_values.cpp
index 1b29f8f18a8c6f..56c605fda53ed4 100644
--- a/src/common/low_precision_transformations/tests/unit/update_reshape_values.cpp
+++ b/src/common/low_precision_transformations/tests/unit/update_reshape_values.cpp
@@ -2,7 +2,6 @@
// SPDX-License-Identifier: Apache-2.0
//
-#include
#include
#include "low_precision/network_helper.hpp"
diff --git a/src/core/dev_api/legacy_op_extension.hpp b/src/core/dev_api/legacy_op_extension.hpp
deleted file mode 100644
index 514e31da604b4c..00000000000000
--- a/src/core/dev_api/legacy_op_extension.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (C) 2018-2023 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#pragma once
-
-#include "openvino/core/op_extension.hpp"
-
-namespace ov {
-
-/** @brief Class to distinguish legacy extension. */
-class OPENVINO_API LegacyOpExtension : public BaseOpExtension {
-public:
- ~LegacyOpExtension() override;
-};
-} // namespace ov
diff --git a/src/core/docs/api_details.md b/src/core/docs/api_details.md
index 99b1397525bfb5..87383f1a15b7e3 100644
--- a/src/core/docs/api_details.md
+++ b/src/core/docs/api_details.md
@@ -1,7 +1,6 @@
# OpenVINO Core API
OpenVINO Core API contains two folders:
- * [ngraph](../include/ngraph/) - is a legacy API, this API is no longer being developed. Only aliases to new operations and operation sets extend this API.
* [openvino](../include/openvino/) - current public API, this part is described below.
## Structure of Core API
diff --git a/src/core/include/ngraph/partial_shape.hpp b/src/core/include/ngraph/partial_shape.hpp
deleted file mode 100644
index 4e47d5551442fb..00000000000000
--- a/src/core/include/ngraph/partial_shape.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (C) 2018-2023 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#pragma once
-
-#if !defined(IN_OV_COMPONENT) && !defined(NGRAPH_LEGACY_HEADER_INCLUDED)
-# define NGRAPH_LEGACY_HEADER_INCLUDED
-# ifdef _MSC_VER
-# pragma message( \
- "The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# else
-# warning("The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# endif
-#endif
-
-#include "ngraph/rank.hpp"
-#include "ngraph/shape.hpp"
-#include "openvino/core/partial_shape.hpp"
-#include "openvino/op/util/attr_types.hpp"
-
-namespace ngraph {
-using ov::PartialShape;
-} // namespace ngraph
diff --git a/src/core/include/ngraph/rank.hpp b/src/core/include/ngraph/rank.hpp
deleted file mode 100644
index f33600e8e3c074..00000000000000
--- a/src/core/include/ngraph/rank.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright (C) 2018-2023 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#pragma once
-
-#if !defined(IN_OV_COMPONENT) && !defined(NGRAPH_LEGACY_HEADER_INCLUDED)
-# define NGRAPH_LEGACY_HEADER_INCLUDED
-# ifdef _MSC_VER
-# pragma message( \
- "The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# else
-# warning("The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# endif
-#endif
-
-#include "openvino/core/rank.hpp"
-
-namespace ngraph {
-using ov::Rank;
-} // namespace ngraph
diff --git a/src/core/include/ngraph/shape.hpp b/src/core/include/ngraph/shape.hpp
deleted file mode 100644
index cb802b7467a3ba..00000000000000
--- a/src/core/include/ngraph/shape.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (C) 2018-2023 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#pragma once
-
-#if !defined(IN_OV_COMPONENT) && !defined(NGRAPH_LEGACY_HEADER_INCLUDED)
-# define NGRAPH_LEGACY_HEADER_INCLUDED
-# ifdef _MSC_VER
-# pragma message( \
- "The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# else
-# warning("The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# endif
-#endif
-
-#include
-#include
-#include
-
-#include "ngraph/strides.hpp"
-#include "openvino/core/shape.hpp"
-
-namespace ngraph {
-using ov::is_scalar;
-using ov::is_vector;
-using ov::row_major_stride;
-using ov::row_major_strides;
-using ov::Shape;
-using ov::shape_size;
-} // namespace ngraph
diff --git a/src/core/include/ngraph/strides.hpp b/src/core/include/ngraph/strides.hpp
deleted file mode 100644
index 9247549050bd67..00000000000000
--- a/src/core/include/ngraph/strides.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2018-2023 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#pragma once
-
-#if !defined(IN_OV_COMPONENT) && !defined(NGRAPH_LEGACY_HEADER_INCLUDED)
-# define NGRAPH_LEGACY_HEADER_INCLUDED
-# ifdef _MSC_VER
-# pragma message( \
- "The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# else
-# warning("The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# endif
-#endif
-
-#include
-#include
-#include
-
-#include "openvino/core/strides.hpp"
-
-namespace ngraph {
-using ov::Strides;
-} // namespace ngraph
diff --git a/src/core/include/ngraph/validation_util.hpp b/src/core/include/ngraph/validation_util.hpp
deleted file mode 100644
index 672b433ff1adca..00000000000000
--- a/src/core/include/ngraph/validation_util.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright (C) 2018-2024 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#pragma once
-
-#if !defined(IN_OV_COMPONENT) && !defined(NGRAPH_LEGACY_HEADER_INCLUDED)
-# define NGRAPH_LEGACY_HEADER_INCLUDED
-# ifdef _MSC_VER
-# pragma message( \
- "The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# else
-# warning("The nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-# endif
-#endif
-
-#include
-
-#include "openvino/core/coordinate_diff.hpp"
-#include "openvino/op/constant.hpp"
-#include "openvino/op/util/attr_types.hpp"
-#include "openvino/op/util/variable_context.hpp"
-#include "openvino/runtime/tensor.hpp"
-
-namespace ngraph {
-using ov::CoordinateDiff;
-using ov::Shape;
-using ov::Strides;
-using ov::op::v0::Constant;
-
-namespace element {
-using ov::element::Type;
-using ov::element::Type_t;
-} // namespace element
-
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API
-Strides conv_default_strides(const ov::Node* node,
- const ov::PartialShape& data_batch_shape,
- const ov::PartialShape& filters_shape);
-
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API
-CoordinateDiff conv_default_padding(const ov::Node* node,
- const ov::PartialShape& data_batch_shape,
- const ov::PartialShape& filters_shape);
-
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API
-ov::PartialShape infer_windowed_reduction_output_shape(const ov::Node* node,
- const ov::PartialShape& data_shape,
- const Strides& data_dilation,
- const CoordinateDiff& data_padding_below,
- const CoordinateDiff& data_padding_above,
- const ov::PartialShape& window_shape,
- const Strides& window_strides,
- const Strides& window_dilation,
- bool is_window_all_in_padding_allowed,
- bool ceil_mode = false);
-
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-void validate_conv_params_spatial_dimensions(const ov::Node* node,
- const size_t num_spatial_dims,
- const ov::op::PadType auto_pad,
- Strides& strides,
- Strides& dilations,
- CoordinateDiff& pads_begin,
- CoordinateDiff& pads_end);
-
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API
-ov::PartialShape infer_batched_pooling_forward(const ov::Node* node,
- const ov::PartialShape& data_batch_shape,
- const CoordinateDiff& data_padding_below,
- const CoordinateDiff& data_padding_above,
- const ov::PartialShape& window_shape,
- const Strides& window_strides,
- bool is_window_all_in_padding_allowed,
- bool ceil_mode = false,
- const Strides& window_dilation = Strides{});
-
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API
-ov::PartialShape infer_slice_shape(const ov::Node* node,
- const ov::PartialShape& input_shape,
- const std::vector& begin,
- const std::vector& end,
- const std::vector& strides,
- const ov::AxisSet& begin_mask,
- const ov::AxisSet& end_mask,
- const ov::AxisSet& new_axis_mask,
- const ov::AxisSet& shrink_axis_mask,
- const ov::AxisSet& ellipsis_mask);
-
-/// \brief Returns a Constant storing scalar value equal to std::numeric_limits::max()
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API std::shared_ptr get_constant_max_of_type(element::Type_t t);
-
-/// \brief Returns a Constant storing scalar value equal to std::numeric_limits::min()
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API std::shared_ptr get_constant_min_of_type(element::Type_t t);
-
-/// \brief Returns a Constant storing scalar value equal to std::numeric_limits::lowest()
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API std::shared_ptr get_constant_lowest_of_type(element::Type_t t);
-
-namespace opset1 {
-///
-/// \brief Calculates padding values for ConvolutionBackpropData operator.
-///
-/// \param[in] input_data_shape The input data shape.
-/// \param[in] filters_shape The filters shape.
-/// \param[in] output_shape The output shape defined only for spatial dimentions.
-/// \param[in] strides The strides values.
-/// \param[in] dilations The dilations values.
-/// \param[in] auto_pad_type The automatic padding mode.
-/// \param[in] output_padding The output padding values.
-/// \param pads_begin The placeholder for paddings at the beginning of axis.
-/// \param pads_end The placeholder for paddings at the end of axis.
-///
-OPENVINO_DEPRECATED("The nGraph API is deprecated and will be removed in the 2024.0 release. "
- "For instructions on transitioning to the new API, please refer to "
- "https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html")
-OPENVINO_API
-void infer_conv_backprop_auto_padding(const Shape& input_data_shape,
- const Shape& filters_shape,
- const Shape& output_shape,
- const Strides& strides,
- const Strides& dilations,
- const ov::op::PadType auto_pad_type,
- const CoordinateDiff& output_padding,
- CoordinateDiff& pads_begin,
- CoordinateDiff& pads_end);
-} // namespace opset1
-} // namespace ngraph
diff --git a/src/core/include/openvino/core/core.hpp b/src/core/include/openvino/core/core.hpp
index 0239a7970de6ab..823218666f2ffa 100644
--- a/src/core/include/openvino/core/core.hpp
+++ b/src/core/include/openvino/core/core.hpp
@@ -13,7 +13,6 @@
#include "openvino/core/coordinate.hpp"
#include "openvino/core/coordinate_diff.hpp"
#include "openvino/core/core_visibility.hpp"
-#include "openvino/core/deprecated.hpp"
#include "openvino/core/dimension.hpp"
#include "openvino/core/enum_mask.hpp"
#include "openvino/core/enum_names.hpp"
diff --git a/src/core/include/openvino/core/descriptor/tensor.hpp b/src/core/include/openvino/core/descriptor/tensor.hpp
index d7be44f6e025b3..8a37af24710e79 100644
--- a/src/core/include/openvino/core/descriptor/tensor.hpp
+++ b/src/core/include/openvino/core/descriptor/tensor.hpp
@@ -46,8 +46,6 @@ class OPENVINO_API Tensor {
Tensor(const element::Type& element_type,
const PartialShape& pshape,
const std::unordered_set& names = {});
- OPENVINO_DEPRECATED("This constructor is deprecated. Please use constructor with set of names")
- Tensor(const element::Type& element_type, const PartialShape& pshape, const std::string& name);
Tensor(const element::Type& element_type, const PartialShape& pshape, Node* node, size_t node_output_number);
Tensor(const Tensor&) = delete;
diff --git a/src/core/include/openvino/core/node.hpp b/src/core/include/openvino/core/node.hpp
index 393dc2be32d226..9006ab57a3a2a8 100644
--- a/src/core/include/openvino/core/node.hpp
+++ b/src/core/include/openvino/core/node.hpp
@@ -21,7 +21,6 @@
#include "openvino/core/attribute_visitor.hpp"
#include "openvino/core/core_visibility.hpp"
-#include "openvino/core/deprecated.hpp"
#include "openvino/core/descriptor/input.hpp"
#include "openvino/core/descriptor/output.hpp"
#include "openvino/core/descriptor/tensor.hpp"
diff --git a/src/core/include/openvino/core/type.hpp b/src/core/include/openvino/core/type.hpp
index 6ceaa39cbe08e0..ca4435c47c32ea 100644
--- a/src/core/include/openvino/core/type.hpp
+++ b/src/core/include/openvino/core/type.hpp
@@ -14,7 +14,6 @@
#include
#include "openvino/core/core_visibility.hpp"
-#include "openvino/core/deprecated.hpp"
namespace ov {
@@ -115,9 +114,7 @@ struct AsTypePtr> {
/// Type, nullptr otherwise
template
auto as_type_ptr(const U& value) -> decltype(::ov::util::AsTypePtr::template call(value)) {
- OPENVINO_SUPPRESS_DEPRECATED_START
return ::ov::util::AsTypePtr::template call(value);
- OPENVINO_SUPPRESS_DEPRECATED_END
}
} // namespace ov
diff --git a/src/core/include/openvino/op/gather.hpp b/src/core/include/openvino/op/gather.hpp
index dcc53a465bf718..56cb602c453ed9 100644
--- a/src/core/include/openvino/op/gather.hpp
+++ b/src/core/include/openvino/op/gather.hpp
@@ -74,7 +74,7 @@ class OPENVINO_API Gather : public op::util::GatherBase {
bool visit_attributes(AttributeVisitor& visitor) override;
void validate_and_infer_types() override;
int64_t get_batch_dims() const;
-
+ bool has_evaluate() const override;
std::shared_ptr clone_with_new_inputs(const OutputVector& new_args) const override;
};
} // namespace v8
diff --git a/src/core/include/openvino/op/interpolate.hpp b/src/core/include/openvino/op/interpolate.hpp
index ac6876e1286cc6..f48297e7257c8c 100644
--- a/src/core/include/openvino/op/interpolate.hpp
+++ b/src/core/include/openvino/op/interpolate.hpp
@@ -44,16 +44,7 @@ class OPENVINO_API Interpolate : public Op {
std::vector pads_end;
};
- enum class InterpolateMode {
- NEAREST,
- LINEAR,
- CUBIC,
- AREA,
- nearest OPENVINO_ENUM_DEPRECATED("Please use NEAREST instead") = NEAREST,
- linear OPENVINO_ENUM_DEPRECATED("Please use LINEAR instead") = LINEAR,
- cubic OPENVINO_ENUM_DEPRECATED("Please use CUBIC instead") = CUBIC,
- area OPENVINO_ENUM_DEPRECATED("Please use AREA instead") = AREA
- };
+ enum class InterpolateMode { NEAREST, LINEAR, CUBIC, AREA };
Interpolate() = default;
/// \brief Constructs a Interpolate operation
diff --git a/src/core/include/openvino/op/util/convolution_base.hpp b/src/core/include/openvino/op/util/convolution_base.hpp
index 0681d1a2e8e2b0..920fa17d74b13a 100644
--- a/src/core/include/openvino/op/util/convolution_base.hpp
+++ b/src/core/include/openvino/op/util/convolution_base.hpp
@@ -65,10 +65,6 @@ class OPENVINO_API ConvolutionBase : public Op {
const CoordinateDiff& get_pads_end() const {
return m_pads_end;
}
- OPENVINO_DEPRECATED("This method is deprecated and will be removed soon. Please use set_pads_end instead.")
- void set_adding_above(const CoordinateDiff& pads_end) {
- set_pads_end(pads_end);
- }
void set_pads_end(const CoordinateDiff& pads_end) {
m_pads_end = pads_end;
}
diff --git a/src/core/include/openvino/op/util/max_pool_base.hpp b/src/core/include/openvino/op/util/max_pool_base.hpp
index 4e8d9937ea57ac..e633c364a0bc3c 100644
--- a/src/core/include/openvino/op/util/max_pool_base.hpp
+++ b/src/core/include/openvino/op/util/max_pool_base.hpp
@@ -58,10 +58,6 @@ class OPENVINO_API MaxPoolBase : public Op {
const Shape& get_pads_end() const {
return m_pads_end;
}
- OPENVINO_DEPRECATED("This method is deprecated and will be removed soon. Please use set_pads_end instead.")
- void set_adding_above(const Shape& pads_end) {
- m_pads_end = pads_end;
- }
void set_pads_end(Shape pads_end);
/// \return The pad type for pooling.
diff --git a/src/core/include/openvino/op/util/variable_value.hpp b/src/core/include/openvino/op/util/variable_value.hpp
index 574a180882949c..57e25e893e2174 100644
--- a/src/core/include/openvino/op/util/variable_value.hpp
+++ b/src/core/include/openvino/op/util/variable_value.hpp
@@ -8,7 +8,6 @@
#include
#include "openvino/core/core_visibility.hpp"
-#include "openvino/core/deprecated.hpp"
#include "openvino/runtime/tensor.hpp"
namespace ov {
@@ -32,20 +31,14 @@ class OPENVINO_API VariableValue {
explicit VariableValue(const ov::Tensor& value);
/// \brief Constructor for VariableValue.
- /// \deprecated This method is deprecated and will be removed in 2024.0 release. Please use method with ov::Tensor
- /// instead
/// \param value Data for Variable.
/// \param reset The current state of the reset flag.
VariableValue(const ov::Tensor& value, bool reset);
/// \brief Returns the current stored data.
- /// \deprecated This method is deprecated and will be removed in 2024.0 release. Please use method with ov::Tensor
- /// instead
const ov::Tensor& get_state() const;
/// \brief Sets new values for Variable.
- /// \deprecated This method is deprecated and will be removed in 2024.0 release. Please use method with ov::Tensor
- /// instead
/// \param value New data for Variable.
void set_state(const ov::Tensor& value);
diff --git a/src/core/include/openvino/opsets/opset.hpp b/src/core/include/openvino/opsets/opset.hpp
index c393eeeb581d2d..f14fc6feb85d7f 100644
--- a/src/core/include/openvino/opsets/opset.hpp
+++ b/src/core/include/openvino/opsets/opset.hpp
@@ -10,7 +10,6 @@
#include
#include
-#include "openvino/core/deprecated.hpp"
#include "openvino/core/node.hpp"
namespace ov {
diff --git a/src/core/include/openvino/pass/pass.hpp b/src/core/include/openvino/pass/pass.hpp
index 9cbbce52ba8b50..7f5ee620bfeb41 100644
--- a/src/core/include/openvino/pass/pass.hpp
+++ b/src/core/include/openvino/pass/pass.hpp
@@ -9,7 +9,6 @@
#include
#include "openvino/core/core_visibility.hpp"
-#include "openvino/core/deprecated.hpp"
#include "openvino/core/enum_mask.hpp"
#include "openvino/core/model.hpp"
#include "openvino/core/node.hpp"
diff --git a/src/core/include/openvino/pass/pass_config.hpp b/src/core/include/openvino/pass/pass_config.hpp
index 04f020d3a2bdd6..67821abd8e1ec9 100644
--- a/src/core/include/openvino/pass/pass_config.hpp
+++ b/src/core/include/openvino/pass/pass_config.hpp
@@ -9,7 +9,6 @@
#include
#include "openvino/core/core_visibility.hpp"
-#include "openvino/core/deprecated.hpp"
#include "openvino/core/model.hpp"
#include "openvino/core/node.hpp"
diff --git a/src/core/include/openvino/pass/serialize.hpp b/src/core/include/openvino/pass/serialize.hpp
index 759bc3e7973adb..332b8d76b90e6d 100644
--- a/src/core/include/openvino/pass/serialize.hpp
+++ b/src/core/include/openvino/pass/serialize.hpp
@@ -14,7 +14,6 @@
namespace ov {
namespace pass {
-OPENVINO_SUPPRESS_DEPRECATED_START
/**
* @brief Serialize transformation converts ov::Model into IR files
* @attention
@@ -75,7 +74,5 @@ class OPENVINO_API StreamSerialize : public ov::pass::ModelPass {
std::function m_custom_data_serializer;
const Serialize::Version m_version;
};
-OPENVINO_SUPPRESS_DEPRECATED_END
-
} // namespace pass
} // namespace ov
diff --git a/src/core/shape_inference/include/pooling_shape_inference_util.hpp b/src/core/shape_inference/include/pooling_shape_inference_util.hpp
index 36c3eef787fe89..f53ef153580b4c 100644
--- a/src/core/shape_inference/include/pooling_shape_inference_util.hpp
+++ b/src/core/shape_inference/include/pooling_shape_inference_util.hpp
@@ -248,12 +248,10 @@ TRShape out_shape_infer(const TOp* op, const std::vector& input_shapes,
const auto& data_rank = data_shape.rank();
- OPENVINO_SUPPRESS_DEPRECATED_START
NODE_VALIDATION_CHECK(op,
ov::util::is_rank_compatible_any_of(data_rank, {3, 4, 5}),
"Expected a 3D, 4D or 5D tensor for the input. Got: ",
data_shape);
- OPENVINO_SUPPRESS_DEPRECATED_END
TRShape output_shape;
if (data_rank.is_static()) {
diff --git a/src/core/shape_inference/include/utils.hpp b/src/core/shape_inference/include/utils.hpp
index b0a7c508619d83..18d6158b41675e 100644
--- a/src/core/shape_inference/include/utils.hpp
+++ b/src/core/shape_inference/include/utils.hpp
@@ -8,7 +8,6 @@
#include "element_visitor.hpp"
#include "openvino/core/bound_evaluation_util.hpp"
-#include "openvino/core/deprecated.hpp"
#include "openvino/opsets/opset1.hpp"
#include "ov_optional.hpp"
#include "shape_infer_type_utils.hpp"
diff --git a/src/core/src/descriptor/tensor.cpp b/src/core/src/descriptor/tensor.cpp
index 18c9fd3ff18f96..062a740bbd80b6 100644
--- a/src/core/src/descriptor/tensor.cpp
+++ b/src/core/src/descriptor/tensor.cpp
@@ -17,13 +17,6 @@ ov::descriptor::Tensor::Tensor(const element::Type& element_type,
set_names(names);
}
-ov::descriptor::Tensor::Tensor(const element::Type& element_type, const PartialShape& pshape, const std::string& name)
- : m_element_type(element_type),
- m_partial_shape(pshape),
- m_shape_changed(true) {
- m_name_it = m_names.cend();
-}
-
ov::descriptor::Tensor::Tensor(const element::Type& element_type,
const PartialShape& pshape,
ov::Node* node,
diff --git a/src/core/src/evaluator.hpp b/src/core/src/evaluator.hpp
index 8705b44c3eb5f5..d784077a030222 100644
--- a/src/core/src/evaluator.hpp
+++ b/src/core/src/evaluator.hpp
@@ -9,6 +9,7 @@
#include
#include "openvino/core/node.hpp"
+#include "openvino/core/shape.hpp"
#include "openvino/core/type/element_type_traits.hpp"
namespace ov {
diff --git a/src/core/src/legacy_op_extension.cpp b/src/core/src/legacy_op_extension.cpp
deleted file mode 100644
index c943d20ef9d88a..00000000000000
--- a/src/core/src/legacy_op_extension.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (C) 2018-2023 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#include "legacy_op_extension.hpp"
-
-ov::LegacyOpExtension::~LegacyOpExtension() = default;
diff --git a/src/core/src/op/experimental_detectron_topkrois.cpp b/src/core/src/op/experimental_detectron_topkrois.cpp
index 5aa1d1cf5b2cc2..3ef507c29542f5 100644
--- a/src/core/src/op/experimental_detectron_topkrois.cpp
+++ b/src/core/src/op/experimental_detectron_topkrois.cpp
@@ -38,9 +38,7 @@ void op::v6::ExperimentalDetectronTopKROIs::validate_and_infer_types() {
(out_et.is_dynamic() || out_et.is_real()),
"ROIs and probabilities of ROIs must same floating-point type.");
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto input_shapes = ov::util::get_node_input_partial_shapes(*this);
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto output_shapes = shape_infer(this, input_shapes);
set_output_type(0, out_et, output_shapes[0]);
diff --git a/src/core/src/op/gather.cpp b/src/core/src/op/gather.cpp
index e53f290f1633c1..941637781b0ba6 100644
--- a/src/core/src/op/gather.cpp
+++ b/src/core/src/op/gather.cpp
@@ -108,6 +108,16 @@ std::shared_ptr Gather::clone_with_new_inputs(const OutputVector& new_args
check_new_args_count(this, new_args);
return std::make_shared(new_args.at(0), new_args.at(1), new_args.at(2), m_batch_dims);
}
+
+bool Gather::has_evaluate() const {
+ OV_OP_SCOPE(v8_Gather_has_evaluate);
+ switch (get_output_element_type(0)) {
+ case element::string:
+ return true;
+ default:
+ return false;
+ }
+}
} // namespace v8
} // namespace op
} // namespace ov
diff --git a/src/core/src/op/max_pool.cpp b/src/core/src/op/max_pool.cpp
index f07980ce75af22..204e72a6cbf962 100644
--- a/src/core/src/op/max_pool.cpp
+++ b/src/core/src/op/max_pool.cpp
@@ -39,10 +39,8 @@ bool MaxPool::visit_attributes(AttributeVisitor& visitor) {
void MaxPool::validate_and_infer_types() {
OV_OP_SCOPE(v1_MaxPool_validate_and_infer_types);
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto output_shapes =
shape_infer(this, ov::util::get_node_input_partial_shapes(*this), m_pads_begin, m_pads_end);
- OPENVINO_SUPPRESS_DEPRECATED_END
set_output_type(0, get_input_element_type(0), output_shapes.front());
}
@@ -169,10 +167,8 @@ void MaxPool::validate_and_infer_types() {
m_axis = ov::util::normalize_axis(this, m_axis, input_shape.rank());
}
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto output_shapes =
shape_infer(this, ov::util::get_node_input_partial_shapes(*this), m_pads_begin, m_pads_end);
- OPENVINO_SUPPRESS_DEPRECATED_END
set_output_type(0, get_input_element_type(0), output_shapes[0]);
set_output_type(1, m_index_element_type, output_shapes[1]);
}
diff --git a/src/core/src/op/non_max_suppression.cpp b/src/core/src/op/non_max_suppression.cpp
index 09f4cd2174194f..ead5205593b17d 100644
--- a/src/core/src/op/non_max_suppression.cpp
+++ b/src/core/src/op/non_max_suppression.cpp
@@ -473,9 +473,7 @@ float op::v5::NonMaxSuppression::score_threshold_from_input() const {
return score_threshold;
}
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto score_threshold_input = ov::util::get_constant_from_source(input_value(score_threshold_port));
- OPENVINO_SUPPRESS_DEPRECATED_END
score_threshold = score_threshold_input->cast_vector().at(0);
return score_threshold;
@@ -488,9 +486,7 @@ float op::v5::NonMaxSuppression::soft_nms_sigma_from_input() const {
return soft_nms_sigma;
}
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto soft_nms_sigma_input = ov::util::get_constant_from_source(input_value(soft_nms_sigma_port));
- OPENVINO_SUPPRESS_DEPRECATED_END
soft_nms_sigma = soft_nms_sigma_input->cast_vector().at(0);
return soft_nms_sigma;
@@ -678,9 +674,7 @@ int64_t op::v9::NonMaxSuppression::max_boxes_output_from_input() const {
return 0;
}
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto max_output_boxes_input = ov::util::get_constant_from_source(input_value(max_output_boxes_port));
- OPENVINO_SUPPRESS_DEPRECATED_END
max_output_boxes = max_output_boxes_input->cast_vector().at(0);
return max_output_boxes;
@@ -693,9 +687,7 @@ float op::v9::NonMaxSuppression::iou_threshold_from_input() const {
return iou_threshold;
}
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto iou_threshold_input = ov::util::get_constant_from_source(input_value(iou_threshold_port));
- OPENVINO_SUPPRESS_DEPRECATED_END
iou_threshold = iou_threshold_input->cast_vector().at(0);
return iou_threshold;
@@ -708,9 +700,7 @@ float op::v9::NonMaxSuppression::score_threshold_from_input() const {
return score_threshold;
}
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto score_threshold_input = ov::util::get_constant_from_source(input_value(score_threshold_port));
- OPENVINO_SUPPRESS_DEPRECATED_END
score_threshold = score_threshold_input->cast_vector().at(0);
return score_threshold;
@@ -723,9 +713,7 @@ float op::v9::NonMaxSuppression::soft_nms_sigma_from_input() const {
return soft_nms_sigma;
}
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto soft_nms_sigma_input = ov::util::get_constant_from_source(input_value(soft_nms_sigma_port));
- OPENVINO_SUPPRESS_DEPRECATED_END
soft_nms_sigma = soft_nms_sigma_input->cast_vector().at(0);
return soft_nms_sigma;
diff --git a/src/core/src/op/proposal.cpp b/src/core/src/op/proposal.cpp
index 1a6354680221f5..14a996e23739bf 100644
--- a/src/core/src/op/proposal.cpp
+++ b/src/core/src/op/proposal.cpp
@@ -91,9 +91,7 @@ void op::v4::Proposal::validate_and_infer_types() {
OV_OP_SCOPE(v4_Proposal_validate_and_infer_types);
validate_element_types();
- OPENVINO_SUPPRESS_DEPRECATED_START
const auto intput_shapes = ov::util::get_node_input_partial_shapes(*this);
- OPENVINO_SUPPRESS_DEPRECATED_END
const auto output_shapes = shape_infer(this, intput_shapes);
const auto& out_et = get_input_element_type(0);
diff --git a/src/core/src/op/reduce_logical_and.cpp b/src/core/src/op/reduce_logical_and.cpp
index 0178917aae3665..1d2cce23211bf5 100644
--- a/src/core/src/op/reduce_logical_and.cpp
+++ b/src/core/src/op/reduce_logical_and.cpp
@@ -39,7 +39,6 @@ std::shared_ptr ReduceLogicalAnd::clone_with_new_inputs(const OutputVector
bool ReduceLogicalAnd::evaluate(TensorVector& outputs, const TensorVector& inputs) const {
OV_OP_SCOPE(v1_ReduceLogicalAnd_evaluate);
- OPENVINO_SUPPRESS_DEPRECATED_START
OPENVINO_ASSERT(inputs.size() == 2);
OPENVINO_ASSERT(outputs.size() == 1);
diff --git a/src/core/src/op/util/gather_base.cpp b/src/core/src/op/util/gather_base.cpp
index a05bcdf1c55087..dcfac60c659eb7 100644
--- a/src/core/src/op/util/gather_base.cpp
+++ b/src/core/src/op/util/gather_base.cpp
@@ -204,7 +204,7 @@ bool GatherBase::evaluate(TensorVector& outputs, const TensorVector& inputs) con
using namespace ov::element;
return IF_TYPE_OF(util_GatherBase_evaluate,
- OV_PP_ET_LIST(boolean, f16, f32, i8, i32, i64, u8, u32, u64),
+ OV_PP_ET_LIST(boolean, f16, f32, i8, i32, i64, u8, u32, u64, string),
gather::Evaluate,
data.get_element_type(),
data,
@@ -226,9 +226,7 @@ bool GatherBase::evaluate_upper(TensorVector& output_values) const {
}
bool GatherBase::evaluate_label(TensorLabelVector& output_labels) const {
- OPENVINO_SUPPRESS_DEPRECATED_START
return gather::have_indices_and_axis_bound_set(this) && ov::util::default_label_evaluator(this, output_labels);
- OPENVINO_SUPPRESS_DEPRECATED_END
}
bool GatherBase::constant_fold(OutputVector& output_values, const OutputVector& input_values) {
diff --git a/src/core/src/op/util/variable_value.cpp b/src/core/src/op/util/variable_value.cpp
index 86ea10a87e9021..4d3662ecfda994 100644
--- a/src/core/src/op/util/variable_value.cpp
+++ b/src/core/src/op/util/variable_value.cpp
@@ -6,7 +6,6 @@
#include
-#include "openvino/core/deprecated.hpp"
#include "openvino/core/shape.hpp"
#include "openvino/core/shape_util.hpp"
#include "openvino/runtime/allocator.hpp"
diff --git a/src/core/src/pass/manager.cpp b/src/core/src/pass/manager.cpp
index 69363fe72f7c18..a6bee008ca99d4 100644
--- a/src/core/src/pass/manager.cpp
+++ b/src/core/src/pass/manager.cpp
@@ -37,8 +37,7 @@ PerfCounters& perf_counters() {
namespace {
bool getenv_visualize_tracing() {
- return ov::util::getenv_bool("NGRAPH_ENABLE_VISUALIZE_TRACING") ||
- ov::util::getenv_bool("OV_ENABLE_VISUALIZE_TRACING");
+ return ov::util::getenv_bool("OV_ENABLE_VISUALIZE_TRACING");
}
} // namespace
@@ -93,11 +92,9 @@ class stopwatch {
} // namespace
bool ov::pass::Manager::run_passes(shared_ptr func) {
- OPENVINO_SUPPRESS_DEPRECATED_START
OV_ITT_SCOPED_TASK(ov::itt::domains::core, "pass::Manager::run_passes");
- static bool profile_enabled =
- ov::util::getenv_bool("NGRAPH_PROFILE_PASS_ENABLE") || ov::util::getenv_bool("OV_PROFILE_PASS_ENABLE");
+ static bool profile_enabled = ov::util::getenv_bool("OV_PROFILE_PASS_ENABLE");
size_t index = 0;
stopwatch pass_timer;
@@ -171,7 +168,6 @@ bool ov::pass::Manager::run_passes(shared_ptr func) {
if (profile_enabled) {
cout << "passes done in " << overall_timer.get_milliseconds() << "ms\n";
}
- OPENVINO_SUPPRESS_DEPRECATED_END
return function_changed;
}
diff --git a/src/core/src/pass/serialize.cpp b/src/core/src/pass/serialize.cpp
index 0da8c27ea83db6..e3d133ee545d05 100644
--- a/src/core/src/pass/serialize.cpp
+++ b/src/core/src/pass/serialize.cpp
@@ -28,7 +28,6 @@
#include "transformations/rt_info/disable_fp16_compression.hpp"
#include "transformations/rt_info/primitives_priority_attribute.hpp"
-OPENVINO_SUPPRESS_DEPRECATED_START
namespace { // helpers
template
std::string join(const Container& c, const char* glue = ", ") {
diff --git a/src/core/src/pass/visualize_tree.cpp b/src/core/src/pass/visualize_tree.cpp
index bcd3bcd1713390..5c433671f06472 100644
--- a/src/core/src/pass/visualize_tree.cpp
+++ b/src/core/src/pass/visualize_tree.cpp
@@ -461,10 +461,8 @@ std::string ov::pass::VisualizeTree::get_attributes(std::shared_ptr node)
std::stringstream label;
label << "label=\"" << get_node_name(node);
- static const bool nvtos = ov::util::getenv_bool("NGRAPH_VISUALIZE_TREE_OUTPUT_SHAPES") ||
- ov::util::getenv_bool("OV_VISUALIZE_TREE_OUTPUT_SHAPES");
- static const bool nvtot = ov::util::getenv_bool("NGRAPH_VISUALIZE_TREE_OUTPUT_TYPES") ||
- ov::util::getenv_bool("OV_VISUALIZE_TREE_OUTPUT_TYPES");
+ static const bool nvtos = ov::util::getenv_bool("OV_VISUALIZE_TREE_OUTPUT_SHAPES");
+ static const bool nvtot = ov::util::getenv_bool("OV_VISUALIZE_TREE_OUTPUT_TYPES");
static const bool nvtio = ov::util::getenv_bool("OV_VISUALIZE_TREE_IO");
static const bool nvtrti = ov::util::getenv_bool("OV_VISUALIZE_TREE_RUNTIME_INFO");
static const bool ovpvl = ov::util::getenv_bool("OV_VISUALIZE_PARTIAL_VALUES_AND_LABELS");
diff --git a/src/core/src/pattern/matcher.cpp b/src/core/src/pattern/matcher.cpp
index ab14a875a37168..063da2bdbe7c45 100644
--- a/src/core/src/pattern/matcher.cpp
+++ b/src/core/src/pattern/matcher.cpp
@@ -140,7 +140,6 @@ bool Matcher::match_permutation(const OutputVector& pattern_args, const OutputVe
}
bool Matcher::match_arguments(Node* pattern_node, const std::shared_ptr& graph_node) {
- OPENVINO_SUPPRESS_DEPRECATED_START
OPENVINO_DEBUG << "[MATCHER] Match arguments at " << *graph_node << " for pattern " << *pattern_node;
auto args = graph_node->input_values();
@@ -174,7 +173,6 @@ bool Matcher::match_arguments(Node* pattern_node, const std::shared_ptr& g
}
OPENVINO_DEBUG << "[MATCHER] Aborting at " << *graph_node << " for pattern " << *pattern_node;
- OPENVINO_SUPPRESS_DEPRECATED_END
return false;
}
diff --git a/src/core/src/specialize_function.cpp b/src/core/src/specialize_function.cpp
deleted file mode 100644
index d352b7635cb4ca..00000000000000
--- a/src/core/src/specialize_function.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (C) 2018-2024 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#include "ngraph/specialize_function.hpp"
-
-#include "itt.hpp"
-#include "openvino/op/constant.hpp"
-#include "openvino/op/parameter.hpp"
-#include "openvino/op/util/op_types.hpp"
-
-using namespace ngraph;
-OPENVINO_SUPPRESS_DEPRECATED_START;
-
-using ov::op::v0::Constant;
-
-std::shared_ptr ngraph::specialize_function(std::shared_ptr f,
- const std::vector& parameter_element_types,
- const std::vector& parameter_shapes,
- const std::vector& parameter_values)
-
-{
- OV_ITT_SCOPED_TASK(ov::itt::domains::core, "specialize_function");
-
- OPENVINO_ASSERT(f->get_parameters().size() == parameter_shapes.size());
- OPENVINO_ASSERT(f->get_parameters().size() == parameter_element_types.size());
- OPENVINO_ASSERT(f->get_parameters().size() == parameter_values.size());
-
- std::unordered_map> m;
-
- for (size_t i = 0; i < parameter_shapes.size(); i++) {
- OPENVINO_ASSERT(f->get_parameters()[i]->get_element_type().is_dynamic() ||
- parameter_element_types[i] == f->get_parameters()[i]->get_element_type());
-
- if (parameter_values[i] != nullptr && parameter_shapes[i].is_static() &&
- parameter_element_types[i].is_static()) {
- m[f->get_parameters()[i].get()] = std::make_shared(parameter_element_types[i],
- parameter_shapes[i].to_shape(),
- parameter_values[i]);
- } else {
- m[f->get_parameters()[i].get()] =
- std::make_shared(parameter_element_types[i], parameter_shapes[i]);
- }
- auto rt_info = f->get_parameters()[i]->get_rt_info();
- m[f->get_parameters()[i].get()]->get_rt_info() = rt_info;
- }
-
- for (auto old_node : f->get_ordered_ops()) {
- if (ov::op::util::is_parameter(old_node)) {
- continue;
- }
-
- ov::OutputVector new_args;
- for (auto input : old_node->inputs()) {
- auto output = input.get_source_output();
- new_args.push_back(output.for_node(m[output.get_node()]));
- }
-
- ov::NodeVector cloned_dependencies;
- for (auto& dependency : old_node->get_control_dependencies()) {
- std::shared_ptr dependent = m.at(dependency.get());
- if (find(cloned_dependencies.begin(), cloned_dependencies.end(), dependent) == cloned_dependencies.end()) {
- cloned_dependencies.push_back(dependent);
- }
- }
- m[old_node.get()] = old_node->copy_with_new_inputs(new_args, cloned_dependencies);
-
- auto rt_info = old_node->get_rt_info();
- m[old_node.get()]->get_rt_info() = rt_info;
-
- m[old_node.get()]->set_friendly_name(old_node->get_friendly_name());
- }
-
- ov::ParameterVector new_parameters = f->get_parameters();
- for (size_t i = 0; i < new_parameters.size(); i++) {
- auto name = new_parameters[i]->get_friendly_name();
- new_parameters[i] = ov::as_type_ptr(m[new_parameters[i].get()]);
-
- // If the replacement for a Parameter is not itself a Parameter, we must have replaced it
- // with a constant. We will insert a dead Parameter into the clone's parameters, in order
- // to maintain the arity of the original function.
- if (new_parameters[i] == nullptr) {
- new_parameters[i] =
- std::make_shared(parameter_element_types[i], parameter_shapes[i]);
- }
- new_parameters[i]->set_friendly_name(name);
- }
-
- ov::ResultVector new_results = f->get_results();
- for (size_t i = 0; i < new_results.size(); i++) {
- auto name = new_results[i]->get_friendly_name();
- new_results[i] = std::static_pointer_cast(m[new_results[i].get()]);
- new_results[i]->set_friendly_name(name);
- }
- auto new_sinks = f->get_sinks();
- for (size_t i = 0; i < new_sinks.size(); i++) {
- new_sinks[i] = std::static_pointer_cast(m[new_sinks[i].get()]);
- }
-
- return std::make_shared(new_results, new_sinks, new_parameters);
-}
diff --git a/src/core/src/validation_util.cpp b/src/core/src/validation_util.cpp
index 13cccab1d3e0a3..963a229799106b 100644
--- a/src/core/src/validation_util.cpp
+++ b/src/core/src/validation_util.cpp
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
//
-#include "ngraph/validation_util.hpp"
+#include "validation_util.hpp"
#include
#include
@@ -16,560 +16,6 @@
#include "openvino/op/ops.hpp"
#include "openvino/util/common_util.hpp"
#include "sequnce_generator.hpp"
-#include "validation_util.hpp"
-
-OPENVINO_SUPPRESS_DEPRECATED_START
-
-namespace ngraph {
-using ov::Dimension;
-namespace op {
-namespace v0 {
-using ov::op::v0::Constant;
-using ov::op::v0::Negative;
-} // namespace v0
-} // namespace op
-
-Strides conv_default_strides(const ov::Node* /* node */,
- const ov::PartialShape& data_batch_shape,
- const ov::PartialShape& filters_shape) {
- size_t rank;
-
- if (data_batch_shape.rank().is_static() && data_batch_shape.rank().get_length() >= 2) {
- rank = data_batch_shape.rank().get_length() - 2;
- } else if (filters_shape.rank().is_static() && filters_shape.rank().get_length() >= 2) {
- rank = filters_shape.rank().get_length() - 2;
- } else {
- rank = 0;
- }
-
- return Strides(rank, 1);
-}
-
-CoordinateDiff conv_default_padding(const ov::Node* /* node */,
- const ov::PartialShape& data_batch_shape,
- const ov::PartialShape& filters_shape) {
- size_t rank;
-
- if (data_batch_shape.rank().is_static() && data_batch_shape.rank().get_length() >= 2) {
- rank = data_batch_shape.rank().get_length() - 2;
- } else if (filters_shape.rank().is_static() && filters_shape.rank().get_length() >= 2) {
- rank = filters_shape.rank().get_length() - 2;
- } else {
- rank = 0;
- }
-
- return CoordinateDiff(rank, 0);
-}
-
-//
-// Infers the output shape of a windowed reduction operation, where the data may be dilated and/or
-// padded, and the reduction window may be strided and/or dilated.
-//
-// TODO(amprocte): The messages here would be a bit friendlier if we didn't say "after
-// padding/after dilation" for cases where there is actually no padding/dilation.
-//
-ov::PartialShape infer_windowed_reduction_output_shape(const ov::Node* node,
- const ov::PartialShape& data_shape,
- const Strides& data_dilation,
- const CoordinateDiff& data_padding_below,
- const CoordinateDiff& data_padding_above,
- const ov::PartialShape& window_shape,
- const Strides& window_strides,
- const Strides& window_dilation,
- bool is_window_all_in_padding_allowed,
- bool ceil_mode) {
- ov::PartialShape data_shape_merged{ov::PartialShape::dynamic()};
-
- NODE_VALIDATION_CHECK(
- node,
- data_shape_merged.merge_rank(data_shape.rank()) && data_shape_merged.merge_rank(data_dilation.size()) &&
- data_shape_merged.merge_rank(data_padding_below.size()) &&
- data_shape_merged.merge_rank(data_padding_above.size()) &&
- data_shape_merged.merge_rank(window_shape.rank()) && data_shape_merged.merge_rank(window_strides.size()) &&
- data_shape_merged.merge_rank(window_dilation.size()),
- "Ranks for data shape (",
- data_shape,
- "), data dilation (",
- data_dilation,
- "), padding below (",
- data_padding_below,
- "), padding above (",
- data_padding_above,
- "), window shape (",
- window_shape,
- "), window strides (",
- window_strides,
- "), and window dilation (",
- window_dilation,
- ") do not match.");
-
- ov::PartialShape output_shape = ov::PartialShape::dynamic(data_shape_merged.rank());
- if (output_shape.rank().is_static()) {
- for (int64_t i = 0; i < output_shape.rank().get_length(); i++) {
- NODE_VALIDATION_CHECK(node,
- data_dilation[i] > 0,
- "Data dilation (",
- data_dilation,
- ") has zero dimension at axis ",
- i,
- ".");
- NODE_VALIDATION_CHECK(node,
- window_strides[i] > 0,
- "Window strides (",
- window_strides,
- ") has zero dimension at axis ",
- i,
- ".");
- NODE_VALIDATION_CHECK(node,
- window_dilation[i] > 0,
- "Window dilation (",
- window_dilation,
- ") has zero dimension at axis ",
- i,
- ".");
-
- bool data_dim_static = data_shape.rank().is_static() && data_shape[i].is_static();
- bool window_dim_static = window_shape.rank().is_static() && window_shape[i].is_static();
-
- ptrdiff_t data_padded_dilated_dim = -1;
- if (data_dim_static) {
- data_padded_dilated_dim = (static_cast(data_dilation[i]) * (data_shape[i].get_length() - 1)) +
- 1 + data_padding_below[i] + data_padding_above[i];
- NODE_VALIDATION_CHECK(node,
- data_padded_dilated_dim > 0,
- "Data shape after padding and dilation has dimension less than 1 (dim: ",
- data_padded_dilated_dim,
- ") at axis ",
- i,
- ".");
- }
-
- ptrdiff_t window_dilated_dim = -1;
- if (window_dim_static) {
- window_dilated_dim = static_cast(window_dilation[i]) * (window_shape[i].get_length() - 1) + 1;
-
- NODE_VALIDATION_CHECK(node,
- window_dilated_dim > 0,
- "Window after dilation has dimension less than 1 (dim: ",
- window_dilated_dim,
- ") at axis ",
- i,
- ".");
-
- NODE_VALIDATION_CHECK(node,
- is_window_all_in_padding_allowed || (window_dilated_dim > data_padding_below[i] &&
- window_dilated_dim > data_padding_above[i]),
- "Window after dilation is sometimes entirely in the padding area for axis ",
- i,
- " (dilated window dimension: ",
- window_dilated_dim,
- ", padding below dimension: ",
- data_padding_below[i],
- ", padding above dimension: ",
- data_padding_above[i],
- ") and this is not ",
- "allowed.");
- }
-
- if (data_dim_static && window_dim_static) {
- NODE_VALIDATION_CHECK(node,
- window_dilated_dim <= data_padded_dilated_dim,
- "Window after dilation has dimension (dim: ",
- window_dilated_dim,
- ") larger than the data shape after padding (dim: ",
- data_padded_dilated_dim,
- ") at axis ",
- i,
- ".");
-
- if (ceil_mode) {
- output_shape[i] = ov::util::ceil_div(static_cast(data_padded_dilated_dim) -
- static_cast