diff --git a/.ci/azure/linux.yml b/.ci/azure/linux.yml
index 40f07b58922..493d492d04a 100644
--- a/.ci/azure/linux.yml
+++ b/.ci/azure/linux.yml
@@ -29,8 +29,10 @@ jobs:
WORK_DIR: $(Pipeline.Workspace)/_w
BUILD_DIR: $(WORK_DIR)/build
BUILD_SAMPLES_DIR: $(WORK_DIR)/build_samples
+ BUILD_LAYER_TESTS_DIR: $(WORK_DIR)/build_layer_tests
INSTALL_DIR: $(WORK_DIR)/install_pkg
INSTALL_TEST_DIR: $(INSTALL_DIR)/tests
+ LAYER_TESTS_DIR: $(INSTALL_TEST_DIR)/layer_tests
SETUPVARS: $(INSTALL_DIR)/bin/setupvars.sh
steps:
@@ -138,6 +140,21 @@ jobs:
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake
workingDirectory: $(BUILD_DIR)
displayName: 'Install'
+
+ - task: CMake@1
+ inputs:
+ cmakeArgs: >
+ -GNinja
+ $(REPO_DIR)/tests/layer_tests
+ workingDirectory: $(BUILD_LAYER_TESTS_DIR)
+
+ - script: ninja
+ workingDirectory: $(BUILD_LAYER_TESTS_DIR)
+ displayName: 'Build Layer Tests'
+
+ - script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake
+ workingDirectory: $(BUILD_LAYER_TESTS_DIR)
+ displayName: 'Install Layer Tests'
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install files'
@@ -149,7 +166,7 @@ jobs:
cp -R $(REPO_DIR)/inference-engine/temp/opencv_4.5.2_ubuntu20/opencv/* $(INSTALL_DIR)/opencv/
workingDirectory: $(BUILD_DIR)
displayName: 'Install tests'
-
+
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install files'
@@ -160,7 +177,7 @@ jobs:
- script: $(INSTALL_DIR)/deployment_tools/inference_engine/samples/c/build_samples.sh
workingDirectory: $(BUILD_SAMPLES_DIR)
displayName: 'Build c samples'
-
+
- script: rm -fr $(BUILD_DIR)
displayName: 'Clean build dir'
continueOnError: false
@@ -236,6 +253,16 @@ jobs:
. $(SETUPVARS) -pyver 3.8 && python3 -m pytest --junitxml=TEST-PythonAPI.xml
displayName: 'Python API Tests'
continueOnError: false
+
+ - script: |
+ . $(SETUPVARS)
+ python3 -m pip install -r requirements.txt
+ export MO_ROOT=$(INSTALL_DIR)/deployment_tools/model_optimizer
+ export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
+ python3 -m pytest tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=TEST-tf_Roll.xmlTEST
+ workingDirectory: $(LAYER_TESTS_DIR)
+ displayName: 'Layer Tests'
+ continueOnError: false
- task: PublishTestResults@2
condition: always()
diff --git a/.ci/azure/linux_onnxruntime.yml b/.ci/azure/linux_onnxruntime.yml
index 932fb76d5cc..dd9d8b44429 100644
--- a/.ci/azure/linux_onnxruntime.yml
+++ b/.ci/azure/linux_onnxruntime.yml
@@ -93,7 +93,6 @@ jobs:
-DENABLE_CLDNN=OFF
-DENABLE_PROFILING_ITT=OFF
-DENABLE_SAMPLES=OFF
- -DENABLE_SPEECH_DEMO=OFF
-DNGRAPH_ONNX_FRONTEND_ENABLE=ON
-DNGRAPH_DEBUG_ENABLE=OFF
$(REPO_DIR)
diff --git a/.ci/openvino-onnx/Dockerfile b/.ci/openvino-onnx/Dockerfile
index 314ab2c1037..3a190c42769 100644
--- a/.ci/openvino-onnx/Dockerfile
+++ b/.ci/openvino-onnx/Dockerfile
@@ -65,7 +65,6 @@ RUN cmake .. \
-DENABLE_CLDNN=OFF \
-DENABLE_PROFILING_ITT=OFF \
-DENABLE_SAMPLES=OFF \
- -DENABLE_SPEECH_DEMO=OFF \
-DENABLE_PYTHON=ON \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DNGRAPH_ONNX_FRONTEND_ENABLE=ON \
diff --git a/CODEOWNERS b/CODEOWNERS
index 165bc745563..92a821790ea 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -72,6 +72,7 @@ azure-pipelines.yml @openvinotoolkit/openvino-admins
# Documentation
/docs/ @openvinotoolkit/openvino-docs-maintainers
+/docs/template_plugin/ @openvinotoolkit/openvino-ie-template-maintainers
*.md @openvinotoolkit/openvino-docs-maintainers
# Control 3d party dependencies
diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake
index 82f98b4c515..046e9a83d57 100644
--- a/cmake/dependencies.cmake
+++ b/cmake/dependencies.cmake
@@ -298,44 +298,3 @@ if(ENABLE_GNA)
update_deps_cache(GNA "${GNA}" "Path to GNA root folder")
debug_message(STATUS "gna=" ${GNA})
endif()
-
-if(ENABLE_SPEECH_DEMO)
- reset_deps_cache(SPEECH_LIBS_AND_DEMOS)
- if(DEFINED ENV{THIRDPARTY_SERVER_PATH})
- set(IE_PATH_TO_DEPS "$ENV{THIRDPARTY_SERVER_PATH}")
- elseif(DEFINED THIRDPARTY_SERVER_PATH)
- set(IE_PATH_TO_DEPS "${THIRDPARTY_SERVER_PATH}")
- else()
- message(WARNING "Unable to locate Speech Demo")
- endif()
- if(DEFINED IE_PATH_TO_DEPS)
- if(WIN32 AND X86_64)
- RESOLVE_DEPENDENCY(SPEECH_LIBS_AND_DEMOS
- ARCHIVE_WIN "speech_demo_1.0.0.780_windows.zip"
- VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+.[0-9]+).*"
- TARGET_PATH "${TEMP}/speech_demo_1.0.0.780"
- SHA256 "957bd274a1f6dc1d83a46879c7ef3b3b06f17d11af85cc45c18919051d145abd")
- debug_message(STATUS "speech_libs_and_demos=" ${SPEECH_LIBS_AND_DEMOS})
- elseif(LINUX AND X86_64)
- if(LINUX_OS_NAME STREQUAL "CentOS 7" OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9")
- RESOLVE_DEPENDENCY(SPEECH_LIBS_AND_DEMOS
- ARCHIVE_LIN "speech_demo_1.0.0.780_centos.tgz"
- VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+.[0-9]+).*"
- TARGET_PATH "${TEMP}/speech_demo_1.0.0.780"
- SHA256 "6d8d1111d0e662fe71d71cd3debad2995f6fb6fe5df3b92196dae06ff7abdf44")
- debug_message(STATUS "speech_libs_and_demos=" ${SPEECH_LIBS_AND_DEMOS})
- else()
- RESOLVE_DEPENDENCY(SPEECH_LIBS_AND_DEMOS
- ARCHIVE_LIN "speech_demo_1.0.0.780_linux.tgz"
- VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+.[0-9]+).*"
- TARGET_PATH "${TEMP}/speech_demo_1.0.0.780"
- SHA256 "0ec6f1e47c00d781dc918af5d3055ab474ff47b9978dd6fe2add73e3339b0763")
- debug_message(STATUS "speech_libs_and_demos=" ${SPEECH_LIBS_AND_DEMOS})
- endif()
- else()
- message(FATAL_ERROR "Speech Demo is not available on current platform")
- endif()
- unset(IE_PATH_TO_DEPS)
- endif()
- update_deps_cache(SPEECH_LIBS_AND_DEMOS "${SPEECH_LIBS_AND_DEMOS}" "Path to SPEECH_LIBS_AND_DEMOS root folder")
-endif()
diff --git a/cmake/developer_package/ncc_naming_style/openvino.style b/cmake/developer_package/ncc_naming_style/openvino.style
index 6832847ae3a..efe1c2bbad1 100644
--- a/cmake/developer_package/ncc_naming_style/openvino.style
+++ b/cmake/developer_package/ncc_naming_style/openvino.style
@@ -6,10 +6,10 @@ ClassName: '^([A-Z][\w]+|b?float16|numeric_limits|ngraph_error|stopwatch|unsuppo
StructName: '^([A-Z][\w]+|element_type_traits|hash|oi_pair)$'
FunctionName: '^(operator\W+|[a-z_\d]+)$'
Namespace: '^([a-z\d_]+|InferenceEngine)$'
-NamespaceAlias: '^[a-z\d_]+$'
+NamespaceAlias: '^([a-z\d_]+|InferenceEngine)$'
UnionName: '[A-Z][\w]+$'
TemplateTemplateParameter: '[A-Z][\w]+'
-NamespaceReference: '^[a-z\d_]+$'
+NamespaceReference: '^([a-z\d_]+|InferenceEngine)$'
TemplateNonTypeParameter: '^\w*$'
ClassTemplate: '^([A-Z][\w]+|element_type_traits)$'
TemplateTypeParameter: '^\w*$'
diff --git a/cmake/developer_package/plugins/plugins.cmake b/cmake/developer_package/plugins/plugins.cmake
index 6210ede333a..cec023f3062 100644
--- a/cmake/developer_package/plugins/plugins.cmake
+++ b/cmake/developer_package/plugins/plugins.cmake
@@ -112,8 +112,8 @@ function(ie_add_plugin)
if(TARGET inference_engine_ir_v7_reader)
add_dependencies(${IE_PLUGIN_NAME} inference_engine_ir_v7_reader)
endif()
- if(TARGET inference_engine_onnx_reader)
- add_dependencies(${IE_PLUGIN_NAME} inference_engine_onnx_reader)
+ if(TARGET onnx_ngraph_frontend)
+ add_dependencies(${IE_PLUGIN_NAME} onnx_ngraph_frontend)
endif()
# install rules
diff --git a/cmake/features.cmake b/cmake/features.cmake
index 3df1af5ef91..450b0d255cc 100644
--- a/cmake/features.cmake
+++ b/cmake/features.cmake
@@ -98,8 +98,6 @@ ie_dependent_option (ENABLE_FUNCTIONAL_TESTS "functional tests" ON "ENABLE_TESTS
ie_dependent_option (ENABLE_SAMPLES "console samples are part of inference engine package" ON "NOT MINGW" OFF)
-ie_dependent_option (ENABLE_SPEECH_DEMO "enable speech demo integration" ON "NOT APPLE;NOT ANDROID;X86_64" OFF)
-
ie_option (ENABLE_OPENCV "enables OpenCV" ON)
ie_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF)
@@ -124,6 +122,7 @@ endif()
ie_dependent_option(NGRAPH_ONNX_FRONTEND_ENABLE "Enable ONNX FrontEnd" ON "protoc_available" OFF)
ie_dependent_option(NGRAPH_PDPD_FRONTEND_ENABLE "Enable PaddlePaddle FrontEnd" ON "protoc_available" OFF)
+ie_option(IR_FRONTEND_ENABLE "Enable IR FrontEnd" ON)
ie_dependent_option(NGRAPH_USE_PROTOBUF_LITE "Compiles and links with protobuf-lite" ON
"NGRAPH_ONNX_FRONTEND_ENABLE" OFF)
ie_dependent_option(NGRAPH_USE_SYSTEM_PROTOBUF "Use system protobuf" OFF
@@ -131,8 +130,8 @@ ie_dependent_option(NGRAPH_USE_SYSTEM_PROTOBUF "Use system protobuf" OFF
ie_dependent_option(NGRAPH_UNIT_TEST_ENABLE "Enables ngraph unit tests" ON "ENABLE_TESTS;NOT ANDROID" OFF)
ie_dependent_option(NGRAPH_UNIT_TEST_BACKENDS_ENABLE "Control the building of unit tests using backends" ON
"NGRAPH_UNIT_TEST_ENABLE" OFF)
-option(NGRAPH_DEBUG_ENABLE "Enable output for NGRAPH_DEBUG statements" OFF)
-option(ENABLE_REQUIREMENTS_INSTALL "Dynamic dependencies install" ON)
+ie_option(NGRAPH_DEBUG_ENABLE "Enable output for NGRAPH_DEBUG statements" OFF)
+ie_option(ENABLE_REQUIREMENTS_INSTALL "Dynamic dependencies install" ON)
# WA for ngraph python build on Windows debug
list(REMOVE_ITEM IE_OPTIONS NGRAPH_UNIT_TEST_ENABLE NGRAPH_UNIT_TEST_BACKENDS_ENABLE)
diff --git a/cmake/templates/ngraphConfig.cmake.in b/cmake/templates/ngraphConfig.cmake.in
index b945d0148aa..1c17cbeb4cc 100644
--- a/cmake/templates/ngraphConfig.cmake.in
+++ b/cmake/templates/ngraphConfig.cmake.in
@@ -37,30 +37,28 @@
@PACKAGE_INIT@
-function(set_imported_global target)
- get_target_property(IS_IMPORTED_GLOBAL ${target} IMPORTED_GLOBAL)
- if (NOT IS_IMPORTED_GLOBAL)
- set_target_properties(${target} PROPERTIES IMPORTED_GLOBAL TRUE)
- endif()
-endfunction()
-
if(NOT TARGET ngraph)
include("${CMAKE_CURRENT_LIST_DIR}/ngraphTargets.cmake")
- set_imported_global(ngraph::ngraph)
- set_imported_global(ngraph::frontend_manager)
endif()
set(ngraph_ngraph_FOUND ON)
set(NGRAPH_LIBRARIES ngraph::ngraph)
set(ngraph_onnx_ngraph_frontend_FOUND @NGRAPH_ONNX_FRONTEND_ENABLE@)
-if (ngraph_onnx_ngraph_frontend_FOUND AND NOT TARGET onnx_ngraph_frontend AND NOT TARGET ngraph::onnx_importer)
- set_imported_global(ngraph::onnx_ngraph_frontend)
- add_library(ngraph::onnx_importer ALIAS ngraph::onnx_ngraph_frontend)
-endif()
-set(ngraph_paddlepaddle_frontend_FOUND @NGRAPH_PDPD_FRONTEND_ENABLE@)
-if(ngraph_paddlepaddle_frontend_FOUND AND NOT TARGET paddlepaddle_ngraph_frontend)
- set_imported_global(ngraph::paddlepaddle_ngraph_frontend)
+
+# ngraph::onnx_importer target and variables are deprecated
+set(ngraph_onnx_importer_FOUND @NGRAPH_ONNX_FRONTEND_ENABLE@)
+if(ngraph_onnx_importer_FOUND)
+ set(ONNX_IMPORTER_LIBRARIES ngraph::onnx_ngraph_frontend)
+ if(NOT TARGET ngraph::onnx_importer)
+ add_library(ngraph::onnx_importer INTERFACE IMPORTED)
+ set_target_properties(ngraph::onnx_importer PROPERTIES
+ INTERFACE_LINK_LIBRARIES ngraph::onnx_ngraph_frontend
+ )
+ endif()
endif()
+set(ngraph_paddlepaddle_frontend_FOUND @NGRAPH_PDPD_FRONTEND_ENABLE@)
+set(ir_frontend_FOUND @IR_FRONTEND_ENABLE@)
+
check_required_components(ngraph)
diff --git a/docs/IE_DG/Deep_Learning_Inference_Engine_DevGuide.md b/docs/IE_DG/Deep_Learning_Inference_Engine_DevGuide.md
index 5fc2b3f9102..0f07f550381 100644
--- a/docs/IE_DG/Deep_Learning_Inference_Engine_DevGuide.md
+++ b/docs/IE_DG/Deep_Learning_Inference_Engine_DevGuide.md
@@ -43,10 +43,10 @@ This library contains the classes to:
Starting from 2020.4 release, Inference Engine introduced a concept of `CNNNetwork` reader plugins. Such plugins can be automatically dynamically loaded by Inference Engine in runtime depending on file format:
* Linux* OS:
- `libinference_engine_ir_reader.so` to read a network from IR
- - `libinference_engine_onnx_reader.so` to read a network from ONNX model format
+ - `onnx_ngraph_frontend.so` to read a network from ONNX model format
* Windows* OS:
- `inference_engine_ir_reader.dll` to read a network from IR
- - `inference_engine_onnx_reader.dll` to read a network from ONNX model format
+ - `onnx_ngraph_frontend.dll` to read a network from ONNX model format
### Device-Specific Plugin Libraries
diff --git a/docs/IE_DG/inference_engine_intro.md b/docs/IE_DG/inference_engine_intro.md
index a4c33fd6f85..89d80654fe4 100644
--- a/docs/IE_DG/inference_engine_intro.md
+++ b/docs/IE_DG/inference_engine_intro.md
@@ -46,10 +46,10 @@ This library contains the classes to:
Starting from 2020.4 release, Inference Engine introduced a concept of `CNNNetwork` reader plugins. Such plugins can be automatically dynamically loaded by Inference Engine in runtime depending on file format:
* Unix* OS:
- `libinference_engine_ir_reader.so` to read a network from IR
- - `libinference_engine_onnx_reader.so` to read a network from ONNX model format
+ - `onnx_ngraph_frontend.so` to read a network from ONNX model format
* Windows* OS:
- `inference_engine_ir_reader.dll` to read a network from IR
- - `inference_engine_onnx_reader.dll` to read a network from ONNX model format
+ - `onnx_ngraph_frontend.dll` to read a network from ONNX model format
### Device-specific Plugin Libraries ###
diff --git a/docs/IE_DG/supported_plugins/GNA.md b/docs/IE_DG/supported_plugins/GNA.md
index e37fbc646f1..ce124072b06 100644
--- a/docs/IE_DG/supported_plugins/GNA.md
+++ b/docs/IE_DG/supported_plugins/GNA.md
@@ -86,7 +86,7 @@ Intel® GNA essentially operates in the low-precision mode, which represents a m
Unlike other plugins supporting low-precision execution, the GNA plugin can calculate quantization factors at the model loading time, so you can run a model without calibration using the [Post-Training Optimizaton Tool](@ref pot_README).
However, this mode may not provide satisfactory accuracy because the internal quantization algorithm is based on heuristics which may or may not be efficient, depending on the model and dynamic range of input data.
-Starting with 2021.4 release of OpenVINO, GNA plugin users are encouraged to use the [POT API Usage sample for GNA](@ref pot_sample_speech_README) to get a model with quantization hints based on statistics for the provided dataset.
+Starting with 2021.4 release of OpenVINO™, GNA plugin users are encouraged to use the [POT API Usage sample for GNA](@ref pot_sample_speech_README) to get a model with quantization hints based on statistics for the provided dataset.
## Execution Modes
@@ -97,6 +97,7 @@ Starting with 2021.4 release of OpenVINO, GNA plugin users are encouraged to use
| `GNA_HW` | Uses Intel® GNA if available, otherwise raises an error. |
| `GNA_SW` | *Deprecated*. Executes the GNA-compiled graph on CPU performing calculations in the same precision as the Intel® GNA, but not in the bit-exact mode. |
| `GNA_SW_EXACT` | Executes the GNA-compiled graph on CPU performing calculations in the same precision as the Intel® GNA in the bit-exact mode. |
+| `GNA_HW_WITH_SW_FBACK` | Uses Intel® GNA if available, otherwise raises an error. If the HW queue is not empty, automatically falls back to CPU in the bit-exact mode. |
| `GNA_SW_FP32` | Executes the GNA-compiled graph on CPU but substitutes parameters and calculations from low precision to floating point (`FP32`). |
## Supported Configuration Parameters
@@ -189,6 +190,19 @@ executableNet.SetConfig(newConfig);
```
2. Resubmit and switch back to GNA_HW expecting that the competing application has finished.
+> **NOTE:** This method is deprecated since a new automatic QoS mode has been introduced in 2021.4.1 release of OpenVINO™ (see below).
+
+## GNA3 Automatic QoS Feature on Windows*
+
+Starting with 2021.4.1 release of OpenVINO and 03.00.00.1363 version of Windows* GNA driver, a new execution mode (GNA_HW_WITH_SW_FBACK) is introduced
+to assure that workloads satisfy real-time execution. In this mode, the GNA driver automatically falls back on CPU for a particular infer request
+if the HW queue is not empty, so there is no need for explicitly switching between GNA and CPU.
+
+**NOTE:** Due to the "first come - first served" nature of GNA driver and the QoS feature, this mode may lead to increased CPU consumption
+if there are several clients using GNA simultaneously.
+Even a lightweight competing infer request which has not been cleared at the time when the user's GNA client process makes its request,
+can cause the user's request to be executed on CPU, thereby unnecessarily increasing CPU utilization and power.
+
## See Also
* [Supported Devices](Supported_Devices.md)
diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md
index fdda8f40a0b..a09df51a56a 100644
--- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md
+++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md
@@ -179,6 +179,7 @@ Standard TensorFlow\* operations:
| BroadcastTo | No |
| Cast | No |
| Ceil | No |
+| ClipByValue | No |
| Concat | No |
| ConcatV2 | No |
| Const | No |
@@ -253,6 +254,7 @@ Standard TensorFlow\* operations:
| Min | No |
| Minimum | No |
| MirrorPad | No |
+| Mod | No |
| Mul | No |
| Neg | No |
| NextIteration | Supported only when it is fused to the TensorIterator layer |
diff --git a/docs/ops/activation/HSwish_4.md b/docs/ops/activation/HSwish_4.md
index 3f27517a44b..b5870983af3 100644
--- a/docs/ops/activation/HSwish_4.md
+++ b/docs/ops/activation/HSwish_4.md
@@ -2,7 +2,7 @@
**Versioned name**: *HSwish-4*
-**Category**: *Activation*
+**Category**: *Activation function*
**Short description**: HSwish takes one input tensor and produces output tensor where the hard version of swish function is applied to the tensor elementwise.
diff --git a/docs/ops/activation/LogSoftmax_5.md b/docs/ops/activation/LogSoftmax_5.md
index d26488fa968..25296571319 100644
--- a/docs/ops/activation/LogSoftmax_5.md
+++ b/docs/ops/activation/LogSoftmax_5.md
@@ -2,7 +2,7 @@
**Versioned name**: *LogSoftmax-5*
-**Category**: *Activation*
+**Category**: *Activation function*
**Short description**: LogSoftmax computes the natural logarithm of softmax values for the given input.
diff --git a/docs/ops/arithmetic/Abs_1.md b/docs/ops/arithmetic/Abs_1.md
index 1dc73dee933..457085a36f9 100644
--- a/docs/ops/arithmetic/Abs_1.md
+++ b/docs/ops/arithmetic/Abs_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Abs-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Abs* performs element-wise the absolute value with given tensor.
diff --git a/docs/ops/arithmetic/Acos_1.md b/docs/ops/arithmetic/Acos_1.md
index 2c274b01c8a..5b866047551 100644
--- a/docs/ops/arithmetic/Acos_1.md
+++ b/docs/ops/arithmetic/Acos_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Acos-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Acos* performs element-wise inverse cosine (arccos) operation with given tensor.
diff --git a/docs/ops/arithmetic/Acosh_3.md b/docs/ops/arithmetic/Acosh_3.md
index 9f858924d4e..20f8dee4969 100644
--- a/docs/ops/arithmetic/Acosh_3.md
+++ b/docs/ops/arithmetic/Acosh_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *Acosh-3*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Acosh* performs element-wise hyperbolic inverse cosine (arccosh) operation with given tensor.
diff --git a/docs/ops/arithmetic/Add_1.md b/docs/ops/arithmetic/Add_1.md
index d73bdaaea85..c71d182cc9f 100644
--- a/docs/ops/arithmetic/Add_1.md
+++ b/docs/ops/arithmetic/Add_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Add-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *Add* performs element-wise addition operation with two given tensors applying broadcasting rule specified in the *auto_broacast* attribute.
diff --git a/docs/ops/arithmetic/Asin_1.md b/docs/ops/arithmetic/Asin_1.md
index 5e7fe068ba7..69be38d84ab 100644
--- a/docs/ops/arithmetic/Asin_1.md
+++ b/docs/ops/arithmetic/Asin_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Asin-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Asin* performs element-wise inverse sine (arcsin) operation with given tensor.
diff --git a/docs/ops/arithmetic/Asinh_3.md b/docs/ops/arithmetic/Asinh_3.md
index 6fae01555d0..093161399f0 100644
--- a/docs/ops/arithmetic/Asinh_3.md
+++ b/docs/ops/arithmetic/Asinh_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *Asinh-3*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Asinh* performs element-wise inverse hyperbolic sine operation (arcsinh) on a given input tensor.
diff --git a/docs/ops/arithmetic/Atan_1.md b/docs/ops/arithmetic/Atan_1.md
index 7fc9525bf66..4439477f2a9 100644
--- a/docs/ops/arithmetic/Atan_1.md
+++ b/docs/ops/arithmetic/Atan_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Atan-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Atan* performs element-wise inverse tangent (arctangent) operation with given tensor.
diff --git a/docs/ops/arithmetic/Atanh_3.md b/docs/ops/arithmetic/Atanh_3.md
index d08486c4205..57deafc4130 100644
--- a/docs/ops/arithmetic/Atanh_3.md
+++ b/docs/ops/arithmetic/Atanh_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *Atanh-3*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Atanh* performs element-wise hyperbolic inverse tangent (arctangenth) operation with a given tensor.
diff --git a/docs/ops/arithmetic/Ceiling_1.md b/docs/ops/arithmetic/Ceiling_1.md
index e091824c96d..4f8a5e983d4 100644
--- a/docs/ops/arithmetic/Ceiling_1.md
+++ b/docs/ops/arithmetic/Ceiling_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Ceiling-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Ceiling* performs element-wise ceiling operation with given tensor.
diff --git a/docs/ops/arithmetic/Cos_1.md b/docs/ops/arithmetic/Cos_1.md
index 462b98fde2c..6b134d17f9b 100644
--- a/docs/ops/arithmetic/Cos_1.md
+++ b/docs/ops/arithmetic/Cos_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Cos-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Cos* performs element-wise cosine operation on a given input tensor.
diff --git a/docs/ops/arithmetic/Cosh_1.md b/docs/ops/arithmetic/Cosh_1.md
index 7f1e3055dd3..e736b2fb11f 100644
--- a/docs/ops/arithmetic/Cosh_1.md
+++ b/docs/ops/arithmetic/Cosh_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Cosh-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Cosh* performs element-wise hyperbolic cosine operation on a given input tensor.
diff --git a/docs/ops/arithmetic/CumSum_3.md b/docs/ops/arithmetic/CumSum_3.md
index 4ae6f8bde56..c33524a39f2 100644
--- a/docs/ops/arithmetic/CumSum_3.md
+++ b/docs/ops/arithmetic/CumSum_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *CumSum-3*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *CumSum* performs cumulative summation of the input elements along the given axis.
diff --git a/docs/ops/arithmetic/Divide_1.md b/docs/ops/arithmetic/Divide_1.md
index b69a07454a1..ef07ea3e1fa 100644
--- a/docs/ops/arithmetic/Divide_1.md
+++ b/docs/ops/arithmetic/Divide_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Divide-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *Divide* performs element-wise division operation with two given tensors applying broadcasting rule specified in the *auto_broacast* attribute.
diff --git a/docs/ops/arithmetic/Erf_1.md b/docs/ops/arithmetic/Erf_1.md
index 52d2d0301cb..ff137416254 100644
--- a/docs/ops/arithmetic/Erf_1.md
+++ b/docs/ops/arithmetic/Erf_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Erf-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Erf* performs element-wise Gauss error function (erf) on a given input tensor.
diff --git a/docs/ops/arithmetic/FloorMod_1.md b/docs/ops/arithmetic/FloorMod_1.md
index c573dee8304..eccad4177ef 100644
--- a/docs/ops/arithmetic/FloorMod_1.md
+++ b/docs/ops/arithmetic/FloorMod_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *FloorMod-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *FloorMod* performs an element-wise floor modulo operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.
diff --git a/docs/ops/arithmetic/Floor_1.md b/docs/ops/arithmetic/Floor_1.md
index 06690f06df8..d62c604e32b 100644
--- a/docs/ops/arithmetic/Floor_1.md
+++ b/docs/ops/arithmetic/Floor_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Floor-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Floor* performs element-wise floor operation with given tensor.
diff --git a/docs/ops/arithmetic/Log_1.md b/docs/ops/arithmetic/Log_1.md
index b8074316e79..f24e3d21542 100644
--- a/docs/ops/arithmetic/Log_1.md
+++ b/docs/ops/arithmetic/Log_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Log-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Log* performs element-wise natural logarithm operation with given tensor.
diff --git a/docs/ops/arithmetic/Maximum_1.md b/docs/ops/arithmetic/Maximum_1.md
index 18eb0e757b9..8ef87a94552 100644
--- a/docs/ops/arithmetic/Maximum_1.md
+++ b/docs/ops/arithmetic/Maximum_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Maximum-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *Maximum* performs element-wise maximum operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.
diff --git a/docs/ops/arithmetic/Minimum_1.md b/docs/ops/arithmetic/Minimum_1.md
index 30204e136dc..8131ffa6bc9 100644
--- a/docs/ops/arithmetic/Minimum_1.md
+++ b/docs/ops/arithmetic/Minimum_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Minimum-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *Minimum* performs element-wise minimum operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.
diff --git a/docs/ops/arithmetic/Mod_1.md b/docs/ops/arithmetic/Mod_1.md
index df414c0f4fe..febac678ed6 100644
--- a/docs/ops/arithmetic/Mod_1.md
+++ b/docs/ops/arithmetic/Mod_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Mod-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *Mod* performs an element-wise modulo operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.
diff --git a/docs/ops/arithmetic/Multiply_1.md b/docs/ops/arithmetic/Multiply_1.md
index a713c9c0eac..c6fd0b11ea2 100644
--- a/docs/ops/arithmetic/Multiply_1.md
+++ b/docs/ops/arithmetic/Multiply_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Multiply-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *Multiply* performs element-wise multiplication operation with two given tensors applying broadcasting rule specified in the *auto_broacast* attribute.
diff --git a/docs/ops/arithmetic/Negative_1.md b/docs/ops/arithmetic/Negative_1.md
index 997342c2d05..5fa0e630dda 100644
--- a/docs/ops/arithmetic/Negative_1.md
+++ b/docs/ops/arithmetic/Negative_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Negative-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Negative* performs element-wise negative operation on a given input tensor.
diff --git a/docs/ops/arithmetic/Power_1.md b/docs/ops/arithmetic/Power_1.md
index 571b4445e3d..f4de24bf038 100644
--- a/docs/ops/arithmetic/Power_1.md
+++ b/docs/ops/arithmetic/Power_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Power-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *Power* performs element-wise power operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.
diff --git a/docs/ops/arithmetic/Round_5.md b/docs/ops/arithmetic/Round_5.md
index 85cb480cadd..ae423dcd091 100644
--- a/docs/ops/arithmetic/Round_5.md
+++ b/docs/ops/arithmetic/Round_5.md
@@ -2,7 +2,7 @@
**Versioned name**: *Round-5*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Round* performs element-wise round operation with given tensor.
diff --git a/docs/ops/arithmetic/Sign_1.md b/docs/ops/arithmetic/Sign_1.md
index 1aa87097e62..f9691bf5488 100644
--- a/docs/ops/arithmetic/Sign_1.md
+++ b/docs/ops/arithmetic/Sign_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Sign-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Sign* performs element-wise sign operation on a given input tensor.
diff --git a/docs/ops/arithmetic/Sin_1.md b/docs/ops/arithmetic/Sin_1.md
index 24b43d2e39d..36bef086315 100644
--- a/docs/ops/arithmetic/Sin_1.md
+++ b/docs/ops/arithmetic/Sin_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Sin-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Sin* performs element-wise sine operation with given tensor.
diff --git a/docs/ops/arithmetic/Sinh_1.md b/docs/ops/arithmetic/Sinh_1.md
index 0f0c83b63e1..aeb99c7918d 100644
--- a/docs/ops/arithmetic/Sinh_1.md
+++ b/docs/ops/arithmetic/Sinh_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Sinh-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Sinh* performs element-wise hyperbolic sine (sinh) operation on a given input tensor
diff --git a/docs/ops/arithmetic/Sqrt_1.md b/docs/ops/arithmetic/Sqrt_1.md
index 9f2d1f665d7..a69dfd6458a 100644
--- a/docs/ops/arithmetic/Sqrt_1.md
+++ b/docs/ops/arithmetic/Sqrt_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Sqrt-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: Square root element-wise operation.
diff --git a/docs/ops/arithmetic/SquaredDifference_1.md b/docs/ops/arithmetic/SquaredDifference_1.md
index 509b70c2e14..b20ec7aa1ce 100644
--- a/docs/ops/arithmetic/SquaredDifference_1.md
+++ b/docs/ops/arithmetic/SquaredDifference_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *SquaredDifference-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *SquaredDifference* performs element-wise subtract and square the result operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.
diff --git a/docs/ops/arithmetic/Subtract_1.md b/docs/ops/arithmetic/Subtract_1.md
index 0720bd3415c..6a35d32ac35 100644
--- a/docs/ops/arithmetic/Subtract_1.md
+++ b/docs/ops/arithmetic/Subtract_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Subtract-1*
-**Category**: Arithmetic binary operation
+**Category**: *Arithmetic binary*
**Short description**: *Subtract* performs element-wise subtraction operation with two given tensors applying broadcasting rule specified in the *auto_broacast* attribute.
diff --git a/docs/ops/arithmetic/Tan_1.md b/docs/ops/arithmetic/Tan_1.md
index d9086f7ad5f..07491c3c9d1 100644
--- a/docs/ops/arithmetic/Tan_1.md
+++ b/docs/ops/arithmetic/Tan_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Tan-1*
-**Category**: Arithmetic unary operation
+**Category**: *Arithmetic unary*
**Short description**: *Tan* performs element-wise tangent operation with given tensor.
diff --git a/docs/ops/arithmetic/Tanh_1.md b/docs/ops/arithmetic/Tanh_1.md
index c5c77dbe0ab..0c90d4b496d 100644
--- a/docs/ops/arithmetic/Tanh_1.md
+++ b/docs/ops/arithmetic/Tanh_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Tanh-1*
-**Category**: *Arithmetic function*
+**Category**: *Arithmetic unary*
**Short description**: *Tanh* performs element-wise hyperbolic tangent (tanh) operation with given tensor.
diff --git a/docs/ops/comparison/Equal_1.md b/docs/ops/comparison/Equal_1.md
index 9bdd3361c26..bf813ca6c8c 100644
--- a/docs/ops/comparison/Equal_1.md
+++ b/docs/ops/comparison/Equal_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Equal-1*
-**Category**: Comparison binary operation
+**Category**: *Comparison binary*
**Short description**: *Equal* performs element-wise comparison operation with two given input tensors applying multi-directional broadcast rules specified in the *auto_broadcast* attribute.
diff --git a/docs/ops/comparison/GreaterEqual_1.md b/docs/ops/comparison/GreaterEqual_1.md
index f4a29c667fe..5cc5f2d8b6a 100644
--- a/docs/ops/comparison/GreaterEqual_1.md
+++ b/docs/ops/comparison/GreaterEqual_1.md
@@ -2,9 +2,18 @@
**Versioned name**: *GreaterEqual-1*
-**Category**: Comparison binary operation
+**Category**: *Comparison binary*
-**Short description**: *GreaterEqual* performs element-wise comparison operation with two given tensors applying multi-directional broadcast rules.
+**Short description**: *GreaterEqual* performs element-wise comparison operation with two given tensors applying broadcast rules specified in the `auto_broadcast` attribute.
+
+**Detailed description**
+Before performing arithmetic operation, input tensors *a* and *b* are broadcasted if their shapes are different and `auto_broadcast` attribute is not `none`. Broadcasting is performed according to `auto_broadcast` value.
+
+After broadcasting, *GreaterEqual* does the following with the input tensors *a* and *b*:
+
+\f[
+o_{i} = a_{i} \geq b_{i}
+\f]
**Attributes**:
@@ -13,36 +22,28 @@
* **Description**: specifies rules used for auto-broadcasting of input tensors.
* **Range of values**:
* *none* - no auto-broadcasting is allowed, all input shapes should match
- * *numpy* - numpy broadcasting rules, aligned with ONNX Broadcasting. Description is available in ONNX docs.
+ * *numpy* - numpy broadcasting rules, description is available in [Broadcast Rules For Elementwise Operations](../broadcast_rules.md)
+ * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in [Broadcast Rules For Elementwise Operations](../broadcast_rules.md)
* **Type**: string
* **Default value**: "numpy"
* **Required**: *no*
**Inputs**
-
-* **1**: A tensor of type *T*. **Required.**
-* **2**: A tensor of type *T*. **Required.**
+* **1**: A tensor of type *T* and arbitrary shape. **Required.**
+* **2**: A tensor of type *T* and arbitrary shape. **Required.**
**Outputs**
-* **1**: The result of element-wise comparison operation. A tensor of type boolean.
+* **1**: The result of element-wise *GreaterEqual* operation applied to the input tensors. A tensor of type *T_BOOL* and shape equal to broadcasted shape of two inputs.
**Types**
* *T*: arbitrary supported type.
-
-**Detailed description**
-Before performing arithmetic operation, input tensors *a* and *b* are broadcasted if their shapes are different and `auto_broadcast` attributes is not `none`. Broadcasting is performed according to `auto_broadcast` value.
-
-After broadcasting *GreaterEqual* does the following with the input tensors *a* and *b*:
-
-\f[
-o_{i} = a_{i} \geq b_{i}
-\f]
+* *T_BOOL*: `boolean`.
**Examples**
-*Example 1*
+*Example 1: no broadcast*
```xml
@@ -65,7 +66,7 @@ o_{i} = a_{i} \geq b_{i}
```
-*Example 2: broadcast*
+*Example 2: numpy broadcast*
```xml
diff --git a/docs/ops/comparison/Greater_1.md b/docs/ops/comparison/Greater_1.md
index a1fe52e0364..4076251fd1a 100644
--- a/docs/ops/comparison/Greater_1.md
+++ b/docs/ops/comparison/Greater_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Greater-1*
-**Category**: Comparison binary operation
+**Category**: *Comparison binary*
**Short description**: *Greater* performs element-wise comparison operation with two given tensors applying broadcast rules specified in the `auto_broadcast` attribute.
@@ -35,7 +35,7 @@ o_{i} = a_{i} > b_{i}
**Outputs**
-* **1**: The result of element-wise comparison operation applied to the input tensors. A tensor of type *T_BOOL* and shape equal to broadcasted shape of two inputs.
+* **1**: The result of element-wise *Greater* operation applied to the input tensors. A tensor of type *T_BOOL* and shape equal to broadcasted shape of two inputs.
**Types**
diff --git a/docs/ops/comparison/LessEqual_1.md b/docs/ops/comparison/LessEqual_1.md
index bb7eed13793..dbdf80c3716 100644
--- a/docs/ops/comparison/LessEqual_1.md
+++ b/docs/ops/comparison/LessEqual_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *LessEqual-1*
-**Category**: Comparison binary operation
+**Category**: *Comparison binary*
**Short description**: *LessEqual* performs element-wise comparison operation with two given tensors applying broadcast rules specified in the *auto_broadcast* attribute.
diff --git a/docs/ops/comparison/Less_1.md b/docs/ops/comparison/Less_1.md
index dcf210d6579..ca24f17cd16 100644
--- a/docs/ops/comparison/Less_1.md
+++ b/docs/ops/comparison/Less_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Less-1*
-**Category**: Comparison binary operation
+**Category**: *Comparison binary*
**Short description**: *Less* performs element-wise comparison operation with two given tensors applying multi-directional broadcast rules.
diff --git a/docs/ops/comparison/NotEqual_1.md b/docs/ops/comparison/NotEqual_1.md
index 691da41c175..dd077b9d2fc 100644
--- a/docs/ops/comparison/NotEqual_1.md
+++ b/docs/ops/comparison/NotEqual_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *NotEqual-1*
-**Category**: Comparison binary operation
+**Category**: *Comparison binary*
**Short description**: *NotEqual* performs element-wise comparison operation with two given tensors applying
multi-directional broadcast rules specified in the `auto_broadcast` attribute.
diff --git a/docs/ops/condition/Bucketize_3.md b/docs/ops/condition/Bucketize_3.md
index 40b9369f191..2de9a166aea 100644
--- a/docs/ops/condition/Bucketize_3.md
+++ b/docs/ops/condition/Bucketize_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *Bucketize-3*
-**Category**: Condition operation
+**Category**: *Condition*
**Short description**: *Bucketize* bucketizes the input based on boundaries. This is similar to [Reference](https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/bucketize).
diff --git a/docs/ops/condition/If_8.md b/docs/ops/condition/If_8.md
index 7de2449b1ea..3d2e9268901 100644
--- a/docs/ops/condition/If_8.md
+++ b/docs/ops/condition/If_8.md
@@ -2,7 +2,7 @@
**Versioned name**: *If-8*
-**Category**: Infrastructure
+**Category**: *Condition*
**Short description**: *If* operation contains two internal networks(subgraphs) such as `then_body` and `else_body`,
and performs one of them depending on `cond` value. If `cond` is `True`, `then_body` is executed. If `cond` is `False`,
diff --git a/docs/ops/condition/NonZero_3.md b/docs/ops/condition/NonZero_3.md
index 3034936721c..6d71ea808f3 100644
--- a/docs/ops/condition/NonZero_3.md
+++ b/docs/ops/condition/NonZero_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *NonZero-3*
-**Category**: Condition operation
+**Category**: *Condition*
**Short description**: *NonZero* returns the indices of the non-zero elements of the input tensor.
diff --git a/docs/ops/condition/Select_1.md b/docs/ops/condition/Select_1.md
index 56e5fde8eab..78ec5d5a5d2 100644
--- a/docs/ops/condition/Select_1.md
+++ b/docs/ops/condition/Select_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Select-1*
-**Category**: *Conditions*
+**Category**: *Condition*
**Short description**: *Select* returns a tensor filled with the elements from the second or the third inputs, depending on the condition (the first input) value.
diff --git a/docs/ops/convolution/ConvolutionBackpropData_1.md b/docs/ops/convolution/ConvolutionBackpropData_1.md
index a69f5e300ad..a630a113cf7 100644
--- a/docs/ops/convolution/ConvolutionBackpropData_1.md
+++ b/docs/ops/convolution/ConvolutionBackpropData_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *ConvolutionBackpropData-1*
-**Category**: Convolution
+**Category**: *Convolution*
**Short description**: Computes 1D, 2D or 3D *ConvolutionBackpropData* operation with respect to the input and kernel tensors. Also known as a Transposed Convolution.
diff --git a/docs/ops/convolution/Convolution_1.md b/docs/ops/convolution/Convolution_1.md
index 431575b99c3..068bad8b210 100644
--- a/docs/ops/convolution/Convolution_1.md
+++ b/docs/ops/convolution/Convolution_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Convolution-1*
-**Category**: Convolution
+**Category**: *Convolution*
**Short description**: Computes 1D, 2D or 3D convolution (cross-correlation to be precise) of input and kernel tensors.
diff --git a/docs/ops/convolution/DeformableConvolution_1.md b/docs/ops/convolution/DeformableConvolution_1.md
index 6c73e202be5..ed64bb0e71c 100644
--- a/docs/ops/convolution/DeformableConvolution_1.md
+++ b/docs/ops/convolution/DeformableConvolution_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *DeformableConvolution-1*
-**Category**: Convolution
+**Category**: *Convolution*
**Short description**: Computes 2D deformable convolution of input and kernel tensors.
diff --git a/docs/ops/convolution/DeformableConvolution_8.md b/docs/ops/convolution/DeformableConvolution_8.md
index fc7c05a235c..9ae40f87a9e 100644
--- a/docs/ops/convolution/DeformableConvolution_8.md
+++ b/docs/ops/convolution/DeformableConvolution_8.md
@@ -2,7 +2,7 @@
**Versioned name**: *DeformableConvolution-8*
-**Category**: Convolution
+**Category**: *Convolution*
**Short description**: Computes 2D deformable convolution of input and kernel tensors.
diff --git a/docs/ops/convolution/GroupConvolutionBackpropData_1.md b/docs/ops/convolution/GroupConvolutionBackpropData_1.md
index 6739d5dfcb0..94f7bdf267c 100644
--- a/docs/ops/convolution/GroupConvolutionBackpropData_1.md
+++ b/docs/ops/convolution/GroupConvolutionBackpropData_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *GroupConvolutionBackpropData-1*
-**Category**: Convolution
+**Category**: *Convolution*
**Short description**: Computes 1D, 2D or 3D *GroupConvolutionBackpropData* of input and kernel tensors.
diff --git a/docs/ops/convolution/GroupConvolution_1.md b/docs/ops/convolution/GroupConvolution_1.md
index 619d5f6151d..9739274147c 100644
--- a/docs/ops/convolution/GroupConvolution_1.md
+++ b/docs/ops/convolution/GroupConvolution_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *GroupConvolution-1*
-**Category**: Convolution
+**Category**: *Convolution*
**Short description**: Computes 1D, 2D or 3D GroupConvolution of input and kernel tensors.
diff --git a/docs/ops/detection/DeformablePSROIPooling_1.md b/docs/ops/detection/DeformablePSROIPooling_1.md
index 856b273da8d..1d4fbfb8abe 100644
--- a/docs/ops/detection/DeformablePSROIPooling_1.md
+++ b/docs/ops/detection/DeformablePSROIPooling_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *DeformablePSROIPooling-1*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: *DeformablePSROIPooling* computes deformable position-sensitive pooling of regions of interest specified by input.
diff --git a/docs/ops/detection/ExperimentalDetectronDetectionOutput_6.md b/docs/ops/detection/ExperimentalDetectronDetectionOutput_6.md
index 56e3222e973..a1008ec14be 100644
--- a/docs/ops/detection/ExperimentalDetectronDetectionOutput_6.md
+++ b/docs/ops/detection/ExperimentalDetectronDetectionOutput_6.md
@@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronDetectionOutput-6*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: The *ExperimentalDetectronDetectionOutput* operation performs non-maximum suppression to generate
the detection output using information on location and score predictions.
diff --git a/docs/ops/detection/ExperimentalDetectronGenerateProposalsSingleImage_6.md b/docs/ops/detection/ExperimentalDetectronGenerateProposalsSingleImage_6.md
index c822f74de8d..915a269d10f 100644
--- a/docs/ops/detection/ExperimentalDetectronGenerateProposalsSingleImage_6.md
+++ b/docs/ops/detection/ExperimentalDetectronGenerateProposalsSingleImage_6.md
@@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronGenerateProposalsSingleImage-6*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: The *ExperimentalDetectronGenerateProposalsSingleImage* operation computes ROIs and their scores
based on input data.
diff --git a/docs/ops/detection/ExperimentalDetectronPriorGridGenerator_6.md b/docs/ops/detection/ExperimentalDetectronPriorGridGenerator_6.md
index d3e1caa5155..31078c09516 100644
--- a/docs/ops/detection/ExperimentalDetectronPriorGridGenerator_6.md
+++ b/docs/ops/detection/ExperimentalDetectronPriorGridGenerator_6.md
@@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronPriorGridGenerator-6*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: The *ExperimentalDetectronPriorGridGenerator* operation generates prior grids of specified sizes.
diff --git a/docs/ops/detection/ExperimentalDetectronROIFeatureExtractor_6.md b/docs/ops/detection/ExperimentalDetectronROIFeatureExtractor_6.md
index effa9472ff3..b6536e71a12 100644
--- a/docs/ops/detection/ExperimentalDetectronROIFeatureExtractor_6.md
+++ b/docs/ops/detection/ExperimentalDetectronROIFeatureExtractor_6.md
@@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronROIFeatureExtractor-6*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: *ExperimentalDetectronROIFeatureExtractor* is the [ROIAlign](ROIAlign_3.md) operation applied
over a feature pyramid.
diff --git a/docs/ops/detection/PSROIPooling_1.md b/docs/ops/detection/PSROIPooling_1.md
index 44d4bca2c8e..4b4546f7efb 100644
--- a/docs/ops/detection/PSROIPooling_1.md
+++ b/docs/ops/detection/PSROIPooling_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *PSROIPooling-1*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: *PSROIPooling* computes position-sensitive pooling on regions of interest specified by input.
diff --git a/docs/ops/detection/PriorBoxClustered_1.md b/docs/ops/detection/PriorBoxClustered_1.md
index 3049f851949..1815e5a72b3 100644
--- a/docs/ops/detection/PriorBoxClustered_1.md
+++ b/docs/ops/detection/PriorBoxClustered_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *PriorBoxClustered-1*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: *PriorBoxClustered* operation generates prior boxes of specified sizes normalized to the input image size.
diff --git a/docs/ops/detection/PriorBox_1.md b/docs/ops/detection/PriorBox_1.md
index 57cd936a8f9..39ea4afecb2 100644
--- a/docs/ops/detection/PriorBox_1.md
+++ b/docs/ops/detection/PriorBox_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *PriorBox-1*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: *PriorBox* operation generates prior boxes of specified sizes and aspect ratios across all dimensions.
diff --git a/docs/ops/detection/ROIAlign_3.md b/docs/ops/detection/ROIAlign_3.md
index 13c049f2f7e..23ad2911039 100644
--- a/docs/ops/detection/ROIAlign_3.md
+++ b/docs/ops/detection/ROIAlign_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *ROIAlign-3*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: *ROIAlign* is a *pooling layer* used over feature maps of non-uniform input sizes and outputs a feature map of a fixed size.
diff --git a/docs/ops/detection/ROIPooling_1.md b/docs/ops/detection/ROIPooling_1.md
index 65da4d44e6d..2597fa3d20b 100644
--- a/docs/ops/detection/ROIPooling_1.md
+++ b/docs/ops/detection/ROIPooling_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *ROIPooling-1*
-**Category**: Object detection
+**Category**: *Object detection*
**Short description**: *ROIPooling* is a *pooling layer* used over feature maps of non-uniform input sizes and outputs a feature map of a fixed size.
diff --git a/docs/ops/generation/RandomUniform_8.md b/docs/ops/generation/RandomUniform_8.md
index 4fff2684d6c..8f461bdf045 100644
--- a/docs/ops/generation/RandomUniform_8.md
+++ b/docs/ops/generation/RandomUniform_8.md
@@ -2,7 +2,7 @@
**Versioned name**: *RandomUniform-8*
-**Category**: Generation
+**Category**: *Generation*
**Short description**: *RandomUniform* operation generates a sequence of random values from a uniform distribution.
diff --git a/docs/ops/generation/Range_1.md b/docs/ops/generation/Range_1.md
index 3e2f1d37eef..3852f021594 100644
--- a/docs/ops/generation/Range_1.md
+++ b/docs/ops/generation/Range_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Range-1*
-**Category**: Generation
+**Category**: *Generation*
**Short description**: *Range* operation generates a sequence of numbers according input values [start, stop) with a step.
diff --git a/docs/ops/generation/Range_4.md b/docs/ops/generation/Range_4.md
index 0c36bac7cfd..bf57e13412f 100644
--- a/docs/ops/generation/Range_4.md
+++ b/docs/ops/generation/Range_4.md
@@ -2,7 +2,7 @@
**Versioned name**: *Range-4*
-**Category**: Generation
+**Category**: *Generation*
**Short description**: *Range* operation generates a sequence of numbers according input values [start, stop) with a step.
diff --git a/docs/ops/image/Interpolate_1.md b/docs/ops/image/Interpolate_1.md
index e4f998faf4e..4cb3ad21030 100644
--- a/docs/ops/image/Interpolate_1.md
+++ b/docs/ops/image/Interpolate_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Interpolate-1*
-**Category**: Image processing
+**Category**: *Image processing*
**Short description**: *Interpolate* layer performs interpolation of independent slices in input tensor by specified dimensions and attributes.
diff --git a/docs/ops/image/Interpolate_4.md b/docs/ops/image/Interpolate_4.md
index 6e5b6e8f818..ef159ab2b82 100644
--- a/docs/ops/image/Interpolate_4.md
+++ b/docs/ops/image/Interpolate_4.md
@@ -2,7 +2,7 @@
**Versioned name**: *Interpolate-4*
-**Category**: Image processing
+**Category**: *Image processing*
**Short description**: *Interpolate* layer performs interpolation of independent slices in input tensor by specified dimensions and attributes.
diff --git a/docs/ops/infrastructure/Loop_5.md b/docs/ops/infrastructure/Loop_5.md
index 784dc4ca294..3774c1dc68d 100644
--- a/docs/ops/infrastructure/Loop_5.md
+++ b/docs/ops/infrastructure/Loop_5.md
@@ -2,7 +2,7 @@
**Versioned name**: *Loop-5*
-**Category**: Infrastructure
+**Category**: *Infrastructure*
**Short description**: *Loop* operation performs recurrent execution of the network, which is described in the `body`, iterating through the data.
The operation has similar semantic to the ONNX* Loop [operation](https://github.com/onnx/onnx/blob/master/docs/Changelog.md#Loop-13).
diff --git a/docs/ops/infrastructure/TensorIterator_1.md b/docs/ops/infrastructure/TensorIterator_1.md
index 6edffef5dae..996b0b1d321 100644
--- a/docs/ops/infrastructure/TensorIterator_1.md
+++ b/docs/ops/infrastructure/TensorIterator_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *TensorIterator-1*
-**Category**: Infrastructure
+**Category**: *Infrastructure*
**Short description**: *TensorIterator* layer performs recurrent execution of the network, which is described in the `body`, iterating through the data.
diff --git a/docs/ops/logical/LogicalAnd_1.md b/docs/ops/logical/LogicalAnd_1.md
index 385dd89a3a3..b8c935a7769 100644
--- a/docs/ops/logical/LogicalAnd_1.md
+++ b/docs/ops/logical/LogicalAnd_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *LogicalAnd-1*
-**Category**: Logical binary operation
+**Category**: *Logical binary*
**Short description**: *LogicalAnd* performs element-wise logical AND operation with two given tensors applying multi-directional broadcast rules.
diff --git a/docs/ops/logical/LogicalNot_1.md b/docs/ops/logical/LogicalNot_1.md
index 97c41ddb14c..9c5f35081cc 100644
--- a/docs/ops/logical/LogicalNot_1.md
+++ b/docs/ops/logical/LogicalNot_1.md
@@ -2,35 +2,36 @@
**Versioned name**: *LogicalNot-1*
-**Category**: Logical unary operation
+**Category**: *Logical unary*
**Short description**: *LogicalNot* performs element-wise logical negation operation with given tensor.
-**Attributes**:
-
- No attributes available.
-
-**Inputs**
-
-* **1**: An tensor of type *T*. **Required.**
-
-**Outputs**
-
-* **1**: The result of element-wise logical negation operation. A tensor of type *T*.
-
-**Types**
-
-* *T*: boolean type.
-
-*LogicalNot* does the following with the input tensor *a*:
+**Detailed description**: *LogicalNot* performs element-wise logical negation operation with given tensor, based on the following mathematical formula:
\f[
a_{i} = \lnot a_{i}
\f]
-**Examples**
+**Attributes**: *LogicalNot* operation has no attributes.
-*Example 1*
+**Inputs**
+
+* **1**: A tensor of type *T_BOOL* and arbitrary shape. **Required.**
+
+**Outputs**
+
+* **1**: The result of element-wise logical negation operation. A tensor of type *T_BOOL* and the same shape as input tensor.
+
+**Types**
+
+* *T_BOOL*: `boolean`.
+
+\f[
+a_{i} = \lnot a_{i}
+\f]
+
+
+**Example**
```xml
diff --git a/docs/ops/logical/LogicalOr_1.md b/docs/ops/logical/LogicalOr_1.md
index 0e88a6c82fa..54c6344b0c5 100644
--- a/docs/ops/logical/LogicalOr_1.md
+++ b/docs/ops/logical/LogicalOr_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *LogicalOr-1*
-**Category**: Logical binary operation
+**Category**: *Logical binary*
**Short description**: *LogicalOr* performs element-wise logical OR operation with two given tensors applying multi-directional broadcast rules.
diff --git a/docs/ops/logical/LogicalXor_1.md b/docs/ops/logical/LogicalXor_1.md
index a6a832308ae..52f25caae67 100644
--- a/docs/ops/logical/LogicalXor_1.md
+++ b/docs/ops/logical/LogicalXor_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *LogicalXor-1*
-**Category**: Logical binary operation
+**Category**: *Logical binary*
**Short description**: *LogicalXor* performs element-wise logical XOR operation with two given tensors applying multi-directional broadcast rules.
diff --git a/docs/ops/matrix/Einsum_7.md b/docs/ops/matrix/Einsum_7.md
index ab8057dfcee..94cb1387282 100644
--- a/docs/ops/matrix/Einsum_7.md
+++ b/docs/ops/matrix/Einsum_7.md
@@ -2,7 +2,7 @@
**Versioned name**: *Einsum-7*
-**Category**: Matrix multiplication
+**Category**: *Matrix multiplication*
**Short description**: *Einsum* performs the Einstein summation convention on the operands.
diff --git a/docs/ops/matrix/MatMul_1.md b/docs/ops/matrix/MatMul_1.md
index 2299ea01f96..33ed6695324 100644
--- a/docs/ops/matrix/MatMul_1.md
+++ b/docs/ops/matrix/MatMul_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *MatMul-1*
-**Category**: Matrix multiplication
+**Category**: *Matrix multiplication*
**Short description**: Generalized matrix multiplication
diff --git a/docs/ops/movement/Broadcast_1.md b/docs/ops/movement/Broadcast_1.md
index b224f6dfc53..be1db9cc658 100644
--- a/docs/ops/movement/Broadcast_1.md
+++ b/docs/ops/movement/Broadcast_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Broadcast-1*
-**Category**: Data movement
+**Category**: *Data movement*
**Short description**: *Broadcast* replicates data on the first input to fit a given shape on the second input.
diff --git a/docs/ops/movement/Broadcast_3.md b/docs/ops/movement/Broadcast_3.md
index 51b91e7aee6..cd24431324a 100644
--- a/docs/ops/movement/Broadcast_3.md
+++ b/docs/ops/movement/Broadcast_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *Broadcast-3*
-**Category**: Data movement
+**Category**: *Data movement*
**Short description**: *Broadcast* replicates data on the first input to fit a given shape on the second input.
diff --git a/docs/ops/movement/Concat_1.md b/docs/ops/movement/Concat_1.md
index 36f2ba620c7..371ae8bd9a8 100644
--- a/docs/ops/movement/Concat_1.md
+++ b/docs/ops/movement/Concat_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Concat-1*
-**Category**: data movement operation.
+**Category**: *Data movement*
**Short description**: Concatenates arbitrary number of input tensors to a single output tensor along one axis.
diff --git a/docs/ops/movement/GatherElements_6.md b/docs/ops/movement/GatherElements_6.md
index 57b67a697cf..153b52e89c1 100644
--- a/docs/ops/movement/GatherElements_6.md
+++ b/docs/ops/movement/GatherElements_6.md
@@ -2,7 +2,7 @@
**Versioned name**: *GatherElements-6*
-**Category**: Data movement operations
+**Category**: *Data movement*
**Short description**: *GatherElements* takes elements from the input `data` tensor at positions specified in the `indices` tensor.
diff --git a/docs/ops/movement/GatherND_5.md b/docs/ops/movement/GatherND_5.md
index 85270d0c463..322c0e8f2ba 100644
--- a/docs/ops/movement/GatherND_5.md
+++ b/docs/ops/movement/GatherND_5.md
@@ -2,7 +2,7 @@
**Versioned name**: *GatherND-5*
-**Category**: Data movement operations
+**Category**: *Data movement*
**Short description**: *GatherND* gathers slices from input tensor into a tensor of a shape specified by indices.
diff --git a/docs/ops/movement/Gather_1.md b/docs/ops/movement/Gather_1.md
index f10724c0a56..d105a1dfd9b 100644
--- a/docs/ops/movement/Gather_1.md
+++ b/docs/ops/movement/Gather_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Gather-1*
-**Category**: Data movement operations
+**Category**: *Data movement*
**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.
diff --git a/docs/ops/movement/Gather_7.md b/docs/ops/movement/Gather_7.md
index 63f30c9faaa..19e5854f0ca 100644
--- a/docs/ops/movement/Gather_7.md
+++ b/docs/ops/movement/Gather_7.md
@@ -2,7 +2,7 @@
**Versioned name**: *Gather-7*
-**Category**: Data movement operations
+**Category**: *Data movement*
**Short description**: *Gather* operation takes slices of data of the first input tensor according to the indices
specified with the second input tensor and axis from the third input. Semantics of this operation is identical to
diff --git a/docs/ops/movement/Gather_8.md b/docs/ops/movement/Gather_8.md
index 9c07397288c..4120d3f3eaf 100644
--- a/docs/ops/movement/Gather_8.md
+++ b/docs/ops/movement/Gather_8.md
@@ -2,11 +2,12 @@
**Versioned name**: *Gather-8*
-**Category**: Data movement operations
+**Category**: *Data movement*
**Short description**: *Gather* operation takes slices of data of the first input tensor according to the indices
specified with the second input tensor and axis from the third input. Semantics of this operation is identical to
-TensorFlow\* [Gather](https://www.tensorflow.org/api_docs/python/tf/gather) operation.
+TensorFlow\* [Gather](https://www.tensorflow.org/api_docs/python/tf/gather) operation but also includes
+support of negative indices.
**Detailed description**
@@ -15,6 +16,8 @@ TensorFlow\* [Gather](https://www.tensorflow.org/api_docs/python/tf/gather) oper
Where `data`, `indices` and `axis` are tensors from first, second and third inputs correspondingly, `b` is
the number of batch dimensions. `N` and `M` are numbers of dimensions of `data` and `indices` tensors, respectively.
+Allowed values for indices are in the range `[-data.shape[axis], data.shape[axis] - 1]`. If index value exceed allowed
+range output data for corresponding index will be filled with zeros (Example 7).
**Attributes**:
* *batch_dims*
@@ -142,13 +145,23 @@ data = [1, 2, 3, 4, 5]
output = [1, 4, 5]
```
+Example 7 with indices out of the range:
+```
+batch_dims = 0
+axis = 0
+
+indices = [3, 10, -20]
+data = [1, 2, 3, 4, 5]
+output = [4, 0, 0]
+```
+
**Inputs**
* **1**: `data` tensor of type *T* with arbitrary data. **Required.**
* **2**: `indices` tensor of type *T_IND* with indices to gather. 0D tensor (scalar) for indices is also allowed.
- The values for indices are in the range `[-data[axis], data[axis] - 1]`.
- Negative values of indices indicate reverse indexing from `data[axis]`.
+ The values for indices are in the range `[-data.shape[axis], data.shape[axis] - 1]`.
+ Negative values of indices indicate reverse indexing from `data.shape[axis]`.
**Required.**
* **3**: Scalar or 1D tensor `axis` of *T_AXIS* type is a dimension index to gather data from. For example,
diff --git a/docs/ops/movement/Pad_1.md b/docs/ops/movement/Pad_1.md
index 4b9d3a3f642..5aa1fc6fdb2 100644
--- a/docs/ops/movement/Pad_1.md
+++ b/docs/ops/movement/Pad_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Pad-1*
-**Category**: *Data movement operations*
+**Category**: *Data movement*
**Short description**: *Pad* operation extends an input tensor on edges. The amount and value of padded elements are defined by inputs and attributes.
diff --git a/docs/ops/movement/Reverse_1.md b/docs/ops/movement/Reverse_1.md
index a75bf520bcc..31f04969953 100644
--- a/docs/ops/movement/Reverse_1.md
+++ b/docs/ops/movement/Reverse_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Reverse-1*
-**Category**: data movement operation
+**Category**: *Data movement*
**Short description**: *Reverse* operations reverse specified axis in an input tensor.
diff --git a/docs/ops/movement/Roll_7.md b/docs/ops/movement/Roll_7.md
index 8633d7bc963..fc58a033926 100644
--- a/docs/ops/movement/Roll_7.md
+++ b/docs/ops/movement/Roll_7.md
@@ -2,7 +2,7 @@
**Versioned name**: *Roll-7*
-**Category**: data movement operation
+**Category**: *Data movement*
**Short description**: The *Roll* operation shifts elements of a tensor along specified axes.
diff --git a/docs/ops/movement/ScatterElementsUpdate_3.md b/docs/ops/movement/ScatterElementsUpdate_3.md
index 5a7a81f76b5..271e98a0b08 100644
--- a/docs/ops/movement/ScatterElementsUpdate_3.md
+++ b/docs/ops/movement/ScatterElementsUpdate_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *ScatterElementsUpdate-3*
-**Category**: Data movement operations
+**Category**: *Data movement*
**Short description**: Creates a copy of the first input tensor with updated elements specified with second and third input tensors.
diff --git a/docs/ops/movement/ScatterNDUpdate_3.md b/docs/ops/movement/ScatterNDUpdate_3.md
index 42376bcb12e..242d4d9b37d 100644
--- a/docs/ops/movement/ScatterNDUpdate_3.md
+++ b/docs/ops/movement/ScatterNDUpdate_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *ScatterNDUpdate-3*
-**Category**: Data movement operations
+**Category**: *Data movement*
**Short description**: Creates a copy of the first input tensor with updated elements specified with second and third input tensors.
diff --git a/docs/ops/movement/ScatterUpdate_3.md b/docs/ops/movement/ScatterUpdate_3.md
index 74903e21117..b004ad1b663 100644
--- a/docs/ops/movement/ScatterUpdate_3.md
+++ b/docs/ops/movement/ScatterUpdate_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *ScatterUpdate-3*
-**Category**: Data movement operations
+**Category**: *Data movement*
**Short description**: *ScatterUpdate* creates a copy of the first input tensor with updated elements specified with second and third input tensors.
diff --git a/docs/ops/movement/ShuffleChannels_1.md b/docs/ops/movement/ShuffleChannels_1.md
index 9970fed7c6a..47f3518746c 100644
--- a/docs/ops/movement/ShuffleChannels_1.md
+++ b/docs/ops/movement/ShuffleChannels_1.md
@@ -4,7 +4,7 @@
**Name**: *ShuffleChannels*
-**Category**: Data movement
+**Category**: *Data movement*
**Short description**: *ShuffleChannels* permutes data in the channel dimension of the input tensor.
diff --git a/docs/ops/movement/Split_1.md b/docs/ops/movement/Split_1.md
index 7dd0ed6f102..0f78b20e0e0 100644
--- a/docs/ops/movement/Split_1.md
+++ b/docs/ops/movement/Split_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Split-1*
-**Category**: *Data movement operations*
+**Category**: *Data movement*
**Short description**: *Split* operation splits an input tensor into pieces of the same length along some axis.
diff --git a/docs/ops/movement/StridedSlice_1.md b/docs/ops/movement/StridedSlice_1.md
index da3a580e0ec..238bd4c0c36 100644
--- a/docs/ops/movement/StridedSlice_1.md
+++ b/docs/ops/movement/StridedSlice_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *StridedSlice-1*
-**Category**: Data movement operation
+**Category**: *Data movement*
**Short description**: *StridedSlice* extracts a strided slice of a tensor.
diff --git a/docs/ops/movement/Tile_1.md b/docs/ops/movement/Tile_1.md
index b0d17a3fb47..76ba4f58490 100644
--- a/docs/ops/movement/Tile_1.md
+++ b/docs/ops/movement/Tile_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Tile-1*
-**Category**: Data movement
+**Category**: *Data movement*
**Short description**: *Tile* operation repeats an input tensor *"data"* the number of times given by *"repeats"* input tensor along each dimension.
* If number of elements in *"repeats"* is more than shape of *"data"*, then *"data"* will be promoted to "*repeats*" by prepending new axes, e.g. let's shape of *"data"* is equal to (2, 3) and *"repeats"* is equal to [2, 2, 2], then shape of *"data"* will be promoted to (1, 2, 3) and result shape will be (2, 4, 6).
diff --git a/docs/ops/movement/Transpose_1.md b/docs/ops/movement/Transpose_1.md
index 5c38171035e..d60387dd8b3 100644
--- a/docs/ops/movement/Transpose_1.md
+++ b/docs/ops/movement/Transpose_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Transpose-1*
-**Category**: Data movement
+**Category**: *Data movement*
**Short description**: *Transpose* operation reorders the input tensor dimensions.
diff --git a/docs/ops/movement/VariadicSplit_1.md b/docs/ops/movement/VariadicSplit_1.md
index d14bce1324f..da15f9fc809 100644
--- a/docs/ops/movement/VariadicSplit_1.md
+++ b/docs/ops/movement/VariadicSplit_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *VariadicSplit-1*
-**Category**: *Data movement operations*
+**Category**: *Data movement*
**Short description**: *VariadicSplit* operation splits an input tensor into chunks along some axis. The chunks may have variadic lengths depending on `split_lengths` input tensor.
diff --git a/docs/ops/quantization/FakeQuantize_1.md b/docs/ops/quantization/FakeQuantize_1.md
index 099cdecc9c5..6598de09d48 100644
--- a/docs/ops/quantization/FakeQuantize_1.md
+++ b/docs/ops/quantization/FakeQuantize_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *FakeQuantize-1*
-**Category**: Quantization
+**Category**: *Quantization*
**Short description**: *FakeQuantize* is element-wise linear quantization of floating-point input values into a discrete set of floating-point values.
diff --git a/docs/ops/sequence/CTCGreedyDecoderSeqLen_6.md b/docs/ops/sequence/CTCGreedyDecoderSeqLen_6.md
index 1ff17376926..956ca032179 100644
--- a/docs/ops/sequence/CTCGreedyDecoderSeqLen_6.md
+++ b/docs/ops/sequence/CTCGreedyDecoderSeqLen_6.md
@@ -2,7 +2,7 @@
**Versioned name**: *CTCGreedyDecoderSeqLen-6*
-**Category**: Sequence processing
+**Category**: *Sequence processing*
**Short description**: *CTCGreedyDecoderSeqLen* performs greedy decoding of the logits provided as the first input. The sequence lengths are provided as the second input.
@@ -74,7 +74,8 @@ The main difference between [CTCGreedyDecoder](CTCGreedyDecoder_1.md) and CTCGre
**Example**
```xml
-
+
+
8
diff --git a/docs/ops/sequence/CTCGreedyDecoder_1.md b/docs/ops/sequence/CTCGreedyDecoder_1.md
index ca90cdcae6c..cfaced502a4 100644
--- a/docs/ops/sequence/CTCGreedyDecoder_1.md
+++ b/docs/ops/sequence/CTCGreedyDecoder_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *CTCGreedyDecoder-1*
-**Category**: Sequence processing
+**Category**: *Sequence processing*
**Short description**: *CTCGreedyDecoder* performs greedy decoding on the logits given in input (best path).
diff --git a/docs/ops/sequence/CTCLoss_4.md b/docs/ops/sequence/CTCLoss_4.md
index 66a2b30167f..cb092511077 100644
--- a/docs/ops/sequence/CTCLoss_4.md
+++ b/docs/ops/sequence/CTCLoss_4.md
@@ -2,7 +2,7 @@
**Versioned name**: *CTCLoss-4*
-**Category**: Sequence processing
+**Category**: *Sequence processing*
**Short description**: *CTCLoss* computes the CTC (Connectionist Temporal Classification) Loss.
diff --git a/docs/ops/sequence/GRUCell_3.md b/docs/ops/sequence/GRUCell_3.md
index 0c5f40a6916..df5b14046d9 100644
--- a/docs/ops/sequence/GRUCell_3.md
+++ b/docs/ops/sequence/GRUCell_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *GRUCell-3*
-**Category**: Sequence processing
+**Category**: *Sequence processing*
**Short description**: *GRUCell* represents a single GRU Cell that computes the output using the formula described in the [paper](https://arxiv.org/abs/1406.1078).
diff --git a/docs/ops/sequence/OneHot_1.md b/docs/ops/sequence/OneHot_1.md
index 8554779efc0..bc1e37a446f 100644
--- a/docs/ops/sequence/OneHot_1.md
+++ b/docs/ops/sequence/OneHot_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *OneHot-1*
-**Category**: Sequence processing
+**Category**: *Sequence processing*
**Short description**: *OneHot* sets the elements in the output tensor with specified indices to `on_value` and fills all other locations with `off_value`.
diff --git a/docs/ops/sequence/RNNCell_3.md b/docs/ops/sequence/RNNCell_3.md
index ea678fd4854..dc7418ec1f2 100644
--- a/docs/ops/sequence/RNNCell_3.md
+++ b/docs/ops/sequence/RNNCell_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *RNNCell-3*
-**Category**: Sequence processing
+**Category**: *Sequence processing*
**Short description**: *RNNCell* represents a single RNN cell that computes the output using the formula described in the [article](https://hackernoon.com/understanding-architecture-of-lstm-cell-from-scratch-with-code-8da40f0b71f4).
diff --git a/docs/ops/shape/Reshape_1.md b/docs/ops/shape/Reshape_1.md
index ac3cbbb0707..324a2dab9ec 100644
--- a/docs/ops/shape/Reshape_1.md
+++ b/docs/ops/shape/Reshape_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Reshape-1*
-**Category**: Shape manipulation
+**Category**: *Shape manipulation*
**Short description**: *Reshape* operation changes dimensions of the input tensor according to the specified order. Input tensor volume is equal to output tensor volume, where volume is the product of dimensions.
diff --git a/docs/ops/shape/ShapeOf_1.md b/docs/ops/shape/ShapeOf_1.md
index 7711b7424c3..cda4bd74c61 100644
--- a/docs/ops/shape/ShapeOf_1.md
+++ b/docs/ops/shape/ShapeOf_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *ShapeOf-1*
-**Category**: Shape manipulation
+**Category**: *Shape manipulation*
**Short description**: *ShapeOf* produces 1D tensor with the input tensor shape.
diff --git a/docs/ops/shape/ShapeOf_3.md b/docs/ops/shape/ShapeOf_3.md
index 8952753ef82..3ca8013d627 100644
--- a/docs/ops/shape/ShapeOf_3.md
+++ b/docs/ops/shape/ShapeOf_3.md
@@ -2,7 +2,7 @@
**Versioned name**: *ShapeOf-3*
-**Category**: Shape manipulation
+**Category**: *Shape manipulation*
**Short description**: *ShapeOf* produces 1D tensor with the input tensor shape.
diff --git a/docs/ops/shape/Squeeze_1.md b/docs/ops/shape/Squeeze_1.md
index 7a8b9733be1..535e60c4ac9 100644
--- a/docs/ops/shape/Squeeze_1.md
+++ b/docs/ops/shape/Squeeze_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Squeeze-1*
-**Category**: Shape manipulation
+**Category**: *Shape manipulation*
**Short description**: *Squeeze* removes dimensions equal to 1 from the first input tensor.
diff --git a/docs/ops/shape/Unsqueeze_1.md b/docs/ops/shape/Unsqueeze_1.md
index 062a933403b..f98616c0ba6 100644
--- a/docs/ops/shape/Unsqueeze_1.md
+++ b/docs/ops/shape/Unsqueeze_1.md
@@ -2,7 +2,7 @@
**Versioned name**: *Unsqueeze-1*
-**Category**: Shape manipulation
+**Category**: *Shape manipulation*
**Short description**: *Unsqueeze* adds dimensions of size 1 to the first input tensor. The second input value specifies a list of dimensions that will be inserted. Indices specify dimensions in the output tensor.
diff --git a/docs/ops/signals/DFT_7.md b/docs/ops/signals/DFT_7.md
index c9a841446a9..aea3f68337e 100644
--- a/docs/ops/signals/DFT_7.md
+++ b/docs/ops/signals/DFT_7.md
@@ -2,7 +2,7 @@
**Versioned name**: *DFT-7*
-**Category**: Signal processing
+**Category**: *Signal processing*
**Short description**: *DFT* operation performs the discrete complex-to-complex Fourier transformation of input tensor by specified dimensions.
diff --git a/docs/ops/signals/IDFT_7.md b/docs/ops/signals/IDFT_7.md
index 78f94466267..272480d751d 100644
--- a/docs/ops/signals/IDFT_7.md
+++ b/docs/ops/signals/IDFT_7.md
@@ -2,7 +2,7 @@
**Versioned name**: *IDFT-7*
-**Category**: Signal processing
+**Category**: *Signal processing*
**Short description**: *IDFT* operation performs the inverse discrete Fourier transformation of input tensor by specified dimensions.
diff --git a/docs/ops/sort/ExperimentalDetectronTopKROIs_6.md b/docs/ops/sort/ExperimentalDetectronTopKROIs_6.md
index 87a56127861..389974558c7 100644
--- a/docs/ops/sort/ExperimentalDetectronTopKROIs_6.md
+++ b/docs/ops/sort/ExperimentalDetectronTopKROIs_6.md
@@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronTopKROIs-6*
-**Category**: Sort
+**Category**: *Sorting and maximization*
**Short description**: The *ExperimentalDetectronTopKROIs* operation is TopK operation applied to probabilities of input
ROIs.
diff --git a/docs/ops/type/Convert_1.md b/docs/ops/type/Convert_1.md
index e26575c70ba..4ee9dfdda43 100644
--- a/docs/ops/type/Convert_1.md
+++ b/docs/ops/type/Convert_1.md
@@ -8,9 +8,16 @@
**Detailed description**
-Conversion from one supported type to another supported type is always allowed. User must be aware of precision loss and value change caused by range difference between two types. For example, a 32-bit float `3.141592` may be round to a 32-bit int `3`. The result of unsupported conversions is undefined, e.g. conversion of negative signed integer value to any unsigned integer type.
+Conversion from one supported type to another supported type is always allowed. User must be aware of precision loss
+and value change caused by range difference between two types. For example, a 32-bit float `3.141592` may be round
+to a 32-bit int `3`.
-Output elements are represented as follows:
+Conversion of negative signed integer to unsigned integer value happens in accordance with c++ standard. Notably,
+result is the unique value of the destination unsigned type that is congruent to the source integer modulo 2^N (where
+N is the bit width of the destination type). For example, when an int32 value `-1` is converted to uint32 the result
+will be `uint32 max` which is `4,294,967,295`.
+
+The result of unsupported conversions is undefined. Output elements are represented as follows:
\f[
o_{i} = Convert(a_{i})
diff --git a/docs/optimization_guide/dldt_optimization_guide.md b/docs/optimization_guide/dldt_optimization_guide.md
index 3d7b41e7f8c..740f4787061 100644
--- a/docs/optimization_guide/dldt_optimization_guide.md
+++ b/docs/optimization_guide/dldt_optimization_guide.md
@@ -338,7 +338,7 @@ For inference on the CPU there are multiple threads binding options, see
If you are building an app-level pipeline with third-party components like GStreamer*, the general guidance for NUMA machines is as follows:
- Whenever possible, use at least one instance of the pipeline per NUMA node:
- Pin the _entire_ pipeline instance to the specific NUMA node at the outer-most level (for example, use Kubernetes* and/or `numactl` command with proper settings before actual GStreamer commands).
- - Disable any individual pinning by the pipeline components (e.g. set [CPU_BIND_THREADS to 'NO'](../IE_DG/supported_plugins/CPU.md)).
+ - Disable any individual pinning by the pipeline components (for example, set [CPU_BIND_THREAD to 'NO'](../IE_DG/supported_plugins/CPU.md)).
- Limit each instance with respect to number of inference threads. Use [CPU_THREADS_NUM](../IE_DG/supported_plugins/CPU.md) or or other means (e.g. virtualization, Kubernetes*, etc), to avoid oversubscription.
- If pinning instancing/pinning of the entire pipeline is not possible or desirable, relax the inference threads pinning to just 'NUMA'.
- This is less restrictive compared to the default pinning of threads to cores, yet avoids NUMA penalties.
diff --git a/docs/template_plugin/src/template_infer_request.cpp b/docs/template_plugin/src/template_infer_request.cpp
index 2f9d0446ca1..94d5620001d 100644
--- a/docs/template_plugin/src/template_infer_request.cpp
+++ b/docs/template_plugin/src/template_infer_request.cpp
@@ -4,6 +4,9 @@
#include "template_infer_request.hpp"
+#include
+#include
+
#include
#include