From cb1d570cae5373b2c8ee0aaa237c2835027decf8 Mon Sep 17 00:00:00 2001 From: tadamczx <156996781+tadamczx@users.noreply.github.com> Date: Tue, 27 Feb 2024 18:26:59 +0100 Subject: [PATCH] [DOCS] New file structure for docs (#23094) - Updated paths in an entire documentation, - updated scripts used in docs building process, - updated docs cmake to handle new scripts. --- docs/CMakeLists.txt | 6 +- docs/articles_en/about-openvino.rst | 26 +- .../about-openvino/additional-resources.rst | 14 +- .../additional-resources/glossary.rst | 6 +- .../compatibility-and-support.rst | 16 +- .../supported-devices.rst | 50 +- .../supported-models.rst | 4 +- ...upported-operations-framework-frontend.rst | 2 +- ...supported-operations-inference-devices.rst | 8 +- .../about-openvino/performance-benchmarks.rst | 20 +- .../getting-performance-numbers.rst | 32 +- .../performance-benchmarks-faq.rst | 30 +- .../about-openvino/release-notes-openvino.rst | 14 +- .../about-openvino/system-requirements.rst | 6 +- docs/articles_en/documentation.rst | 16 +- .../documentation/legacy-features.rst | 20 +- .../legacy-features/install-dev-tools.rst | 34 +- .../legacy-features/model-zoo.rst | 18 +- .../transition-legacy-conversion-api.rst | 10 +- .../legacy-conversion-api.rst | 40 +- .../[legacy]-compressing-model-to-fp16.rst | 6 +- ...gacy]-convert-models-as-python-objects.rst | 6 +- .../[legacy]-cutting-parts-of-a-model.rst | 10 +- ...y]-embedding-preprocessing-computation.rst | 8 +- .../[legacy]-model-optimizer-faq.rst | 62 +-- .../[legacy]-setting-input-shapes.rst | 14 +- .../[legacy]-supported-model-formats.rst | 62 +-- .../[legacy]-conversion-tutorials.rst | 56 +-- .../convert-onnx-faster-r-cnn.rst | 2 +- .../convert-onnx-gpt-2.rst | 2 +- .../convert-onnx-mask-r-cnn.rst | 4 +- .../convert-pytorch-bert-ner.rst | 2 +- .../convert-pytorch-cascade-rcnn-r-101.rst | 4 +- .../convert-pytorch-f3-net.rst | 2 +- .../convert-pytorch-quartz-net.rst | 2 +- .../convert-pytorch-rcan.rst | 2 +- .../convert-pytorch-rnn-t.rst | 4 +- .../convert-pytorch-yolact.rst | 2 +- .../convert-tensorflow-attention-ocr.rst | 2 +- .../convert-tensorflow-bert.rst | 6 +- .../convert-tensorflow-crnn.rst | 2 +- .../convert-tensorflow-deep-speech.rst | 6 +- .../convert-tensorflow-efficient-det.rst | 6 +- .../convert-tensorflow-face-net.rst | 4 +- .../convert-tensorflow-gnmt.rst | 6 +- .../convert-tensorflow-language-1b.rst | 4 +- .../convert-tensorflow-ncf.rst | 6 +- .../convert-tensorflow-object-detection.rst | 18 +- .../convert-tensorflow-retina-net.rst | 2 +- .../convert-tensorflow-slim-library.rst | 4 +- .../convert-tensorflow-xlnet.rst | 2 +- .../convert-tensorflow-yolo.rst | 10 +- ...onvert-tensroflow-wide-and-deep-family.rst | 2 +- .../[legacy]-convert-onnx.rst | 16 +- .../[legacy]-convert-paddle.rst | 12 +- .../[legacy]-convert-pytorch.rst | 16 +- .../[legacy]-convert-tensorflow-lite.rst | 8 +- .../[legacy]-convert-tensorflow.rst | 16 +- ...legacy]-troubleshooting-reshape-errors.rst | 12 +- .../legacy-model-optimizer-extensibility.rst | 86 ++-- ...del-optimizer-with-caffe-python-layers.rst | 12 +- ...gacy]-graph-traversal-and-modification.rst | 24 +- .../[legacy]-model-optimizer-extensions.rst | 20 +- ...egacy]-graph-transformation-extensions.rst | 28 +- .../[legacy]-model-optimizer-operation.rst | 18 +- .../[legacy]-optimizer-extractor.rst | 14 +- .../documentation/openvino-ecosystem.rst | 18 +- .../openvino-ecosystem/datumaro.rst | 6 +- .../openvino-security-add-on.rst | 16 +- .../openvino-training-extensions.rst | 8 +- .../documentation/openvino-extensibility.rst | 28 +- .../frontend-extensions.rst | 10 +- .../openvino-plugin-library.rst | 56 +-- .../advanced-guides.rst | 10 +- .../low-precision-transformations.rst | 222 ++++----- .../lpt-attributes.rst | 26 +- .../avg-pool-precision-preserved.rst | 2 +- .../lpt-attributes/intervals-alignment.rst | 2 +- .../lpt-attributes/precision-preserved.rst | 2 +- .../lpt-attributes/precisions.rst | 2 +- .../lpt-attributes/quantization-alignment.rst | 2 +- .../quantization-granularity.rst | 2 +- .../step1-prerequisites.rst | 14 +- .../convert-subtract-constant.rst | 2 +- .../lin-op-sequence-fusion.rst | 2 +- .../pull-reshape-through-dequantization.rst | 2 +- .../pull-transpose-through-dequantization.rst | 2 +- .../step2-markup.rst | 70 +-- .../align-quantization-intervals.rst | 2 +- .../align-quantization-parameters.rst | 2 +- .../step2-markup/create-attribute.rst | 2 +- .../create-precisions-dependent-attribute.rst | 2 +- .../markup-avg-pool-precision-preserved.rst | 2 +- .../step2-markup/markup-bias.rst | 2 +- .../step2-markup/markup-can-be-quantized.rst | 2 +- .../markup-per-tensor-quantization.rst | 2 +- .../step2-markup/markup-precisions.rst | 2 +- .../step2-markup/propagate-precisions.rst | 2 +- .../step2-markup/propagate-shared-value.rst | 2 +- .../propagate-through-precision-preserved.rst | 2 +- .../step2-markup/propagate-to-input.rst | 2 +- .../update-shared-precision-preserved.rst | 2 +- .../step3-main.rst | 142 +++--- .../step3-main/activation/clamp.rst | 2 +- .../step3-main/activation/prelu.rst | 2 +- .../step3-main/activation/relu.rst | 2 +- .../step3-main/arithmetic/add.rst | 2 +- .../arithmetic/multiply-partial.rst | 2 +- .../step3-main/arithmetic/multiply.rst | 2 +- .../step3-main/arithmetic/subtract.rst | 2 +- .../convolution/convolution-backprop-data.rst | 2 +- .../step3-main/convolution/convolution.rst | 2 +- .../convolution/group-convolution.rst | 2 +- .../step3-main/image/interpolate.rst | 2 +- .../step3-main/matrix/mat-mul.rst | 2 +- .../step3-main/movement/concat.rst | 2 +- .../step3-main/movement/depth-to-space.rst | 2 +- .../step3-main/movement/gather.rst | 2 +- .../step3-main/movement/pad.rst | 2 +- .../step3-main/movement/shuffle-channels.rst | 2 +- .../step3-main/movement/split.rst | 2 +- .../step3-main/movement/strided-slice.rst | 2 +- .../step3-main/movement/transpose.rst | 2 +- .../step3-main/movement/variadic-split.rst | 2 +- .../step3-main/normalization/mvn.rst | 2 +- .../step3-main/normalization/normalize-l2.rst | 2 +- .../step3-main/pooling/avg-pool.rst | 2 +- .../step3-main/pooling/max-pool.rst | 2 +- .../step3-main/quantization/fake-quantize.rst | 2 +- .../quantization/fold-fake-quantize.rst | 2 +- .../step3-main/reduction/reduce-max.rst | 2 +- .../step3-main/reduction/reduce-mean.rst | 2 +- .../step3-main/reduction/reduce-min.rst | 2 +- .../step3-main/reduction/reduce-sum.rst | 2 +- .../step3-main/shape/batch-to-space.rst | 2 +- .../step3-main/shape/reshape.rst | 2 +- .../step3-main/shape/space-to-batch.rst | 2 +- .../step3-main/shape/squeeze.rst | 2 +- .../step3-main/shape/unsqueeze.rst | 2 +- .../step4-cleanup.rst | 30 +- .../step4-cleanup/eliminate-fake-quantize.rst | 2 +- .../fake-quantize-decomposition.rst | 2 +- .../step4-cleanup/fold-convert.rst | 2 +- .../step4-cleanup/fuse-convert.rst | 2 +- .../fuse-multiply-to-fake-quantize.rst | 2 +- .../fuse-subtract-to-fake-quantize.rst | 2 +- .../multiply-to-group-convolution.rst | 2 +- .../advanced-guides/quantized-models.rst | 6 +- .../low-precision-model-representation.rst | 6 +- .../build-plugin-using-cmake.rst | 2 +- .../compiled-model.rst | 10 +- .../plugin-testing.rst | 6 +- .../openvino-plugin-library/plugin.rst | 20 +- .../remote-context.rst | 2 +- .../synch-inference-request.rst | 4 +- .../transformations-api.rst | 24 +- .../graph-rewrite-pass.rst | 6 +- .../transformations-api/matcher-pass.rst | 2 +- .../transformations-api/model-pass.rst | 2 +- .../documentation/openvino-ir-format.rst | 16 +- ...rmediate-representation-int8-inference.rst | 10 +- .../openvino-ir-format/operation-sets.rst | 12 +- .../operation-sets/available-opsets.rst | 62 +-- .../available-opsets/opset1.rst | 214 ++++----- .../available-opsets/opset10.rst | 354 +++++++------- .../available-opsets/opset11.rst | 354 +++++++------- .../available-opsets/opset12.rst | 356 +++++++------- .../available-opsets/opset13.rst | 372 +++++++-------- .../available-opsets/opset14.rst | 374 +++++++-------- .../available-opsets/opset2.rst | 226 ++++----- .../available-opsets/opset3.rst | 258 +++++------ .../available-opsets/opset4.rst | 278 +++++------ .../available-opsets/opset5.rst | 294 ++++++------ .../available-opsets/opset6.rst | 306 ++++++------ .../available-opsets/opset7.rst | 314 ++++++------- .../available-opsets/opset8.rst | 336 +++++++------- .../available-opsets/opset9.rst | 348 +++++++------- .../operations-specifications.rst | 434 +++++++++--------- .../activation/prelu-1.rst | 2 +- .../arithmetic/add-1.rst | 4 +- .../arithmetic/divide-1.rst | 4 +- .../arithmetic/floormod-1.rst | 2 +- .../arithmetic/maximum-1.rst | 2 +- .../arithmetic/minimum-1.rst | 2 +- .../arithmetic/mod-1.rst | 2 +- .../arithmetic/multiply-1.rst | 4 +- .../arithmetic/power-1.rst | 2 +- .../arithmetic/squared-difference-1.rst | 2 +- .../arithmetic/subtract-1.rst | 4 +- .../bitwise/bitwise-and-13.rst | 6 +- .../bitwise/bitwise-not-13.rst | 2 +- .../bitwise/bitwise-or-13.rst | 6 +- .../bitwise/bitwise-xor-13.rst | 6 +- .../comparison/equal-1.rst | 4 +- .../comparison/greater-1.rst | 4 +- .../comparison/greater-equal-1.rst | 4 +- .../comparison/less-1.rst | 4 +- .../comparison/lessequal-1.rst | 4 +- .../comparison/notequal-1.rst | 4 +- .../condition/select-1.rst | 4 +- .../convolution-backprop-data-1.rst | 2 +- .../detection/detectionoutput-8.rst | 2 +- ...ntal-detectron-roi-feature-extractor-6.rst | 2 +- .../image/i420-to-bgr-8.rst | 4 +- .../image/i420-to-rgb-8.rst | 2 +- .../image/interpolate-11.rst | 2 +- .../image/nv12-to-bgr-8.rst | 4 +- .../infrastructure/assign-6.rst | 2 +- .../infrastructure/read-value-6.rst | 2 +- .../logical/logical-and-1.rst | 4 +- .../logical/logical-or-1.rst | 4 +- .../logical/logical-xor-1.rst | 4 +- .../matrix/einsum-7.rst | 2 +- .../movement/broadcast-1.rst | 2 +- .../movement/broadcast-3.rst | 4 +- .../movement/gather-nd-5.rst | 2 +- .../movement/pad-12.rst | 2 +- .../movement/unique-10.rst | 2 +- .../sequence/ctc-greedy-decoder-seq-len-6.rst | 2 +- .../sequence/gru-cell-3.rst | 2 +- .../sequence/gru-sequence-5.rst | 2 +- .../sequence/rnn-cell-3.rst | 2 +- .../sort/top-k-11.rst | 2 +- .../documentation/openvino-security.rst | 4 +- .../openvino-encrypted-models.rst | 10 +- docs/articles_en/get-started.rst | 44 +- .../get-started/configurations-header.rst | 8 +- .../configurations-intel-gpu.rst | 10 +- .../get-started/install-openvino-overview.rst | 12 +- .../install-openvino-linux-header.rst | 36 +- .../install-openvino-apt.rst | 24 +- .../install-openvino-archive-linux.rst | 34 +- .../install-openvino-yum.rst | 26 +- .../install-openvino-macos-header.rst | 24 +- .../install-openvino-archive-macos.rst | 20 +- .../install-openvino-brew.rst | 14 +- .../install-openvino-conan.rst | 10 +- .../install-openvino-conda.rst | 14 +- .../install-openvino-docker-linux.rst | 4 +- .../install-openvino-pip.rst | 8 +- .../install-openvino-vcpkg.rst | 14 +- .../install-openvino-windows-header.rst | 24 +- .../install-openvino-archive-windows.rst | 20 +- .../troubleshooting-install-config.rst | 6 +- docs/articles_en/learn-openvino.rst | 16 +- .../interactive-tutorials-python.rst | 10 +- .../learn-openvino/openvino-samples.rst | 46 +- .../openvino-samples/benchmark-tool.rst | 24 +- .../openvino-samples/bert-benchmark.rst | 10 +- .../openvino-samples/get-started-demos.rst | 20 +- .../openvino-samples/hello-classification.rst | 14 +- .../hello-nv12-input-classification.rst | 14 +- .../openvino-samples/hello-query-device.rst | 8 +- .../openvino-samples/hello-reshape-ssd.rst | 16 +- .../image-classification-async.rst | 14 +- .../openvino-samples/model-creation.rst | 16 +- .../openvino-samples/sync-benchmark.rst | 10 +- .../openvino-samples/throughput-benchmark.rst | 12 +- docs/articles_en/openvino-workflow.rst | 26 +- .../openvino-workflow/deployment-locally.rst | 26 +- .../local-distribution-libraries.rst | 32 +- .../generative-ai-models-guide.rst | 12 +- .../compressing-models-during-training.rst | 22 +- .../filter-pruning.rst | 6 +- .../quantization-aware-training.rst | 4 +- .../quantizing-models-post-training.rst | 12 +- .../basic-quantization-flow.rst | 2 +- .../quantizing-with-accuracy-control.rst | 14 +- .../weight-compression.rst | 4 +- .../openvino-workflow/model-optimization.rst | 24 +- .../openvino-workflow/model-preparation.rst | 36 +- .../conversion-parameters.rst | 12 +- .../model-preparation/convert-model-onnx.rst | 6 +- .../convert-model-paddle.rst | 8 +- .../convert-model-pytorch.rst | 6 +- .../convert-model-tensorflow-lite.rst | 6 +- .../convert-model-tensorflow.rst | 4 +- .../model-preparation/convert-model-to-ir.rst | 70 +-- .../setting-input-shapes.rst | 8 +- .../openvino-workflow/running-inference.rst | 26 +- .../changing-input-shape.rst | 24 +- .../running-inference/dynamic-shapes.rst | 16 +- .../openvino-without-dynamic-shapes-api.rst | 2 +- .../inference-devices-and-modes.rst | 32 +- .../auto-device-selection.rst | 28 +- .../gpu-remote-tensor-apirst.rst | 14 +- .../automatic-batching.rst | 4 +- .../cpu-device.rst | 38 +- .../gpu-device.rst | 52 +-- .../remote-tensor-api-gpu-plugin.rst | 2 +- .../hetero-execution.rst | 2 +- .../multi-device.rst | 14 +- .../npu-device.rst | 16 +- .../query-device-properties.rst | 6 +- ...tegrate-openvino-with-your-application.rst | 34 +- .../inference-request.rst | 2 +- .../model-representation.rst | 12 +- .../python-api-exclusives.rst | 4 +- .../running-inference/optimize-inference.rst | 40 +- .../general-optimizations.rst | 16 +- .../high-level-performance-hints.rst | 12 +- .../optimizie-preprocessing.rst | 24 +- .../integrate-save-preprocessing-use-case.rst | 18 +- .../layout-api-overview.rst | 6 +- .../preprocessing-api-details.rst | 14 +- .../optimize-inference/optimizing-latency.rst | 14 +- .../model-caching-overview.rst | 6 +- .../optimizing-low-level-implementation.rst | 18 +- .../optimizing-memory-usage.rst | 2 +- .../optimizing-throughput-advanced.rst | 16 +- .../optimizing-throughput.rst | 20 +- .../optimize-inference/precision-control.rst | 4 +- .../stateful-models-intro.rst | 14 +- .../obtaining-stateful-openvino-model.rst | 34 +- .../running-inference/string-tensors.rst | 2 +- .../openvino-workflow/torch-compile.rst | 6 +- docs/home.rst | 20 +- .../PKG-INFO | 2 +- .../openvino_sphinx_theme/directives/code.py | 4 +- docs/scripts/articles_helper.py | 45 ++ docs/scripts/tests/conftest.py | 6 +- docs/sphinx_setup/api/api_reference.rst | 2 +- 322 files changed, 4289 insertions(+), 4238 deletions(-) create mode 100644 docs/scripts/articles_helper.py diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index f16ff13579e..24552d43bde 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -22,11 +22,13 @@ function(build_docs) set(DOCS_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}") set(DOCS_SOURCE_DIR "${OpenVINO_SOURCE_DIR}/docs") + set(ARTICLES_EN_DIR "${OpenVINO_SOURCE_DIR}/docs/articles_en") set(SCRIPTS_DIR "${DOCS_SOURCE_DIR}/scripts") # Preprocessing scripts set(REMOVE_XML_SCRIPT "${SCRIPTS_DIR}/remove_xml.py") set(FILE_HELPER_SCRIPT "${SCRIPTS_DIR}/filehelper.py") + set(ARTICLES_HELPER_SCRIPT "${SCRIPTS_DIR}/articles_helper.py") set(COPY_IMAGES_SCRIPT "${SCRIPTS_DIR}/copy_images.py") set(DOXYGEN_MAPPING_SCRIPT "${SCRIPTS_DIR}/create_mapping.py") set(BREATHE_APIDOC_SCRIPT "${SCRIPTS_DIR}/apidoc.py") @@ -38,9 +40,9 @@ function(build_docs) set(SPHINX_OUTPUT "${DOCS_BUILD_DIR}/_build") list(APPEND commands COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --green "STARTED preprocessing OpenVINO articles") - list(APPEND commands COMMAND ${Python3_EXECUTABLE} ${FILE_HELPER_SCRIPT} + list(APPEND commands COMMAND ${Python3_EXECUTABLE} ${ARTICLES_HELPER_SCRIPT} --filetype=rst - --input_dir=${OpenVINO_SOURCE_DIR} + --input_dir=${ARTICLES_EN_DIR} --output_dir=${SPHINX_SOURCE_DIR} --exclude_dir=${SPHINX_SOURCE_DIR}) list(APPEND commands COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --green "FINISHED preprocessing OpenVINO articles") diff --git a/docs/articles_en/about-openvino.rst b/docs/articles_en/about-openvino.rst index 2cc7e8e1aab..756dc0afc21 100644 --- a/docs/articles_en/about-openvino.rst +++ b/docs/articles_en/about-openvino.rst @@ -8,11 +8,11 @@ About OpenVINO :maxdepth: 1 :hidden: - openvino_docs_performance_benchmarks - compatibility_and_support - system_requirements - Release Notes - Additional Resources + about-openvino/performance-benchmarks + about-openvino/compatibility-and-support + about-openvino/system-requirements + Release Notes + Additional Resources OpenVINO is a toolkit for simple and efficient deployment of various deep learning models. In this section you will find information on the product itself, as well as the software @@ -26,21 +26,21 @@ Features One of the main purposes of OpenVINO is to streamline the deployment of deep learning models in user applications. It optimizes and accelerates model inference, which is crucial for such domains as Generative AI, Large Language models, and use cases like object detection, classification, segmentation, and many others. -* :doc:`Model Optimization ` +* :doc:`Model Optimization ` OpenVINO provides multiple optimization methods for both the training and post-training stages, including weight compression for Large Language models and Intel Optimum integration with Hugging Face. -* :doc:`Model Conversion and Framework Compatibility ` +* :doc:`Model Conversion and Framework Compatibility ` Supported models can be loaded directly or converted to the OpenVINO format to achieve better performance. Supported frameworks include ONNX, PyTorch, TensorFlow, TensorFlow Lite, Keras, and PaddlePaddle. -* :doc:`Model Inference ` +* :doc:`Model Inference ` OpenVINO accelerates deep learning models on various hardware platforms, ensuring real-time, efficient inference. * `Deployment on a server `__ -A model can be deployed either locally using OpenVINO Runtime or on a model server. Runtime is a set of C++ libraries with C and Python bindings providing a common API to deliver inference solutions. The model server enables quick model inference using external resources. +A model can be deployed either locally using OpenVINO Runtime or on a model server. Runtime is a set of C++ libraries with C and Python bindings providing a common API to deliver inference solutions. The model server enables quick model inference using external about-openvino/additional-resources. Architecture ############################################################## @@ -53,10 +53,10 @@ OpenVINO Ecosystem Along with the primary components of model optimization and runtime, the toolkit also includes: * `Neural Network Compression Framework (NNCF) `__ - a tool for enhanced OpenVINO™ inference to get performance boost with minimal accuracy drop. -* :doc:`Openvino Notebooks `- Jupyter Python notebook tutorials, which demonstrate key features of the toolkit. +* :doc:`Openvino Notebooks `- Jupyter Python notebook learn-openvino/interactive-tutorials-python, which demonstrate key features of the toolkit. * `OpenVINO Model Server `__ - a server that enables scalability via a serving microservice. -* :doc:`OpenVINO Training Extensions ` – a convenient environment to train Deep Learning models and convert them using the OpenVINO™ toolkit for optimized inference. -* :doc:`Dataset Management Framework (Datumaro) ` - a tool to build, transform, and analyze datasets. +* :doc:`OpenVINO Training Extensions ` – a convenient environment to train Deep Learning models and convert them using the OpenVINO™ toolkit for optimized inference. +* :doc:`Dataset Management Framework (Datumaro) ` - a tool to build, transform, and analyze datasets. Community ############################################################## @@ -66,7 +66,7 @@ OpenVINO community plays a vital role in the growth and development of the open- * `OpenVINO GitHub issues, discussions and pull requests `__ * `OpenVINO Blog `__ * `Community Forum `__ -* `OpenVINO video tutorials `__ +* `OpenVINO video learn-openvino/interactive-tutorials-python `__ * `Support Information `__ Case Studies diff --git a/docs/articles_en/about-openvino/additional-resources.rst b/docs/articles_en/about-openvino/additional-resources.rst index 5c0abbbe70a..f7d1f531712 100644 --- a/docs/articles_en/about-openvino/additional-resources.rst +++ b/docs/articles_en/about-openvino/additional-resources.rst @@ -13,19 +13,19 @@ Additional Resources :maxdepth: 1 :hidden: - openvino_docs_OV_Glossary - openvino_docs_Legal_Information - openvino_docs_telemetry_information + additional-resources/glossary + additional-resources/legal-information + additional-resources/telemetry Case Studies -:doc:`Performance Benchmarks ` contain results from benchmarking models with OpenVINO on Intel hardware. +:doc:`Performance Benchmarks ` contain results from benchmarking models with OpenVINO on Intel hardware. -:doc:`Glossary ` contains terms used in OpenVINO. +:doc:`Glossary ` contains terms used in OpenVINO. -:doc:`Legal Information ` has trademark information and other legal statements. +:doc:`Legal Information ` has trademark information and other legal statements. -:doc:`OpenVINO™ Telemetry ` has detailed information on the telemetry data collection. +:doc:`OpenVINO™ Telemetry ` has detailed information on the telemetry data collection. `Case Studies `__ are articles about real-world examples of OpenVINO™ usage. diff --git a/docs/articles_en/about-openvino/additional-resources/glossary.rst b/docs/articles_en/about-openvino/additional-resources/glossary.rst index c620fc3504f..039f8f99043 100644 --- a/docs/articles_en/about-openvino/additional-resources/glossary.rst +++ b/docs/articles_en/about-openvino/additional-resources/glossary.rst @@ -115,11 +115,11 @@ Glossary of terms used in OpenVINO™ | *plugin / Inference Device / Inference Mode* | OpenVINO makes hardware available for inference based on several core components. - They used to be called "plugins" in earlier versions of documentation and you may + They used to be called "plugins" in earlier versions of ../../documentation and you may still find this term in some articles. Because of their role in the software, they are now referred to as Devices and Modes ("virtual" devices). For a detailed description of the concept, refer to - :doc:`Inference Devices and Modes `. + :doc:`Inference Devices and Modes <../../openvino-workflow/running-inference/inference-devices-and-modes>`. | *Tensor* | A memory container used for storing inputs and outputs of the model, as well as @@ -128,4 +128,4 @@ Glossary of terms used in OpenVINO™ See Also ################################################# -* :doc:`Available Operations Sets ` +* :doc:`Available Operations Sets <../../documentation/openvino-ir-format/operation-sets/available-opsets>` diff --git a/docs/articles_en/about-openvino/compatibility-and-support.rst b/docs/articles_en/about-openvino/compatibility-and-support.rst index 829fb3a39fe..480a53f5639 100644 --- a/docs/articles_en/about-openvino/compatibility-and-support.rst +++ b/docs/articles_en/about-openvino/compatibility-and-support.rst @@ -8,19 +8,19 @@ Compatibility and Support :maxdepth: 1 :hidden: - openvino_supported_models - openvino_supported_devices - openvino_resources_supported_operations - openvino_resources_supported_operations_frontend + compatibility-and-support/supported-models + compatibility-and-support/supported-devices + compatibility-and-support/supported-operations-inference-devices + compatibility-and-support/supported-operations-framework-frontend -:doc:`Supported Devices ` - compatibility information for supported hardware accelerators. +:doc:`Supported Devices ` - compatibility information for supported hardware accelerators. -:doc:`Supported Models ` - a table of models officially supported by OpenVINO. +:doc:`Supported Models ` - a table of models officially supported by OpenVINO. -:doc:`Supported Operations ` - a listing of framework layers supported by OpenVINO. +:doc:`Supported Operations ` - a listing of framework layers supported by OpenVINO. -:doc:`Supported Operations ` - a listing of layers supported by OpenVINO inference devices. +:doc:`Supported Operations ` - a listing of layers supported by OpenVINO inference devices. diff --git a/docs/articles_en/about-openvino/compatibility-and-support/supported-devices.rst b/docs/articles_en/about-openvino/compatibility-and-support/supported-devices.rst index 587e5beb825..3c00455425a 100644 --- a/docs/articles_en/about-openvino/compatibility-and-support/supported-devices.rst +++ b/docs/articles_en/about-openvino/compatibility-and-support/supported-devices.rst @@ -11,24 +11,24 @@ Inference Device Support The OpenVINO™ runtime enables you to use a selection of devices to run your deep learning models: -:doc:`CPU `, -:doc:`GPU `, -:doc:`NPU `. +:doc:`CPU <../../openvino-workflow/running-inference/inference-devices-and-modes/cpu-device>`, +:doc:`GPU <../../openvino-workflow/running-inference/inference-devices-and-modes/gpu-device>`, +:doc:`NPU <../../openvino-workflow/running-inference/inference-devices-and-modes/npu-device>`. -| For their usage guides, see :doc:`Devices and Modes `. -| For a detailed list of devices, see :doc:`System Requirements `. +| For their usage guides, see :doc:`Devices and Modes <../../openvino-workflow/running-inference/inference-devices-and-modes>`. +| For a detailed list of devices, see :doc:`System Requirements <../system-requirements>`. Beside running inference with a specific device, OpenVINO offers the option of running automated inference with the following inference modes: -* :doc:`Automatic Device Selection ` - automatically selects the best device +* :doc:`Automatic Device Selection <../../openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection>` - automatically selects the best device available for the given task. It offers many additional options and optimizations, including inference on multiple devices at the same time. -* :doc:`Heterogeneous Inference ` - enables splitting inference among several devices +* :doc:`Heterogeneous Inference <../../openvino-workflow/running-inference/inference-devices-and-modes/hetero-execution>` - enables splitting inference among several devices automatically, for example, if one device doesn't support certain operations. -* :doc:`Multi-device Inference ` - executes inference on multiple devices. +* :doc:`Multi-device Inference <../../openvino-workflow/running-inference/inference-devices-and-modes/multi-device>` - executes inference on multiple devices. Currently, this mode is considered a legacy solution. Using Automatic Device Selection is advised. -* :doc:`Automatic Batching ` - automatically groups inference requests to improve +* :doc:`Automatic Batching <../../openvino-workflow/running-inference/inference-devices-and-modes/automatic-batching>` - automatically groups inference requests to improve device utilization. @@ -36,20 +36,20 @@ OpenVINO offers the option of running automated inference with the following inf Feature Support and API Coverage ################################# -================================================================================== ======= ========== =========== - Supported Feature CPU GPU NPU -================================================================================== ======= ========== =========== - :doc:`Heterogeneous execution ` Yes Yes No - :doc:`Multi-device execution ` Yes Yes Partial - :doc:`Automatic batching ` No Yes No - :doc:`Multi-stream execution ` Yes Yes No - :doc:`Models caching ` Yes Partial Yes - :doc:`Dynamic shapes ` Yes Partial No - :doc:`Import/Export ` Yes No Yes - :doc:`Preprocessing acceleration ` Yes Yes No - :doc:`Stateful models ` Yes No Yes - :doc:`Extensibility ` Yes Yes No -================================================================================== ======= ========== =========== +=============================================================================================================================== ======= ========== =========== + Supported Feature CPU GPU NPU +=============================================================================================================================== ======= ========== =========== + :doc:`Heterogeneous execution <../../openvino-workflow/running-inference/inference-devices-and-modes/hetero-execution>` Yes Yes No + :doc:`Multi-device execution <../../openvino-workflow/running-inference/inference-devices-and-modes/multi-device>` Yes Yes Partial + :doc:`Automatic batching <../../openvino-workflow/running-inference/inference-devices-and-modes/automatic-batching>` No Yes No + :doc:`Multi-stream execution <../../openvino-workflow/running-inference/optimize-inference/optimizing-throughput>` Yes Yes No + :doc:`Models caching <../../openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview>` Yes Partial Yes + :doc:`Dynamic shapes <../../openvino-workflow/running-inference/dynamic-shapes>` Yes Partial No + :doc:`Import/Export <../../documentation/openvino-ecosystem>` Yes No Yes + :doc:`Preprocessing acceleration <../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing>` Yes Yes No + :doc:`Stateful models <../../openvino-workflow/running-inference/stateful-models-intro>` Yes No Yes + :doc:`Extensibility <../../documentation/openvino-extensibility>` Yes Yes No +=============================================================================================================================== ======= ========== =========== +-------------------------+-----------+------------------+-------------------+ @@ -82,11 +82,11 @@ Devices similar to the ones used for benchmarking can be accessed using `Intel® DevCloud for the Edge `__, a remote development environment with access to Intel® hardware and the latest versions of the Intel® Distribution of OpenVINO™ Toolkit. -`Learn more `__ or +`Learn more `__ or `Register here `__. For setting up a relevant configuration, refer to the -:doc:`Integrate with Customer Application ` +:doc:`Integrate with Customer Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` topic (step 3 "Configure input and output"). diff --git a/docs/articles_en/about-openvino/compatibility-and-support/supported-models.rst b/docs/articles_en/about-openvino/compatibility-and-support/supported-models.rst index d6cb30c97cc..e25c74869e2 100644 --- a/docs/articles_en/about-openvino/compatibility-and-support/supported-models.rst +++ b/docs/articles_en/about-openvino/compatibility-and-support/supported-models.rst @@ -15,7 +15,7 @@ Based on our research and user feedback, we prioritize the most common models an before every release. These models are considered officially supported. -.. button-link:: _static/download/OV_2023_models_supported.pdf +.. button-link:: ../../_static/download/OV_2023_models_supported.pdf :color: primary :outline: @@ -29,7 +29,7 @@ The list is based on release 2023.0, as of June 01, 2023 * You can create a GitHub request for the operation(s) that are missing. These requests are reviewed regularly. You will be informed if and how the request will be accommodated. Additionally, your request may trigger a reply from someone in the community who can help. -* As OpenVINO™ is open source you can enhance it with your own contribution to the GitHub repository. To learn more, see the articles on :doc:`OpenVINO Extensibility `. +* As OpenVINO™ is open source you can enhance it with your own contribution to the GitHub repository. To learn more, see the articles on :doc:`OpenVINO Extensibility <../../documentation/openvino-extensibility>`. diff --git a/docs/articles_en/about-openvino/compatibility-and-support/supported-operations-framework-frontend.rst b/docs/articles_en/about-openvino/compatibility-and-support/supported-operations-framework-frontend.rst index edec3773bfc..10a93f614a2 100644 --- a/docs/articles_en/about-openvino/compatibility-and-support/supported-operations-framework-frontend.rst +++ b/docs/articles_en/about-openvino/compatibility-and-support/supported-operations-framework-frontend.rst @@ -1,4 +1,4 @@ -.. {#openvino_resources_supported_operations_frontend} +.. {#openvino_../additional-resources_supported_operations_frontend} Supported Operations - by Framework Frontend ============================================ diff --git a/docs/articles_en/about-openvino/compatibility-and-support/supported-operations-inference-devices.rst b/docs/articles_en/about-openvino/compatibility-and-support/supported-operations-inference-devices.rst index 658c7f26b61..1c1db968702 100644 --- a/docs/articles_en/about-openvino/compatibility-and-support/supported-operations-inference-devices.rst +++ b/docs/articles_en/about-openvino/compatibility-and-support/supported-operations-inference-devices.rst @@ -1,4 +1,4 @@ -.. {#openvino_resources_supported_operations} +.. {#openvino_../additional-resources_supported_operations} Supported Operations - by Inference Devices =========================================== @@ -8,13 +8,13 @@ This page presents operations supported by OpenVINO inference devices. The table for a more detailed and most recent listing of operations that are implemented and tested: -.. button-link:: _static/download/conformance_reports/opset_report_omz_static.html +.. button-link:: ../../_static/download/conformance_reports/opset_report_omz_static.html :color: primary :outline: See the full conformance report table (static) -.. button-link:: _static/download/conformance_reports/opset_report_omz_dynamic.html +.. button-link:: ../../_static/download/conformance_reports/opset_report_omz_dynamic.html :color: primary :outline: @@ -172,7 +172,7 @@ for a more detailed and most recent listing of operations that are implemented a ================================= =============== ============== ================== | `*` - support is limited to the specific parameters. -| `**` - support is implemented via :doc:`Extensibility mechanism `. +| `**` - support is implemented via :doc:`Extensibility mechanism <../../documentation/openvino-extensibility>`. | `***` - supports NCDHW layout. | `****` - support is implemented via runtime reference. diff --git a/docs/articles_en/about-openvino/performance-benchmarks.rst b/docs/articles_en/about-openvino/performance-benchmarks.rst index d0fb39f82d7..3bb97feef79 100644 --- a/docs/articles_en/about-openvino/performance-benchmarks.rst +++ b/docs/articles_en/about-openvino/performance-benchmarks.rst @@ -13,13 +13,13 @@ Performance Benchmarks :maxdepth: 1 :hidden: - openvino_docs_performance_benchmarks_faq - OpenVINO Accuracy - openvino_docs_MO_DG_Getting_Performance_Numbers + performance-benchmarks/performance-benchmarks-faq + OpenVINO Accuracy + performance-benchmarks/getting-performance-numbers This page presents benchmark results for `Intel® Distribution of OpenVINO™ toolkit `__ -and :doc:`OpenVINO Model Server `, for a representative selection of public neural networks and Intel® devices. +and :doc:`OpenVINO Model Server <../ovms_what_is_openvino_model_server>`, for a representative selection of public neural networks and Intel® devices. The results may help you decide which hardware to use in your applications or plan AI workload for the hardware you have already implemented in your solutions. Click the buttons below to see the chosen benchmark data. @@ -95,7 +95,7 @@ Please visit the tabs below for more information on key performance indicators a The workload parameters affect the performance results of the different models we use for benchmarking. Image processing models have different image size definitions and the Natural Language Processing models - have different max token list lengths. All these can be found in detail in the :doc:`FAQ section `. + have different max token list lengths. All these can be found in detail in the :doc:`FAQ section `. All models are executed using a batch size of 1. Below are the parameters for the GenAI models we display. * Input tokens: 1024, @@ -119,21 +119,21 @@ For a listing of all platforms and configurations used for testing, refer to the .. grid-item:: - .. button-link:: _static/benchmarks_files/OV-2023.3-platform_list.pdf + .. button-link:: ../_static/benchmarks_files/OV-2023.3-platform_list.pdf :color: primary :outline: :expand: :material-regular:`download;1.5em` Click for Hardware Platforms [PDF] - .. button-link:: _static/benchmarks_files/OV-2023.3-system-info-detailed.xlsx + .. button-link:: ../_static/benchmarks_files/OV-2023.3-system-info-detailed.xlsx :color: primary :outline: :expand: :material-regular:`download;1.5em` Click for Configuration Details [XLSX] - .. button-link:: _static/benchmarks_files/OV-2023.3-Performance-Data.xlsx + .. button-link:: ../_static/benchmarks_files/OV-2023.3-Performance-Data.xlsx :color: primary :outline: :expand: @@ -155,7 +155,7 @@ only to measuring performance. The benchmark setup for OVMS consists of four main parts: - .. image:: _static/images/performance_benchmarks_ovms_02.png + .. image:: ../_static/images/performance_benchmarks_ovms_02.png :alt: OVMS Benchmark Setup Diagram * **OpenVINO™ Model Server** is launched as a docker container on the server platform and it listens (and answers on) @@ -180,7 +180,7 @@ only to measuring performance. Test performance yourself #################################### -You can also test performance for your system yourself, following the guide on :doc:`getting performance numbers `. +You can also test performance for your system yourself, following the guide on :doc:`getting performance numbers `. Performance of a particular application can also be evaluated virtually using `Intel® DevCloud for the Edge `__. It is a remote development environment with access to Intel® hardware and the latest versions of the Intel® Distribution of the OpenVINO™ Toolkit. diff --git a/docs/articles_en/about-openvino/performance-benchmarks/getting-performance-numbers.rst b/docs/articles_en/about-openvino/performance-benchmarks/getting-performance-numbers.rst index 2253a5d5817..21d4d82918b 100644 --- a/docs/articles_en/about-openvino/performance-benchmarks/getting-performance-numbers.rst +++ b/docs/articles_en/about-openvino/performance-benchmarks/getting-performance-numbers.rst @@ -16,10 +16,10 @@ Test performance with the benchmark_app You can run OpenVINO benchmarks in both C++ and Python APIs, yet the experience differs in each case. The Python one is part of OpenVINO Runtime installation, while C++ is available as a code sample. -For a detailed description, see: :doc:`benchmark_app `. +For a detailed description, see: :doc:`benchmark_app <../../learn-openvino/openvino-samples/benchmark-tool>`. Make sure to install the latest release package with support for frameworks of the models you want to test. -For the most reliable performance benchmarks, :doc:`prepare the model for use with OpenVINO `. +For the most reliable performance benchmarks, :doc:`prepare the model for use with OpenVINO <../../openvino-workflow/model-preparation>`. Running the benchmark application @@ -32,11 +32,11 @@ The benchmark_app includes a lot of device-specific options, but the primary usa benchmark_app -m -d -i -Each of the :doc:`OpenVINO supported devices ` offers +Each of the :doc:`OpenVINO supported devices <../compatibility-and-support/supported-devices>` offers performance settings that contain command-line equivalents in the Benchmark app. While these settings provide really low-level control for the optimal model performance on the *specific* device, -it is recommended to always start performance evaluation with the :doc:`OpenVINO High-Level Performance Hints ` first, like so: +it is recommended to always start performance evaluation with the :doc:`OpenVINO High-Level Performance Hints <../../openvino-workflow/running-inference/optimize-inference/high-level-performance-hints>` first, like so: .. code-block:: sh @@ -61,8 +61,8 @@ When evaluating performance of a model with OpenVINO Runtime, it is required to .. note:: Some image pre-processing can be baked into OpenVINO IR and accelerated accordingly. For more information, - refer to :doc:`Embedding Pre-processing ` and - :doc:`General Runtime Optimizations `. + refer to :doc:`Embedding Pre-processing <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation>` and + :doc:`General Runtime Optimizations <../../openvino-workflow/running-inference/optimize-inference/general-optimizations>`. 2 - Try to Get Credible Data @@ -85,23 +85,23 @@ slower than the subsequent ones, an aggregated value can be used for the executi When comparing the OpenVINO Runtime performance with the framework or another reference code, make sure that both versions are as similar as possible: -- Wrap the exact inference execution (for examples, see :doc:`Benchmark app `). +- Wrap the exact inference execution (for examples, see :doc:`Benchmark app <../../learn-openvino/openvino-samples/benchmark-tool>`). - Do not include model loading time. - Ensure that the inputs are identical for OpenVINO Runtime and the framework. For example, watch out for random values that can be used to populate the inputs. -- In situations when any user-side pre-processing should be tracked separately, consider :doc:`image pre-processing and conversion `. -- When applicable, leverage the :doc:`Dynamic Shapes support `. +- In situations when any user-side pre-processing should be tracked separately, consider :doc:`image pre-processing and conversion <../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing>`. +- When applicable, leverage the :doc:`Dynamic Shapes support <../../openvino-workflow/running-inference/dynamic-shapes>`. - If possible, demand the same accuracy. For example, TensorFlow allows ``FP16`` execution, so when comparing to that, make sure to test the OpenVINO Runtime with the ``FP16`` as well. Internal Inference Performance Counters and Execution Graphs +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ More detailed insights into inference performance breakdown can be achieved with device-specific performance counters and/or execution graphs. -Both :doc:`C++ and Python ` +Both :doc:`C++ and Python <../../learn-openvino/openvino-samples/benchmark-tool>` versions of the *benchmark_app* support a ``-pc`` command-line parameter that outputs internal execution breakdown. For example, the table shown below is part of performance counters for quantized -`TensorFlow implementation of ResNet-50 `__ -model inference on :doc:`CPU Plugin `. +`TensorFlow implementation of ResNet-50 `__ +model inference on :doc:`CPU Plugin <../../openvino-workflow/running-inference/inference-devices-and-modes/cpu-device>`. Keep in mind that since the device is CPU, the ``realTime`` wall clock and the ``cpu`` time layers are the same. Information about layer precision is also stored in the performance counters. @@ -128,21 +128,21 @@ Information about layer precision is also stored in the performance counters. | - The ``FP32`` suffix is for layers computed in 32-bit precision. | | All ``Convolution`` layers are executed in ``int8`` precision. The rest of the layers are fused into Convolutions using post-operation optimization, - as described in :doc:`CPU Device `. This contains layer names + as described in :doc:`CPU Device <../../openvino-workflow/running-inference/inference-devices-and-modes/cpu-device>`. This contains layer names (as seen in OpenVINO IR), type of the layer, and execution statistics. Both *benchmark_app* versions also support the ``exec_graph_path`` command-line option. It requires OpenVINO to output the same execution statistics per layer, but in the form of plugin-specific `Netron-viewable `__ graph to the specified file. -Especially when performance-debugging the :doc:`latency `, note that the counters +Especially when performance-debugging the :doc:`latency <../../openvino-workflow/running-inference/optimize-inference/optimizing-latency>`, note that the counters do not reflect the time spent in the ``plugin/device/driver/etc`` queues. If the sum of the counters is too different from the latency of an inference request, consider testing with less inference requests. For example, running single -:doc:`OpenVINO stream ` with multiple requests would produce nearly identical +:doc:`OpenVINO stream <../../openvino-workflow/running-inference/optimize-inference/optimizing-throughput>` with multiple requests would produce nearly identical counters as running a single inference request, while the actual latency can be quite different. Lastly, the performance statistics with both performance counters and execution graphs are averaged, -so such data for the :doc:`inputs of dynamic shapes ` should be measured carefully, +so such data for the :doc:`inputs of dynamic shapes <../../openvino-workflow/running-inference/dynamic-shapes>` should be measured carefully, preferably by isolating the specific shape and executing multiple times in a loop, to gather reliable data. Use ITT to Get Performance Insights diff --git a/docs/articles_en/about-openvino/performance-benchmarks/performance-benchmarks-faq.rst b/docs/articles_en/about-openvino/performance-benchmarks/performance-benchmarks-faq.rst index 8e90ba3c2f9..eff07ef1bf9 100644 --- a/docs/articles_en/about-openvino/performance-benchmarks/performance-benchmarks-faq.rst +++ b/docs/articles_en/about-openvino/performance-benchmarks/performance-benchmarks-faq.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_performance_benchmarks_faq} +.. {#../performance-benchmarks_faq} Performance Information F.A.Q. ============================== @@ -19,7 +19,7 @@ Performance Information F.A.Q. .. dropdown:: Where can I find the models used in the performance benchmarks? - All models used are included in the GitHub repository of :doc:`Open Model Zoo `. + All models used are included in the GitHub repository of :doc:`Open Model Zoo <../../documentation/legacy-features/model-zoo>`. .. dropdown:: Will there be any new models added to the list used for benchmarking? @@ -31,10 +31,10 @@ Performance Information F.A.Q. All of the performance benchmarks are generated using the open-source tool within the Intel® Distribution of OpenVINO™ toolkit - called :doc:`benchmark_app `. + called :doc:`benchmark_app <../../learn-openvino/openvino-samples/benchmark-tool>`. This tool is available for Python and C++ apps. - For a simple instruction on testing performance, see the :doc:`Getting Performance Numbers Guide `. + For a simple instruction on testing performance, see the :doc:`Getting Performance Numbers Guide `. .. dropdown:: Where can I find a more detailed description of the workloads used for benchmarking? @@ -69,39 +69,39 @@ Performance Information F.A.Q. - BERT - question / answer - 128 - * - `bert-large-uncased-whole-word-masking-squad-int8-0001 `__ + * - `bert-large-uncased-whole-word-masking-squad-int8-0001 `__ - BERT-large - question / answer - 384 - * - `efficientdet-d0 `__ + * - `efficientdet-d0 `__ - Efficientdet - classification - 512x512 - * - `mask_rcnn_resnet50_atrous_coco `__ + * - `mask_rcnn_resnet50_atrous_coco `__ - Mask R-CNN ResNet 50 Atrous - object instance segmentation - 800x1365 - * - `mobilenet-v2 `__ + * - `mobilenet-v2 `__ - Mobilenet V2 PyTorch - classification - 224x224 - * - `resnet-50 `__ + * - `resnet-50 `__ - ResNet-50_v1_ILSVRC-2012 - classification - 224x224 - * - `ssd-mobilenet-v1-coco `__ + * - `ssd-mobilenet-v1-coco `__ - ssd-mobilenet-V1-coco onnx model - object detection - 300x300 - * - `ssd-resnet34-1200-onnx `__ + * - `ssd-resnet34-1200-onnx `__ - ssd-resnet34 onnx model - object detection - 1200x1200 - * - `unet-camvid-onnx-0001 `__ + * - `unet-camvid-onnx-0001 `__ - U-Net - semantic segmentation - 368x480 - * - `yolo-v3-tiny `__ + * - `yolo-v3-tiny `__ - YOLO v3 Tiny - object detection - 416x416 @@ -121,7 +121,7 @@ Performance Information F.A.Q. .. dropdown:: How can I optimize my models for better performance or accuracy? Set of guidelines and recommendations to optimize models are available in the - :doc:`optimization guide `. + :doc:`optimization guide <../../openvino-workflow/running-inference/optimize-inference>`. Join the conversation in the `Community Forum `__ for further support. .. dropdown:: Why are INT8 optimized models used for benchmarking on CPUs with no VNNI support? @@ -135,7 +135,7 @@ Performance Information F.A.Q. hardware. For comparison on boost factors for different network models and a selection of Intel® CPU architectures, including AVX-2 with Intel® Core™ i7-8700T, and AVX-512 (VNNI) with Intel® Xeon® 5218T and Intel® - Xeon® 8270, refer to the :doc:`Model Accuracy for INT8 and FP32 Precision ` + Xeon® 8270, refer to the :doc:`Model Accuracy for INT8 and FP32 Precision ` .. dropdown:: Where can I search for OpenVINO™ performance results based on HW-platforms? diff --git a/docs/articles_en/about-openvino/release-notes-openvino.rst b/docs/articles_en/about-openvino/release-notes-openvino.rst index d30b28fb1b0..45d1084dc3c 100644 --- a/docs/articles_en/about-openvino/release-notes-openvino.rst +++ b/docs/articles_en/about-openvino/release-notes-openvino.rst @@ -62,7 +62,7 @@ Support Change and Deprecation Notices * The OpenVINO™ Development Tools package (pip install openvino-dev) is deprecated and will be removed from installation options and distribution channels beginning with 2025.0. - For more details, refer to the :doc:`OpenVINO Legacy Features and Components ` + For more details, refer to the :doc:`OpenVINO Legacy Features and Components <../documentation/legacy-features>` page. * Ubuntu 18.04 support will be discontinued in the 2023.3 LTS release. The recommended version of Ubuntu is 22.04. @@ -77,9 +77,9 @@ Support Change and Deprecation Notices * `Deployment Manager `__ is deprecated and will be supported for two years according to our LTS policy. - Visit our :doc:`selector tool ` to see - package distribution options or our :doc:`deployment guide ` - documentation. + Visit our :doc:`selector tool <../get-started/install-openvino-overview>` to see + package distribution options or our :doc:`deployment guide <../openvino-workflow/deployment-locally>` + ../documentation. * Accuracy Checker is deprecated and will be discontinued with 2024.0. * Post-Training Optimization Tool (POT) has been deprecated and the 2023.3 LTS will be the last release that will support the tool. Developers are encouraged to use the Neural @@ -87,7 +87,7 @@ Support Change and Deprecation Notices * Model Optimizer is deprecated and will be fully supported until the 2025.0 release. We encourage developers to perform model conversion through OpenVINO Model Converter (API call: OVC). Follow the - :doc:`model conversion transition guide ` + :doc:`model conversion transition guide <../documentation/legacy-features/transition-legacy-conversion-api>` for more details. * Deprecated support for a `git patch `__ for NNCF integration with `huggingface/transformers `__. @@ -249,8 +249,8 @@ OpenVINO™ Runtime * Inference functions (``InferRequest.infer/start_async``, ``CompiledModel.__call__`` etc.) support OVDict as the input. * PILLOW interpolation modes bindings. (`PR #21188 `__ external contribution: @meetpatel0963) - * Torchvision to :doc:`OpenVINO preprocessing ` - converter documentation has been added to OpenVINO docs. + * Torchvision to :doc:`OpenVINO preprocessing <../openvino-workflow/running-inference/string-tensors>` + converter ../documentation has been added to OpenVINO docs. OpenVINO Ecosystem diff --git a/docs/articles_en/about-openvino/system-requirements.rst b/docs/articles_en/about-openvino/system-requirements.rst index cc52fd8905d..48655a1c49c 100644 --- a/docs/articles_en/about-openvino/system-requirements.rst +++ b/docs/articles_en/about-openvino/system-requirements.rst @@ -9,7 +9,7 @@ System Requirements Certain hardware (including but not limited to GPU, GNA, and latest CPUs) requires manual installation of specific drivers and/or other software components to work correctly and/or to utilize hardware capabilities at their best. This might require updates to operating - system, including but not limited to Linux kernel, please refer to their documentation + system, including but not limited to Linux kernel, please refer to their ../documentation for details. These modifications should be handled by user and are not part of OpenVINO installation. @@ -93,10 +93,10 @@ Intel® Neural Processing Unit .. tab-item:: Additional considerations - * These Accelerators require :doc:`drivers ` + * These Accelerators require :doc:`drivers <../get-started/configurations-header/configurations-intel-npu>` that are not included in the Intel® Distribution of OpenVINO™ toolkit package. * Users can access the NPU plugin through the OpenVINO archives on - the :doc:`download page `. + the :doc:`download page <../get-started/install-openvino-overview>`. Intel® Gaussian & Neural Accelerator diff --git a/docs/articles_en/documentation.rst b/docs/articles_en/documentation.rst index d7e6585ec3d..f4b4ac3146e 100644 --- a/docs/articles_en/documentation.rst +++ b/docs/articles_en/documentation.rst @@ -14,11 +14,11 @@ Documentation :hidden: API Reference - OpenVINO IR format and Operation Sets - Legacy Features - Tool Ecosystem - OpenVINO Extensibility - OpenVINO™ Security + OpenVINO IR format and Operation Sets + Legacy Features + Tool Ecosystem + OpenVINO Extensibility + OpenVINO™ Security This section provides reference documents that guide you through the OpenVINO toolkit workflow, from preparing models, optimizing them, to deploying them in your own deep learning applications. @@ -26,12 +26,12 @@ This section provides reference documents that guide you through the OpenVINO to | :doc:`API Reference doc path ` | A collection of reference articles for OpenVINO C++, C, and Python APIs. -| :doc:`OpenVINO Ecosystem ` +| :doc:`OpenVINO Ecosystem ` | Apart from the core components, OpenVINO offers tools, plugins, and expansions revolving around it, even if not constituting necessary parts of its workflow. This section gives you an overview of what makes up the OpenVINO toolkit. -| :doc:`OpenVINO Extensibility Mechanism ` +| :doc:`OpenVINO Extensibility Mechanism ` | The Intel® Distribution of OpenVINO™ toolkit supports neural network models trained with various frameworks, including TensorFlow, PyTorch, ONNX, TensorFlow Lite, and PaddlePaddle. Learn how to extend OpenVINO functionality with custom settings. -| :doc:`OpenVINO™ Security ` +| :doc:`OpenVINO™ Security ` | Learn how to use OpenVINO securely and protect your data to meet specific security and privacy requirements. diff --git a/docs/articles_en/documentation/legacy-features.rst b/docs/articles_en/documentation/legacy-features.rst index ba2d3d94301..6971dda15bf 100644 --- a/docs/articles_en/documentation/legacy-features.rst +++ b/docs/articles_en/documentation/legacy-features.rst @@ -8,9 +8,9 @@ Legacy Features and Components :maxdepth: 1 :hidden: - OpenVINO Development Tools package - Model Optimizer / Conversion API - Open Model ZOO + OpenVINO Development Tools package + Model Optimizer / Conversion API + Open Model ZOO Since OpenVINO has grown very rapidly in recent years, a number of its features @@ -32,7 +32,7 @@ offering. Accuracy Checker, Annotation Converter, Post-Training Optimization Tool, and Open Model Zoo tools. Most of these tools have been either removed, replaced by other solutions, or moved to the OpenVINO Runtime package. -| :doc:`See how to install Development Tools ` +| :doc:`See how to install Development Tools ` | **Model Optimizer / Conversion API** @@ -43,8 +43,8 @@ offering. when all major model frameworks became supported directly. For converting model files explicitly, it has been replaced with a more light-weight and efficient solution, the OpenVINO Converter (launched with OpenVINO 2023.1). -| :doc:`See how to use OVC ` -| :doc:`See how to transition from the legacy solution ` +| :doc:`See how to use OVC <../openvino-workflow/model-preparation>` +| :doc:`See how to transition from the legacy solution ` | **Open Model ZOO** @@ -55,9 +55,9 @@ offering. and a small set of tools enabling a level of automation for the process. Since the tools have been mostly replaced by other solutions and several other model repositories have recently grown in size and popularity, - Open Model ZOO will no longer be maintained. You may still use its resources + Open Model ZOO will no longer be maintained. You may still use its ../about-openvino/additional-resources until they are fully removed. -| :doc:`See the Open Model ZOO documentation ` +| :doc:`See the Open Model ZOO documentation ` | `Check the OMZ GitHub project `__ | **Apache MXNet, Caffe, and Kaldi model formats** @@ -65,7 +65,7 @@ offering. | *Old solution:* model support discontinued with OpenVINO 2024.0 | | `The last version supporting Apache MXNet, Caffe, and Kaldi model formats `__ -| :doc:`See the currently supported frameworks ` +| :doc:`See the currently supported frameworks <../openvino-workflow/model-preparation>` | **Post-training Optimization Tool (POT)** @@ -75,7 +75,7 @@ offering. | Neural Network Compression Framework (NNCF) now offers the same functionality as POT, apart from its original feature set. -| :doc:`See how to use NNCF for model optimization ` +| :doc:`See how to use NNCF for model optimization <../openvino-workflow/model-optimization>` | `Check the NNCF GitHub project, including documentation `__ | **Inference API 1.0** diff --git a/docs/articles_en/documentation/legacy-features/install-dev-tools.rst b/docs/articles_en/documentation/legacy-features/install-dev-tools.rst index f09d372df51..ddbf1f0a352 100644 --- a/docs/articles_en/documentation/legacy-features/install-dev-tools.rst +++ b/docs/articles_en/documentation/legacy-features/install-dev-tools.rst @@ -35,7 +35,7 @@ If you are a Python developer, follow the steps in the :ref:`Installing OpenVINO For C/C++ Developers ####################### -If you are a C/C++ developer, you must first install OpenVINO Runtime separately to set up the C/C++ libraries, sample code, and dependencies for building applications with OpenVINO. These files are not included with the PyPI distribution. See the :doc:`Selector Tool ` page to install OpenVINO Runtime from an archive file for your operating system. +If you are a C/C++ developer, you must first install OpenVINO Runtime separately to set up the C/C++ libraries, sample code, and dependencies for building applications with OpenVINO. These files are not included with the PyPI distribution. See the :doc:`Selector Tool <../../get-started/install-openvino-overview>` page to install OpenVINO Runtime from an archive file for your operating system. Once OpenVINO Runtime is installed, you may install OpenVINO Development Tools for access to tools like ``mo``, Model Downloader, Benchmark Tool, and other utilities that will help you optimize your model and develop your application. Follow the steps in the :ref:`Installing OpenVINO Development Tools ` section on this page to install it. @@ -161,7 +161,7 @@ To verify the package is properly installed, run the command below (this may tak mo -h -You will see the help message for ``mo`` if installation finished successfully. If you get an error, refer to the :doc:`Troubleshooting Guide ` for possible solutions. +You will see the help message for ``mo`` if installation finished successfully. If you get an error, refer to the :doc:`Troubleshooting Guide <../../get-started/troubleshooting-install-config>` for possible solutions. Congratulations! You finished installing OpenVINO Development Tools with C/C++ capability. Now you can start exploring OpenVINO's functionality through example C/C++ applications. See the "What's Next?" section to learn more! @@ -173,38 +173,38 @@ Learn more about OpenVINO and use it in your own application by trying out some Get started with Python +++++++++++++++++++++++ -.. image:: _static/images/get_started_with_python.gif +.. image:: ../../_static/images/get_started_with_python.gif :width: 400 -Try the `Python Quick Start Example `__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. +Try the `Python Quick Start Example <../../notebooks/201-vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. -Visit the :doc:`Tutorials ` page for more Jupyter Notebooks to get you started with OpenVINO, such as: +Visit the :doc:`Tutorials <../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: -* `OpenVINO Python API Tutorial `__ -* `Basic image classification program with Hello Image Classification `__ -* `Convert a PyTorch model and use it for image background removal `__ +* `OpenVINO Python API Tutorial <../../notebooks/002-openvino-api-with-output.html>`__ +* `Basic image classification program with Hello Image Classification <../../notebooks/001-hello-world-with-output.html>`__ +* `Convert a PyTorch model and use it for image background removal <../../notebooks/205-vision-background-removal-with-output.html>`__ Get started with C++ ++++++++++++++++++++ -.. image:: _static/images/get_started_with_cpp.jpg +.. image:: ../../_static/images/get_started_with_cpp.jpg :width: 400 -Try the :doc:`C++ Quick Start Example ` for step-by-step instructions on building and running a basic image classification C++ application. +Try the :doc:`C++ Quick Start Example <../../learn-openvino/openvino-samples/get-started-demos>` for step-by-step instructions on building and running a basic image classification C++ application. -Visit the :doc:`Samples ` page for other C++ example applications to get you started with OpenVINO, such as: +Visit the :doc:`Samples <../../learn-openvino/openvino-samples>` page for other C++ example applications to get you started with OpenVINO, such as: -* :doc:`Basic object detection with the Hello Reshape SSD C++ sample ` -* :doc:`Object classification sample ` +* :doc:`Basic object detection with the Hello Reshape SSD C++ sample <../../learn-openvino/openvino-samples/hello-reshape-ssd>` +* :doc:`Object classification sample <../../learn-openvino/openvino-samples/hello-classification>` Learn OpenVINO Development Tools ++++++++++++++++++++++++++++++++ -* Explore a variety of pre-trained deep learning models in the :doc:`Open Model Zoo ` and deploy them in demo applications to see how they work. -* Want to import a model from another framework and optimize its performance with OpenVINO? Visit the :doc:`Convert a Model ` page. -* Accelerate your model's speed even further with quantization and other compression techniques using :doc:`Neural Network Compression Framework (NNCF) `. -* Benchmark your model's inference speed with one simple command using the :doc:`Benchmark Tool `. +* Explore a variety of pre-trained deep learning models in the :doc:`Open Model Zoo ` and deploy them in demo applications to see how they work. +* Want to import a model from another framework and optimize its performance with OpenVINO? Visit the :doc:`Convert a Model ` page. +* Accelerate your model's speed even further with quantization and other compression techniques using :doc:`Neural Network Compression Framework (NNCF) <../../openvino-workflow/model-optimization-guide/quantizing-models-post-training>`. +* Benchmark your model's inference speed with one simple command using the :doc:`Benchmark Tool <../../learn-openvino/openvino-samples/benchmark-tool>`. Additional Resources #################### diff --git a/docs/articles_en/documentation/legacy-features/model-zoo.rst b/docs/articles_en/documentation/legacy-features/model-zoo.rst index 67509d37b0e..281e217f75c 100644 --- a/docs/articles_en/documentation/legacy-features/model-zoo.rst +++ b/docs/articles_en/documentation/legacy-features/model-zoo.rst @@ -10,28 +10,28 @@ Model Zoo :maxdepth: 1 :hidden: - omz_models_group_intel - omz_models_group_public + ../../omz_models_group_intel + ../../omz_models_group_public .. toctree:: :maxdepth: 1 :hidden: - omz_tools_downloader - omz_tools_accuracy_checker - omz_data_datasets - omz_demos + ../../omz_tools_downloader + ../../omz_tools_accuracy_checker + ../../omz_data_datasets + ../../omz_demos .. toctree:: :maxdepth: 1 :hidden: - omz_model_api_ovms_adapter + ../../omz_model_api_ovms_adapter Open Model Zoo for OpenVINO™ toolkit delivers a wide variety of free, pre-trained deep learning models and demo applications that provide full application templates to help you implement deep learning in Python, C++, or OpenCV Graph API (G-API). Models and demos are available in the `Open Model Zoo GitHub repo `__ and licensed under Apache License Version 2.0. -Browse through over 200 neural network models, both :doc:`public ` and from :doc:`Intel `, and pick the right one for your solution. Types include object detection, classification, image segmentation, handwriting recognition, text to speech, pose estimation, and others. The Intel models have already been converted to work with OpenVINO™ toolkit, while public models can easily be converted using the :doc:`OpenVINO Model Conversion API ` utility. +Browse through over 200 neural network models, both :doc:`public <../../omz_models_group_public>` and from :doc:`Intel <../../omz_models_group_intel>`, and pick the right one for your solution. Types include object detection, classification, image segmentation, handwriting recognition, text to speech, pose estimation, and others. The Intel models have already been converted to work with OpenVINO™ toolkit, while public models can easily be converted using the :doc:`OpenVINO Model Conversion API <../../openvino-workflow/model-preparation>` utility. -Get started with simple :doc:`step-by-step procedures ` to learn how to build and run demo applications or discover the :doc:`full set of demos ` and adapt them for implementing specific deep learning scenarios in your applications. +Get started with simple :doc:`step-by-step procedures <../../learn-openvino/openvino-samples/get-started-demos>` to learn how to build and run demo applications or discover the :doc:`full set of demos <../../omz_demos>` and adapt them for implementing specific deep learning scenarios in your applications. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api.rst index 210592cdeb2..bf74e8dda82 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api.rst @@ -11,8 +11,8 @@ Transition from Legacy Conversion API :maxdepth: 1 :hidden: - openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide - openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer + transition-legacy-conversion-api/legacy-conversion-api + transition-legacy-conversion-api/legacy-model-optimizer-extensibility In the 2023.1 OpenVINO release OpenVINO Model Converter was introduced with the corresponding Python API: ``openvino.convert_model`` method. ``ovc`` and ``openvino.convert_model`` represent @@ -327,7 +327,7 @@ Here is the guide to transition from legacy model preprocessing to new API prepr prep.input(input_name).preprocess().mean([0.5, 0.5, 0.5]) ov_model = prep.build() - There is currently no heuristic for automatic detection of the channel to which mean, scale or reverse channels should be applied. ``Layout`` needs to be explicitly specified with "C" channel. For example "NHWC", "NCHW", "?C??". See also :doc:`Layout API overview `. + There is currently no heuristic for automatic detection of the channel to which mean, scale or reverse channels should be applied. ``Layout`` needs to be explicitly specified with "C" channel. For example "NHWC", "NCHW", "?C??". See also :doc:`Layout API overview <../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/layout-api-overview>`. .. tab-item:: CLI :sync: cli @@ -376,7 +376,7 @@ Here is the guide to transition from legacy model preprocessing to new API prepr prep.input(input_name).preprocess().scale([255., 255., 255.]) ov_model = prep.build() - There is currently no heuristic for automatic detection of the channel to which mean, scale or reverse channels should be applied. ``Layout`` needs to be explicitly specified with "C" channel. For example "NHWC", "NCHW", "?C??". See also :doc:`Layout API overview `. + There is currently no heuristic for automatic detection of the channel to which mean, scale or reverse channels should be applied. ``Layout`` needs to be explicitly specified with "C" channel. For example "NHWC", "NCHW", "?C??". See also :doc:`Layout API overview <../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/layout-api-overview>`. .. tab-item:: CLI :sync: cli @@ -425,7 +425,7 @@ Here is the guide to transition from legacy model preprocessing to new API prepr prep.input(input_name).preprocess().reverse_channels() ov_model = prep.build() - There is currently no heuristic for automatic detection of the channel to which mean, scale or reverse channels should be applied. ``Layout`` needs to be explicitly specified with "C" channel. For example "NHWC", "NCHW", "?C??". See also :doc:`Layout API overview `. + There is currently no heuristic for automatic detection of the channel to which mean, scale or reverse channels should be applied. ``Layout`` needs to be explicitly specified with "C" channel. For example "NHWC", "NCHW", "?C??". See also :doc:`Layout API overview <../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/layout-api-overview>`. .. tab-item:: CLI :sync: cli diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api.rst index 2452590b3cd..f0363dd223b 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api.rst @@ -8,14 +8,14 @@ Legacy Conversion API :maxdepth: 1 :hidden: - Setting Input Shapes - Troubleshooting Reshape Errors - Cutting Off Parts of a Model - Embedding Preprocessing Computation - Compressing a Model to FP16 - Convert Models Represented as Python Objects - Model Optimizer Frequently Asked Questions - Supported Model Formats + Setting Input Shapes + Troubleshooting Reshape Errors + Cutting Off Parts of a Model + Embedding Preprocessing Computation + Compressing a Model to FP16 + Convert Models Represented as Python Objects + Model Optimizer Frequently Asked Questions + Supported Model Formats .. meta:: :description: Model conversion (MO) furthers the transition between training and @@ -23,7 +23,7 @@ Legacy Conversion API optimal execution on target devices. .. note:: - This part of the documentation describes a legacy approach to model conversion. Starting with OpenVINO 2023.1, a simpler alternative API for model conversion is available: ``openvino.convert_model`` and OpenVINO Model Converter ``ovc`` CLI tool. Refer to :doc:`Model preparation ` for more details. If you are still using `openvino.tools.mo.convert_model` or `mo` CLI tool, you can still refer to this documentation. However, consider checking the :doc:`transition guide ` to learn how to migrate from the legacy conversion API to the new one. Depending on the model topology, the new API can be a better option for you. + This part of the ../../../documentation describes a legacy approach to model conversion. Starting with OpenVINO 2023.1, a simpler alternative API for model conversion is available: ``openvino.convert_model`` and OpenVINO Model Converter ``ovc`` CLI tool. Refer to :doc:`Model preparation <../../../openvino-workflow/model-preparation>` for more details. If you are still using `openvino.tools.mo.convert_model` or `mo` CLI tool, you can still refer to this ../../../documentation. However, consider checking the :doc:`transition guide <../transition-legacy-conversion-api>` to learn how to migrate from the legacy conversion API to the new one. Depending on the model topology, the new API can be a better option for you. To convert a model to OpenVINO model format (``ov.Model``), you can use the following command: @@ -50,19 +50,19 @@ If the out-of-the-box conversion (only the ``input_model`` parameter is specifie - ``input`` and ``input_shape`` - the model conversion API parameters used to override original input shapes for model conversion, - For more information about the parameters, refer to the :doc:`Setting Input Shapes ` guide. + For more information about the parameters, refer to the :doc:`Setting Input Shapes ` guide. - ``input`` and ``output`` - the model conversion API parameters used to define new inputs and outputs of the converted model to cut off unwanted parts (such as unsupported operations and training sub-graphs), - For a more detailed description, refer to the :doc:`Cutting Off Parts of a Model ` guide. + For a more detailed description, refer to the :doc:`Cutting Off Parts of a Model ` guide. - ``mean_values``, ``scales_values``, ``layout`` - the parameters used to insert additional input pre-processing sub-graphs into the converted model, - For more details, see the :doc:`Embedding Preprocessing Computation ` article. + For more details, see the :doc:`Embedding Preprocessing Computation ` article. - ``compress_to_fp16`` - a compression parameter in ``mo`` command-line tool, which allows generating IR with constants (for example, weights for convolutions and matrix multiplications) compressed to ``FP16`` data type. - For more details, refer to the :doc:`Compression of a Model to FP16 ` guide. + For more details, refer to the :doc:`Compression of a Model to FP16 ` guide. To get the full list of conversion parameters, run the following command: @@ -132,7 +132,7 @@ Below is a list of separate examples for different frameworks and model conversi mo --saved_model_dir BERT --input_shape [2,30],[2,30],[2,30] - For more information, refer to the :doc:`Converting a TensorFlow Model ` guide. + For more information, refer to the :doc:`Converting a TensorFlow Model ` guide. 2. Launch model conversion for an ONNX OCR model and specify new output explicitly: @@ -155,11 +155,11 @@ Below is a list of separate examples for different frameworks and model conversi mo --input_model ocr.onnx --output probabilities - For more information, refer to the :doc:`Converting an ONNX Model ` guide. + For more information, refer to the :doc:`Converting an ONNX Model ` guide. .. note:: - PyTorch models must be exported to the ONNX format before conversion into IR. More information can be found in :doc:`Converting a PyTorch Model `. + PyTorch models must be exported to the ONNX format before conversion into IR. More information can be found in :doc:`Converting a PyTorch Model `. 3. Launch model conversion for a PaddlePaddle UNet model and apply mean-scale normalization to the input: @@ -182,9 +182,9 @@ Below is a list of separate examples for different frameworks and model conversi mo --input_model unet.pdmodel --mean_values [123,117,104] --scale 255 - For more information, refer to the :doc:`Converting a PaddlePaddle Model ` guide. + For more information, refer to the :doc:`Converting a PaddlePaddle Model ` guide. -- To get conversion recipes for specific TensorFlow, ONNX, and PyTorch models, refer to the :doc:`Model Conversion Tutorials `. -- For more information about IR, see :doc:`Deep Learning Network Intermediate Representation and Operation Sets in OpenVINO™ `. -- For more information about support of neural network models trained with various frameworks, see :doc:`OpenVINO Extensibility Mechanism ` +- To get conversion recipes for specific TensorFlow, ONNX, and PyTorch models, refer to the :doc:`Model Conversion Tutorials `. +- For more information about IR, see :doc:`Deep Learning Network Intermediate Representation and Operation Sets in OpenVINO™ <../../openvino-ir-format/operation-sets>`. +- For more information about support of neural network models trained with various frameworks, see :doc:`OpenVINO Extensibility Mechanism <../../openvino-extensibility>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-compressing-model-to-fp16.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-compressing-model-to-fp16.rst index 421010ab6b3..23f511fdb45 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-compressing-model-to-fp16.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-compressing-model-to-fp16.rst @@ -7,7 +7,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Conversion Parameters ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Conversion Parameters <../../../../openvino-workflow/model-preparation/conversion-parameters>` article. By default, when IR is saved all relevant floating-point weights are compressed to ``FP16`` data type during model conversion. It results in creating a "compressed ``FP16`` model", which occupies about half of @@ -37,12 +37,12 @@ To disable compression, use the ``compress_to_fp16=False`` option: For details on how plugins handle compressed ``FP16`` models, see -:doc:`Inference Devices and Modes `. +:doc:`Inference Devices and Modes <../../../../openvino-workflow/running-inference/inference-devices-and-modes>`. .. note:: ``FP16`` compression is sometimes used as the initial step for ``INT8`` quantization. - Refer to the :doc:`Post-training optimization ` guide for more + Refer to the :doc:`Post-training optimization <../../../../openvino-workflow/model-optimization-guide/quantizing-models-post-training>` guide for more information about that. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-convert-models-as-python-objects.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-convert-models-as-python-objects.rst index 0eb9ca76060..7749ef4f5fe 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-convert-models-as-python-objects.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-convert-models-as-python-objects.rst @@ -7,7 +7,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Model Preparation ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Model Preparation <../../../../openvino-workflow/model-preparation>` article. Model conversion API is represented by ``convert_model()`` method in openvino.tools.mo namespace. ``convert_model()`` is compatible with types from openvino.runtime, like PartialShape, Layout, Type, etc. @@ -32,8 +32,8 @@ Example of converting a PyTorch model directly from memory: The following types are supported as an input model for ``convert_model()``: -* PyTorch - ``torch.nn.Module``, ``torch.jit.ScriptModule``, ``torch.jit.ScriptFunction``. Refer to the :doc:`Converting a PyTorch Model` article for more details. -* TensorFlow / TensorFlow 2 / Keras - ``tf.keras.Model``, ``tf.keras.layers.Layer``, ``tf.compat.v1.Graph``, ``tf.compat.v1.GraphDef``, ``tf.Module``, ``tf.function``, ``tf.compat.v1.session``, ``tf.train.checkpoint``. Refer to the :doc:`Converting a TensorFlow Model` article for more details. +* PyTorch - ``torch.nn.Module``, ``torch.jit.ScriptModule``, ``torch.jit.ScriptFunction``. Refer to the :doc:`Converting a PyTorch Model<[legacy]-supported-model-formats/[legacy]-convert-pytorch>` article for more details. +* TensorFlow / TensorFlow 2 / Keras - ``tf.keras.Model``, ``tf.keras.layers.Layer``, ``tf.compat.v1.Graph``, ``tf.compat.v1.GraphDef``, ``tf.Module``, ``tf.function``, ``tf.compat.v1.session``, ``tf.train.checkpoint``. Refer to the :doc:`Converting a TensorFlow Model<[legacy]-supported-model-formats/[legacy]-convert-tensorflow>` article for more details. ``convert_model()`` accepts all parameters available in the MO command-line tool. Parameters can be specified by Python classes or string analogs, similar to the command-line tool. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-cutting-parts-of-a-model.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-cutting-parts-of-a-model.rst index 1a43044c4bc..917998c7eba 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-cutting-parts-of-a-model.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-cutting-parts-of-a-model.rst @@ -29,12 +29,12 @@ Model conversion API parameters Model conversion API provides ``input`` and ``output`` command-line options to specify new entry and exit nodes, while ignoring the rest of the model: -* ``input`` option accepts a list of layer names of the input model that should be treated as new entry points to the model. See the full list of accepted types for input on :doc:`Model Conversion Python API ` page. +* ``input`` option accepts a list of layer names of the input model that should be treated as new entry points to the model. See the full list of accepted types for input on :doc:`Model Conversion Python API <[legacy]-convert-models-as-python-objects>` page. * ``output`` option accepts a list of layer names of the input model that should be treated as new exit points from the model. The ``input`` option is required for cases unrelated to model cutting. For example, when the model contains several inputs and ``input_shape`` or ``mean_values`` options are used, the ``input`` option specifies the order of input nodes for correct mapping between multiple items provided in ``input_shape`` and ``mean_values`` and the inputs in the model. -Model cutting is illustrated with the Inception V1 model, found in the ``models/research/slim`` repository. To proceed with this chapter, make sure you do the necessary steps to :doc:`prepare the model for model conversion `. +Model cutting is illustrated with the Inception V1 model, found in the ``models/research/slim`` repository. To proceed with this chapter, make sure you do the necessary steps to :doc:`prepare the model for model conversion <[legacy]-setting-input-shapes>`. Default Behavior without input and output ######################################### @@ -43,14 +43,14 @@ The input model is converted as a whole if neither ``input`` nor ``output`` comm For Inception_V1, there is one ``Placeholder``: input. If the model is viewed in TensorBoard, the input operation is easy to find: -.. image:: _static/images/inception_v1_std_input.svg +.. image:: ../../../../_static/images/inception_v1_std_input.svg :alt: Placeholder in Inception V1 ``Reshape`` is the only output operation, which is enclosed in a nested name scope of ``InceptionV1/Logits/Predictions``, under the full name of ``InceptionV1/Logits/Predictions/Reshape_1``. In TensorBoard, along with some of its predecessors, it looks as follows: -.. image:: _static/images/inception_v1_std_output.svg +.. image:: ../../../../_static/images/inception_v1_std_output.svg :alt: TensorBoard with predecessors Convert this model to ``ov.Model``: @@ -150,7 +150,7 @@ Model Cutting Now, consider how to cut some parts of the model off. This chapter describes the first convolution block ``InceptionV1/InceptionV1/Conv2d_1a_7x7`` of the Inception V1 model to illustrate cutting: -.. image:: _static/images/inception_v1_first_block.svg +.. image:: ../../../../_static/images/inception_v1_first_block.svg :alt: Inception V1 first convolution block Cutting at the End diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation.rst index dd6aac35bd0..9a4e407fa07 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation.rst @@ -7,7 +7,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Conversion Parameters ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Conversion Parameters <../../../../openvino-workflow/model-preparation/conversion-parameters>` article. Input data for inference can be different from the training dataset and requires additional preprocessing before inference. To accelerate the whole pipeline including @@ -18,7 +18,7 @@ Based on these parameters, model conversion API generates OpenVINO IR with addit to perform the defined preprocessing. This preprocessing block can perform mean-scale normalization of input data, reverting data along channel dimension, and changing the data layout. See the following sections for details on the parameters, or the -:doc:`Overview of Preprocessing API ` +:doc:`Overview of Preprocessing API <../../../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing>` for the same functionality in OpenVINO Runtime. Specifying Layout @@ -31,7 +31,7 @@ Layout defines the meaning of dimensions in shape and can be specified for both inputs and outputs. Some preprocessing requires to set input layouts, for example, setting a batch, applying mean or scales, and reversing input channels (BGR<->RGB). -For the layout syntax, check the :doc:`Layout API overview `. +For the layout syntax, check the :doc:`Layout API overview <../../../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/layout-api-overview>`. To specify the layout, you can use the ``layout`` option followed by the layout value. For example, the following command specifies the ``NHWC`` layout for a Tensorflow @@ -251,5 +251,5 @@ model and embeds the ``reverse_input_channel`` preprocessing block into OpenVINO Additional Resources #################### -* :doc:`Overview of Preprocessing API ` +* :doc:`Overview of Preprocessing API <../../../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-model-optimizer-faq.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-model-optimizer-faq.rst index 713610807eb..a7a41a4cb75 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-model-optimizer-faq.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-model-optimizer-faq.rst @@ -6,7 +6,7 @@ .. important:: - All of the issues below refer to :doc:`legacy functionalities `. + All of the issues below refer to :doc:`legacy functionalities <../legacy-model-optimizer-extensibility>`. If your question is not covered by the topics below, use the `OpenVINO Support page `__, @@ -57,7 +57,7 @@ For example, to add the description of the ``CustomReshape`` layer, which is an 3. Now, Model Optimizer is able to load the model into memory and start working with your extensions if there are any. - However, since your model has custom layers, you must register them as custom. To learn more about it, refer to the :doc:`[Legacy] Custom Layers in Model Optimizer `. + However, since your model has custom layers, you must register them as custom. To learn more about it, refer to the :doc:`[Legacy] Custom Layers in Model Optimizer <../legacy-model-optimizer-extensibility>`. .. _question-2: @@ -81,8 +81,8 @@ Q3. What does the message "[ ERROR ]: Unable to create ports for node with id" m **A:** Most likely, Model Optimizer does not know how to infer output shapes of some layers in the given topology. To lessen the scope, compile the list of layers that are custom for Model Optimizer: present in the topology, -absent in the :doc:`list of supported operations ` for the target framework. -Then, refer to available options in the corresponding section in the :doc:`[Legacy] Custom Layers in Model Optimizer ` page. +absent in the :doc:`list of supported operations <../../../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` for the target framework. +Then, refer to available options in the corresponding section in the :doc:`[Legacy] Custom Layers in Model Optimizer <../legacy-model-optimizer-extensibility>` page. .. _question-7: @@ -201,7 +201,7 @@ However, if your model contains more than one input, Model Optimizer is able to Q9. What does the message "Mean file for topologies with multiple inputs is not supported" mean? ##################################################################################################################################################### -**A:** Model Optimizer does not support mean file processing for topologies with more than one input. In this case, you need to perform preprocessing of the inputs for a generated Intermediate Representation in OpenVINO Runtime to perform subtraction for every input of your multi-input model. See the :doc:`Overview of Preprocessing ` for details. +**A:** Model Optimizer does not support mean file processing for topologies with more than one input. In this case, you need to perform preprocessing of the inputs for a generated Intermediate Representation in OpenVINO Runtime to perform subtraction for every input of your multi-input model. See the :doc:`Overview of Preprocessing <../../../../openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing>` for details. .. _question-11: @@ -222,7 +222,7 @@ Q12. What does the message "Error happened while constructing caffe.Net in the C Q13. What does the message "Cannot infer shapes due to exception in Caffe" mean? ##################################################################################################################################################### -**A:** Model Optimizer tried to infer a custom layer via the Caffe framework, but the model could not be inferred using Caffe. This might happen if you try to convert the model with some noise weights and biases, which conflict with layers that have dynamic shapes. You should write your own extension for every custom layer your topology might have. For more details, refer to the :doc:`[Legacy] Model Optimizer Extensibility ` page. +**A:** Model Optimizer tried to infer a custom layer via the Caffe framework, but the model could not be inferred using Caffe. This might happen if you try to convert the model with some noise weights and biases, which conflict with layers that have dynamic shapes. You should write your own extension for every custom layer your topology might have. For more details, refer to the :doc:`[Legacy] Model Optimizer Extensibility <../legacy-model-optimizer-extensibility>` page. .. _question-14: @@ -254,7 +254,7 @@ Q16. What does the message "Input shape is required to convert MXNet model. Plea Q19. What does the message "Both --scale and --scale_values are defined. Specify either scale factor or scale values per input channels" mean? ##################################################################################################################################################### -**A:** The ``--scale`` option sets a scaling factor for all channels, while ``--scale_values`` sets a scaling factor per each channel. Using both of them simultaneously produces ambiguity, so you must use only one of them. For more information, refer to the **Using Framework-Agnostic Conversion Parameters** section: for :doc:`Converting a TensorFlow Model `. +**A:** The ``--scale`` option sets a scaling factor for all channels, while ``--scale_values`` sets a scaling factor per each channel. Using both of them simultaneously produces ambiguity, so you must use only one of them. For more information, refer to the **Using Framework-Agnostic Conversion Parameters** section: for :doc:`Converting a TensorFlow Model <[legacy]-supported-model-formats/[legacy]-convert-tensorflow>`. .. _question-20: @@ -284,7 +284,7 @@ Q23. What does the message "Discovered data node without inputs and value" mean? Q24. What does the message "Part of the nodes was not translated to IE. Stopped" mean? ##################################################################################################################################################### -**A:** Some of the operations are not supported by OpenVINO Runtime and cannot be translated to OpenVINO Intermediate Representation. You can extend Model Optimizer by allowing generation of new types of operations and implement these operations in the dedicated OpenVINO plugins. For more information, refer to the :doc:`OpenVINO Extensibility Mechanism ` guide. +**A:** Some of the operations are not supported by OpenVINO Runtime and cannot be translated to OpenVINO Intermediate Representation. You can extend Model Optimizer by allowing generation of new types of operations and implement these operations in the dedicated OpenVINO plugins. For more information, refer to the :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` guide. .. _question-25: @@ -350,7 +350,7 @@ Q32. What does the message "No or multiple placeholders in the model, but only o Q33. What does the message "The amount of input nodes for port is not equal to 1" mean? ##################################################################################################################################################### -**A:** This error occurs when the ``SubgraphMatch.single_input_node`` function is used for an input port that supplies more than one node in a sub-graph. The ``single_input_node`` function can be used only for ports that has a single consumer inside the matching sub-graph. When multiple nodes are connected to the port, use the ``input_nodes`` function or ``node_by_pattern`` function instead of ``single_input_node``. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility ` guide. +**A:** This error occurs when the ``SubgraphMatch.single_input_node`` function is used for an input port that supplies more than one node in a sub-graph. The ``single_input_node`` function can be used only for ports that has a single consumer inside the matching sub-graph. When multiple nodes are connected to the port, use the ``input_nodes`` function or ``node_by_pattern`` function instead of ``single_input_node``. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility <../legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions>` guide. .. _question-34: @@ -364,7 +364,7 @@ Q34. What does the message "Output node for port has already been specified" mea Q35. What does the message "Unsupported match kind.... Match kinds "points" or "scope" are supported only" mean? ##################################################################################################################################################### -**A:** While using configuration file to implement a TensorFlow front replacement extension, an incorrect match kind was used. Only ``points`` or ``scope`` match kinds are supported. For more details, refer to the :doc:`[Legacy] Model Optimizer Extensibility ` guide. +**A:** While using configuration file to implement a TensorFlow front replacement extension, an incorrect match kind was used. Only ``points`` or ``scope`` match kinds are supported. For more details, refer to the :doc:`[Legacy] Model Optimizer Extensibility <../legacy-model-optimizer-extensibility>` guide. .. _question-36: @@ -378,7 +378,7 @@ Q36. What does the message "Cannot write an event file for the TensorBoard to di Q37. What does the message "There is no registered 'infer' function for node with op = .. . Please implement this function in the extensions" mean? ##################################################################################################################################################### -**A** Most likely, you tried to extend Model Optimizer with a new primitive, but you did not specify an infer function. For more information on extensions, see the :doc:`OpenVINO Extensibility Mechanism ` guide. +**A** Most likely, you tried to extend Model Optimizer with a new primitive, but you did not specify an infer function. For more information on extensions, see the :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` guide. .. _question-38: @@ -413,7 +413,7 @@ Q41. What does the message "Shape for tensor is not defined. Can not proceed" me Q42. What does the message "Module TensorFlow was not found. Please install TensorFlow 1.2 or higher" mean? ##################################################################################################################################################### -**A:** To convert TensorFlow models with Model Optimizer, TensorFlow 1.2 or newer must be installed. For more information on prerequisites, see the :doc:`Configuring Model Optimizer ` guide. +**A:** To convert TensorFlow models with Model Optimizer, TensorFlow 1.2 or newer must be installed. For more information on prerequisites, see the :doc:`Configuring Model Optimizer <../legacy-conversion-api>` guide. .. _question-43: @@ -434,7 +434,7 @@ Q44. What does the message "Cannot pre-process TensorFlow graph after reading fr Q45. What does the message "Found custom layer. Model Optimizer does not support this layer. Please, register it in CustomLayersMapping.xml or implement extension" mean? ########################################################################################################################################################################## -**A:** This means that the layer ``{layer_name}`` is not supported in Model Optimizer. You will find a list of all unsupported layers in the corresponding section. You should implement the extensions for this layer. See :doc:`OpenVINO Extensibility Mechanism ` for more information. +**A:** This means that the layer ``{layer_name}`` is not supported in Model Optimizer. You will find a list of all unsupported layers in the corresponding section. You should implement the extensions for this layer. See :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` for more information. .. _question-46: @@ -448,7 +448,7 @@ Q46. What does the message "Custom replacement configuration file does not exist Q47. What does the message "Extractors collection have case insensitive duplicates" mean? ##################################################################################################################################################### -**A:** When extending Model Optimizer with new primitives, keep in mind that their names are case-insensitive. Most likely, another operation with the same name is already defined. For more information, see the :doc:`OpenVINO Extensibility Mechanism ` guide. +**A:** When extending Model Optimizer with new primitives, keep in mind that their names are case-insensitive. Most likely, another operation with the same name is already defined. For more information, see the :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` guide. .. _question-48: @@ -483,7 +483,7 @@ Q51. What does the message "No node with name ..." mean? Q52. What does the message "Module MXNet was not found. Please install MXNet 1.0.0" mean? ##################################################################################################################################################### -**A:** To convert MXNet models with Model Optimizer, Apache MXNet 1.0.0 must be installed. For more information about prerequisites, see the :doc:`Configuring Model Optimizer ` guide. +**A:** To convert MXNet models with Model Optimizer, Apache MXNet 1.0.0 must be installed. For more information about prerequisites, see the :doc:`Configuring Model Optimizer <../legacy-conversion-api>` guide. .. _question-53: @@ -504,7 +504,7 @@ Q54. What does the message "The following error happened while processing input Q55. What does the message "Attempt to register of custom name for the second time as class. Note that custom names are case-insensitive" mean? ##################################################################################################################################################### -**A:** When extending Model Optimizer with new primitives, keep in mind that their names are case-insensitive. Most likely, another operation with the same name is already defined. For more information, see the :doc:`OpenVINO Extensibility Mechanism ` guide. +**A:** When extending Model Optimizer with new primitives, keep in mind that their names are case-insensitive. Most likely, another operation with the same name is already defined. For more information, see the :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` guide. .. _question-56: @@ -602,14 +602,14 @@ Q65. What does the message "No class registered for match kind ... Supported mat Q66. What does the message "No instance(s) is(are) defined for the custom replacement" mean? ##################################################################################################################################################### -**A:** A replacement defined in the configuration file for sub-graph replacement, using node names patterns or start/end nodes, has the ``instances`` attribute. This attribute is mandatory. This error will occur if the attribute is missing. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility ` guide. +**A:** A replacement defined in the configuration file for sub-graph replacement, using node names patterns or start/end nodes, has the ``instances`` attribute. This attribute is mandatory. This error will occur if the attribute is missing. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility <../legacy-model-optimizer-extensibility>` guide. .. _question-67: Q67. What does the message "The instance must be a single dictionary for the custom replacement with id .." mean? ##################################################################################################################################################### -**A:** A replacement defined in the configuration file for sub-graph replacement, using start/end nodes, has the ``instances`` attribute. For this type of replacement, the instance must be defined with a dictionary with two keys ``start_points`` and ``end_points``. Values for these keys are lists with the start and end node names, respectively. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility ` guide. +**A:** A replacement defined in the configuration file for sub-graph replacement, using start/end nodes, has the ``instances`` attribute. For this type of replacement, the instance must be defined with a dictionary with two keys ``start_points`` and ``end_points``. Values for these keys are lists with the start and end node names, respectively. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility <../legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions>` guide. .. _question-68: @@ -665,7 +665,7 @@ Q74. What does the message "End node .. is not reachable from start nodes: .." m Q75. What does the message "Sub-graph contains network input node .." mean? ##################################################################################################################################################### -**A:** The start or end node for the sub-graph replacement using start/end nodes is specified incorrectly. Model Optimizer finds internal nodes of the sub-graph strictly "between" the start and end nodes, and then adds all input nodes to the sub-graph (and the inputs of their inputs, etc.) for these "internal" nodes. This error reports that Model Optimizer reached input node during this phase. This means that the start/end points are specified incorrectly in the configuration file. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility ` guide. +**A:** The start or end node for the sub-graph replacement using start/end nodes is specified incorrectly. Model Optimizer finds internal nodes of the sub-graph strictly "between" the start and end nodes, and then adds all input nodes to the sub-graph (and the inputs of their inputs, etc.) for these "internal" nodes. This error reports that Model Optimizer reached input node during this phase. This means that the start/end points are specified incorrectly in the configuration file. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility <../legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions>` guide. .. _question-76: @@ -686,7 +686,7 @@ Q77. What does the message "... elements of ... were clipped to zero while conve Q78. What does the message "The amount of nodes matched pattern ... is not equal to 1" mean? ##################################################################################################################################################### -**A:** This error occurs when the ``SubgraphMatch.node_by_pattern`` function is used with a pattern that does not uniquely identify a single node in a sub-graph. Try to extend the pattern string to make unambiguous match to a single sub-graph node. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility ` guide. +**A:** This error occurs when the ``SubgraphMatch.node_by_pattern`` function is used with a pattern that does not uniquely identify a single node in a sub-graph. Try to extend the pattern string to make unambiguous match to a single sub-graph node. For more details, refer to the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility <../legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions>` guide. .. _question-79: @@ -700,7 +700,7 @@ Q79. What does the message "The topology contains no "input" layers" mean? Q80. What does the message "Warning: please expect that Model Optimizer conversion might be slow" mean? ##################################################################################################################################################### -**A:** You are using an unsupported Python version. Use only versions 3.4 - 3.6 for the C++ ``protobuf`` implementation that is supplied with OpenVINO toolkit. You can still boost the conversion speed by building the protobuf library from sources. For complete instructions about building ``protobuf`` from sources, see the appropriate section in the :doc:`Converting a Model to Intermediate Representation ` guide. +**A:** You are using an unsupported Python version. Use only versions 3.4 - 3.6 for the C++ ``protobuf`` implementation that is supplied with OpenVINO toolkit. You can still boost the conversion speed by building the protobuf library from sources. For complete instructions about building ``protobuf`` from sources, see the appropriate section in the :doc:`Converting a Model to Intermediate Representation <../legacy-conversion-api>` guide. .. _question-81: @@ -721,7 +721,7 @@ Q82. What does the message "You should specify input for mean/scale values" mean ##################################################################################################################################################### **A:** When the model has multiple inputs and you want to provide mean/scale values, you need to pass those values for each input. More specifically, the number of passed values should be the same as the number of inputs of the model. -For more information, refer to the :doc:`Converting a Model to Intermediate Representation ` guide. +For more information, refer to the :doc:`Converting a Model to Intermediate Representation <[legacy]-setting-input-shapes>` guide. .. _question-83: @@ -729,7 +729,7 @@ Q83. What does the message "Input with name ... not found!" mean? ##################################################################################################################################################### **A:** When you passed the mean/scale values and specify names of input layers of the model, you might have used the name that does not correspond to any input layer. Make sure that you list only names of the input layers of your model when passing values with the ``--input`` option. -For more information, refer to the :doc:`Converting a Model to Intermediate Representation ` guide. +For more information, refer to the :doc:`Converting a Model to Intermediate Representation <[legacy]-setting-input-shapes>` guide. .. _question-84: @@ -752,7 +752,7 @@ Q86. What does the message "Operation ... not supported. Please register it as c **A:** Model Optimizer tried to load the model that contains some unsupported operations. If you want to convert model that contains unsupported operations, you need to prepare extension for all such operations. -For more information, refer to the :doc:`OpenVINO Extensibility Mechanism ` guide. +For more information, refer to the :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` guide. .. _question-87: @@ -809,7 +809,7 @@ Note that the first call ``register_caffe_python_extractor(ProposalPythonExample The second call prevents Model Optimizer from using this extension as if it is an extension for a layer with type ``Proposal``. Otherwise, this layer can be chosen as an implementation of extension that can lead to potential issues. -For more information, refer to the :doc:`OpenVINO Extensibility Mechanism ` guide. +For more information, refer to the :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` guide. .. _question-88: @@ -862,7 +862,7 @@ Q93. What does the message "For legacy MXNet models Model Optimizer does not sup lower than 1.0.0, Model Optimizer does not support such topologies. If you want to convert it, you have to rebuild MXNet with unsupported layers or generate a new JSON file with Apache MXNet version 1.0.0 or higher. You also need to implement OpenVINO extension to use custom layers. -For more information, refer to the :doc:`OpenVINO Extensibility Mechanism ` guide. +For more information, refer to the :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` guide. .. _question-94: @@ -887,12 +887,12 @@ There are multiple ways to avoid cycles: For Tensorflow: -* :doc:`Convert models, created with TensorFlow Object Detection API ` +* :doc:`Convert models, created with TensorFlow Object Detection API <[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-object-detection>` For all frameworks: -1. :doc:`Replace cycle containing Sub-graph in Model Optimizer [Legacy Solution] ` -2. See :doc:`OpenVINO Extensibility Mechanism ` +1. :doc:`Replace cycle containing Sub-graph in Model Optimizer [Legacy Solution] <../legacy-model-optimizer-extensibility>` +2. See :doc:`OpenVINO Extensibility Mechanism <../../../openvino-extensibility>` or @@ -916,7 +916,7 @@ Q101. What does the message "Mean/scale values should ..." mean? ##################################################################################################################################################### **A:** It means that your mean/scale values have a wrong format. Specify mean/scale values in the form of ``layer_name(val1,val2,val3)``. -You need to specify values for each input of the model. For more information, refer to the :doc:`Converting a Model to Intermediate Representation ` guide. +You need to specify values for each input of the model. For more information, refer to the :doc:`Converting a Model to Intermediate Representation <[legacy]-setting-input-shapes>` guide. .. _question-102: @@ -930,7 +930,7 @@ Q102. What does the message "Operation _contrib_box_nms is not supported ..." me Q103. What does the message "ModelOptimizer is not able to parse *.caffemodel" mean? ##################################################################################################################################################### -**A:** If a ``*.caffemodel`` file exists and is correct, the error occurred possibly because of the use of Python protobuf implementation. In some cases, error messages may appear during model parsing, for example: "``utf-8`` codec can't decode byte 0xe0 in position 4: invalid continuation byte in field: mo_caffe.SpatialTransformerParameter.transform_type". You can either use a newer Python version (3.8 - 3.11) or build the ``cpp`` implementation of ``protobuf`` yourself for your version of Python. For the complete instructions about building ``protobuf`` from sources, see the appropriate section in the :doc:`Converting Models with Model Optimizer ` guide. +**A:** If a ``*.caffemodel`` file exists and is correct, the error occurred possibly because of the use of Python protobuf implementation. In some cases, error messages may appear during model parsing, for example: "``utf-8`` codec can't decode byte 0xe0 in position 4: invalid continuation byte in field: mo_caffe.SpatialTransformerParameter.transform_type". You can either use a newer Python version (3.8 - 3.11) or build the ``cpp`` implementation of ``protobuf`` yourself for your version of Python. For the complete instructions about building ``protobuf`` from sources, see the appropriate section in the :doc:`Converting Models with Model Optimizer <../legacy-conversion-api>` guide. .. _question-104: diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes.rst index ef1872b73f8..7015a7f33f3 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes.rst @@ -7,7 +7,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Setting Input Shapes ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Setting Input Shapes <../../../../openvino-workflow/model-preparation/setting-input-shapes>` article. With model conversion API you can increase your model's efficiency by providing an additional shape definition, with these two parameters: `input_shape` and `static_shape`. @@ -24,11 +24,11 @@ However, if the shape of data is not going to change from one inference request it is recommended to set up static shapes (when all dimensions are fully defined) for the inputs. Doing it at this stage, instead of during inference in runtime, can be beneficial in terms of performance and memory consumption. To set up static shapes, model conversion API provides the ``input_shape`` parameter. -For more information on input shapes under runtime, refer to the :doc:`Changing input shapes ` guide. -To learn more about dynamic shapes in runtime, refer to the :doc:`Dynamic Shapes ` guide. +For more information on input shapes under runtime, refer to the :doc:`Changing input shapes <../../../../openvino-workflow/running-inference/changing-input-shape>` guide. +To learn more about dynamic shapes in runtime, refer to the :doc:`Dynamic Shapes <../../../../openvino-workflow/running-inference/dynamic-shapes>` guide. The OpenVINO Runtime API may present certain limitations in inferring models with undefined dimensions on some hardware. -In this case, the ``input_shape`` parameter and the :doc:`reshape method ` can help to resolve undefined dimensions. +In this case, the ``input_shape`` parameter and the :doc:`reshape method <../../../../openvino-workflow/running-inference/changing-input-shape>` can help to resolve undefined dimensions. For example, run model conversion for the TensorFlow MobileNet model with the single input and specify the input shape of ``[2,300,300,3]``: @@ -147,12 +147,12 @@ For example, launch model conversion for the ONNX OCR model and specify a bounda Practically, some models are not ready for input shapes change. In this case, a new input shape cannot be set via model conversion API. -For more information about shape follow the :doc:`inference troubleshooting ` +For more information about shape follow the :doc:`inference troubleshooting <[legacy]-troubleshooting-reshape-errors>` and :ref:`ways to relax shape inference flow ` guides. Additional Resources #################### -* :doc:`Convert a Model ` -* :doc:`Cutting Off Parts of a Model ` +* :doc:`Convert a Model <../legacy-conversion-api>` +* :doc:`Cutting Off Parts of a Model <[legacy]-cutting-parts-of-a-model>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats.rst index bbc40b8b774..e1f3ff9795b 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats.rst @@ -7,24 +7,24 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Supported Model Formats ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Supported Model Formats <../../../../openvino-workflow/model-preparation>` article. .. toctree:: :maxdepth: 1 :hidden: - Converting a TensorFlow Model - Converting an ONNX Model - Converting a PyTorch Model - Converting a TensorFlow Lite Model - Converting a PaddlePaddle Model - Model Conversion Tutorials + Converting a TensorFlow Model <[legacy]-supported-model-formats/[legacy]-convert-tensorflow> + Converting an ONNX Model <[legacy]-supported-model-formats/[legacy]-convert-onnx> + Converting a PyTorch Model <[legacy]-supported-model-formats/[legacy]-convert-pytorch> + Converting a TensorFlow Lite Model <[legacy]-supported-model-formats/[legacy]-convert-tensorflow-lite> + Converting a PaddlePaddle Model <[legacy]-supported-model-formats/[legacy]-convert-paddle> + Model Conversion Tutorials <[legacy]-supported-model-formats/[legacy]-conversion-tutorials> .. meta:: :description: Learn about supported model formats and the methods used to convert, read, and compile them in OpenVINO™. -**OpenVINO IR (Intermediate Representation)** - the proprietary and default format of OpenVINO, benefiting from the full extent of its features. All other supported model formats, as listed below, are converted to :doc:`OpenVINO IR ` to enable inference. Consider storing your model in this format to minimize first-inference latency, perform model optimization, and, in some cases, save space on your drive. +**OpenVINO IR (Intermediate Representation)** - the proprietary and default format of OpenVINO, benefiting from the full extent of its features. All other supported model formats, as listed below, are converted to :doc:`OpenVINO IR <../../../openvino-ir-format>` to enable inference. Consider storing your model in this format to minimize first-inference latency, perform model optimization, and, in some cases, save space on your drive. **PyTorch, TensorFlow, ONNX, and PaddlePaddle** - can be used with OpenVINO Runtime API directly, which means you do not need to save them as OpenVINO IR before including them in your application. @@ -36,7 +36,7 @@ The ``convert_model()`` method enables you to perform additional adjustments to the model, such as setting shapes, changing model input types or layouts, cutting parts of the model, freezing inputs, etc. For a detailed description of the conversion process, see the -:doc:`model conversion guide `. +:doc:`model conversion guide <../legacy-conversion-api>`. Here are code examples of how to use these methods with different model formats: @@ -70,7 +70,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-pytorch>` and an example `tutorial `__ on this topic. @@ -112,7 +112,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-tensorflow>` and an example `tutorial `__ on this topic. @@ -133,7 +133,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C++ :sync: cpp @@ -153,7 +153,7 @@ Here are code examples of how to use these methods with different model formats: ov::CompiledModel compiled_model = core.compile_model("saved_model.pb", "AUTO"); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C :sync: c @@ -174,7 +174,7 @@ Here are code examples of how to use these methods with different model formats: ov_core_compile_model_from_file(core, "saved_model.pb", "AUTO", 0, &compiled_model); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: CLI :sync: cli @@ -186,7 +186,7 @@ Here are code examples of how to use these methods with different model formats: mo --input_model .pb For details on the conversion, refer to the - :doc:`article `. + :doc:`article <[legacy]-supported-model-formats/[legacy]-convert-tensorflow>`. .. tab-item:: TensorFlow Lite :sync: tflite @@ -213,7 +213,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-tensorflow>` and an example `tutorial `__ on this topic. @@ -246,7 +246,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(".tflite", "AUTO") For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C++ @@ -265,7 +265,7 @@ Here are code examples of how to use these methods with different model formats: ov::CompiledModel compiled_model = core.compile_model(".tflite", "AUTO"); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C :sync: c @@ -284,7 +284,7 @@ Here are code examples of how to use these methods with different model formats: ov_core_compile_model_from_file(core, ".tflite", "AUTO", 0, &compiled_model); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: CLI :sync: cli @@ -304,7 +304,7 @@ Here are code examples of how to use these methods with different model formats: mo --input_model .tflite For details on the conversion, refer to the - :doc:`article `. + :doc:`article <[legacy]-supported-model-formats/[legacy]-convert-tensorflow-lite>`. .. tab-item:: ONNX :sync: onnx @@ -331,7 +331,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-onnx>` and an example `tutorial `__ on this topic. @@ -363,7 +363,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(".onnx", "AUTO") - For a guide on how to run inference, see how to :doc:`Integrate OpenVINO™ with Your Application `. + For a guide on how to run inference, see how to :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C++ @@ -381,7 +381,7 @@ Here are code examples of how to use these methods with different model formats: ov::CompiledModel compiled_model = core.compile_model(".onnx", "AUTO"); - For a guide on how to run inference, see how to :doc:`Integrate OpenVINO™ with Your Application `. + For a guide on how to run inference, see how to :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C :sync: c @@ -399,7 +399,7 @@ Here are code examples of how to use these methods with different model formats: ov_compiled_model_t* compiled_model = NULL; ov_core_compile_model_from_file(core, ".onnx", "AUTO", 0, &compiled_model); - For details on the conversion, refer to the :doc:`article ` + For details on the conversion, refer to the :doc:`article <[legacy]-supported-model-formats/[legacy]-convert-onnx>` .. tab-item:: CLI :sync: cli @@ -419,7 +419,7 @@ Here are code examples of how to use these methods with different model formats: mo --input_model .onnx For details on the conversion, refer to the - :doc:`article ` + :doc:`article <[legacy]-supported-model-formats/[legacy]-convert-onnx>` .. tab-item:: PaddlePaddle :sync: pdpd @@ -452,7 +452,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-paddle>` and an example `tutorial `__ on this topic. @@ -484,7 +484,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(".pdmodel", "AUTO") For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C++ :sync: cpp @@ -502,7 +502,7 @@ Here are code examples of how to use these methods with different model formats: ov::CompiledModel compiled_model = core.compile_model(".pdmodel", "AUTO"); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C :sync: c @@ -521,7 +521,7 @@ Here are code examples of how to use these methods with different model formats: ov_core_compile_model_from_file(core, ".pdmodel", "AUTO", 0, &compiled_model); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>`. .. tab-item:: CLI :sync: cli @@ -541,7 +541,7 @@ Here are code examples of how to use these methods with different model formats: mo --input_model .pdmodel For details on the conversion, refer to the - :doc:`article `. + :doc:`article <[legacy]-supported-model-formats/[legacy]-convert-paddle>`. As OpenVINO support for **MXNet, Caffe, and Kaldi formats** has been **discontinued**, converting these legacy formats @@ -550,7 +550,7 @@ to OpenVINO IR or ONNX before running inference should be considered the default .. note:: If you want to keep working with the legacy formats the old way, refer to a previous - `OpenVINO LTS version and its documentation `__ . + `OpenVINO LTS version and its ../../../../documentation `__ . OpenVINO versions of 2023 are mostly compatible with the old instructions, through a deprecated MO tool, installed with the deprecated OpenVINO Developer Tools package. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials.rst index 24e295fa9dc..135bf348f7b 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_MO_DG_prepare_model_convert_model_tutorials} +.. {#openvino_docs_MO_DG_prepare_model_convert_model_../../../../../learn-openvino/interactive-tutorials-python} [LEGACY] Model Conversion Tutorials ==================================================== @@ -8,31 +8,31 @@ :maxdepth: 1 :hidden: - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_AttentionOCR_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_BERT_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_CRNN_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_DeepSpeech_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_EfficientDet_Models - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_FaceNet_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_GNMT_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_lm_1b_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_NCF_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_Object_Detection_API_Models - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_RetinaNet_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_Slim_Library_Models - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_WideAndDeep_Family_Models - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_XLNet_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_YOLO_From_Tensorflow - openvino_docs_MO_DG_prepare_model_convert_model_onnx_specific_Convert_Faster_RCNN - openvino_docs_MO_DG_prepare_model_convert_model_onnx_specific_Convert_GPT2 - openvino_docs_MO_DG_prepare_model_convert_model_onnx_specific_Convert_Mask_RCNN - openvino_docs_MO_DG_prepare_model_convert_model_pytorch_specific_Convert_Bert_ner - openvino_docs_MO_DG_prepare_model_convert_model_pytorch_specific_Convert_Cascade_RCNN_res101 - openvino_docs_MO_DG_prepare_model_convert_model_pytorch_specific_Convert_F3Net - openvino_docs_MO_DG_prepare_model_convert_model_pytorch_specific_Convert_QuartzNet - openvino_docs_MO_DG_prepare_model_convert_model_pytorch_specific_Convert_RCAN - openvino_docs_MO_DG_prepare_model_convert_model_pytorch_specific_Convert_RNNT - openvino_docs_MO_DG_prepare_model_convert_model_pytorch_specific_Convert_YOLACT + [legacy]-conversion-tutorials/convert-tensorflow-attention-ocr + [legacy]-conversion-tutorials/convert-tensorflow-bert + [legacy]-conversion-tutorials/convert-tensorflow-crnn + [legacy]-conversion-tutorials/convert-tensorflow-deep-speech + [legacy]-conversion-tutorials/convert-tensorflow-efficient-det + [legacy]-conversion-tutorials/convert-tensorflow-face-net + [legacy]-conversion-tutorials/convert-tensorflow-gnmt + [legacy]-conversion-tutorials/convert-tensorflow-language-1b + [legacy]-conversion-tutorials/convert-tensorflow-ncf + [legacy]-conversion-tutorials/convert-tensorflow-object-detection + [legacy]-conversion-tutorials/convert-tensorflow-retina-net + [legacy]-conversion-tutorials/convert-tensorflow-slim-library + [legacy]-conversion-tutorials/convert-tensroflow-wide-and-deep-family + [legacy]-conversion-tutorials/convert-tensorflow-xlnet + [legacy]-conversion-tutorials/convert-tensorflow-yolo + [legacy]-conversion-tutorials/convert-onnx-faster-r-cnn + [legacy]-conversion-tutorials/convert-onnx-gpt-2 + [legacy]-conversion-tutorials/convert-onnx-mask-r-cnn + [legacy]-conversion-tutorials/convert-pytorch-bert-ner + [legacy]-conversion-tutorials/convert-pytorch-cascade-rcnn-r-101 + [legacy]-conversion-tutorials/convert-pytorch-f3-net + [legacy]-conversion-tutorials/convert-pytorch-quartz-net + [legacy]-conversion-tutorials/convert-pytorch-rcan + [legacy]-conversion-tutorials/convert-pytorch-rnn-t + [legacy]-conversion-tutorials/convert-pytorch-yolact .. meta:: @@ -43,7 +43,7 @@ The code described in the tutorials has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../learn-openvino/interactive-tutorials-python <../../../../../learn-openvino/interactive-tutorials-python>`. This section provides a set of tutorials that demonstrate conversion methods for specific TensorFlow, ONNX, and PyTorch models. Note that these instructions do not cover all use @@ -55,7 +55,7 @@ Before studying the tutorials, try to convert the model out-of-the-box by specif Apache MXNet, Caffe, and Kaldi are no longer directly supported by OpenVINO. -You will find a collection of :doc:`Python tutorials ` written for running on Jupyter notebooks +You will find a collection of :doc:`Python ../../../../../learn-openvino/interactive-tutorials-python <../../../../../learn-openvino/interactive-tutorials-python>` written for running on Jupyter notebooks that provide an introduction to the OpenVINO™ toolkit and explain how to use the Python API and tools for optimized deep learning inference. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-faster-r-cnn.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-faster-r-cnn.rst index 02aa087fff0..bba001bec65 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-faster-r-cnn.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-faster-r-cnn.rst @@ -12,7 +12,7 @@ Converting an ONNX Faster R-CNN Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. The instructions below are applicable **only** to the Faster R-CNN model converted to the ONNX file format from the `maskrcnn-benchmark model `__: diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-gpt-2.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-gpt-2.rst index 2a6de424f31..461fb866070 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-gpt-2.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-gpt-2.rst @@ -12,7 +12,7 @@ Converting an ONNX GPT-2 Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. `Public pre-trained GPT-2 model `__ is a large transformer-based language model with a simple objective: predict the next word, given all of the previous words within some text. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-mask-r-cnn.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-mask-r-cnn.rst index 24aca44222a..f573060e6a6 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-mask-r-cnn.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-onnx-mask-r-cnn.rst @@ -12,7 +12,7 @@ Converting an ONNX Mask R-CNN Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. The instructions below are applicable **only** to the Mask R-CNN model converted to the ONNX file format from the `maskrcnn-benchmark model `__. @@ -30,7 +30,7 @@ The instructions below are applicable **only** to the Mask R-CNN model converted --transformations_config front/onnx/mask_rcnn.json - Be aware that the height and width specified with the ``input_shape`` command line parameter could be different. For more information about supported input image dimensions and required pre- and post-processing steps, refer to the `documentation `__. + Be aware that the height and width specified with the ``input_shape`` command line parameter could be different. For more information about supported input image dimensions and required pre- and post-processing steps, refer to the `../../../../../../documentation `__. 3. Interpret the outputs of the generated IR file: masks, class indices, probabilities and box coordinates: diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-bert-ner.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-bert-ner.rst index a2fa512c62a..16a611b871b 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-bert-ner.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-bert-ner.rst @@ -12,7 +12,7 @@ Converting a PyTorch BERT-NER Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. The goal of this article is to present a step-by-step guide on how to convert PyTorch BERT-NER model to OpenVINO IR. First, you need to download the model and convert it to ONNX. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-cascade-rcnn-r-101.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-cascade-rcnn-r-101.rst index 5de41b8473b..7c5884846a8 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-cascade-rcnn-r-101.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-cascade-rcnn-r-101.rst @@ -13,7 +13,7 @@ Converting a PyTorch Cascade RCNN R-101 Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. The goal of this article is to present a step-by-step guide on how to convert a PyTorch Cascade RCNN R-101 model to OpenVINO IR. First, you need to download the model and convert it to ONNX. @@ -30,7 +30,7 @@ Downloading and Converting Model to ONNX .. note:: - To set up an environment, refer to the `instructions `__. + To set up an environment, refer to the `instructions `__. * Download the pre-trained `model `__. The model is also available `here `__. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-f3-net.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-f3-net.rst index a4489d6a634..8a91659b860 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-f3-net.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-f3-net.rst @@ -12,7 +12,7 @@ Converting a PyTorch F3Net Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. `F3Net `__ : Fusion, Feedback and Focus for Salient Object Detection diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-quartz-net.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-quartz-net.rst index e0db665df7f..32b4df02997 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-quartz-net.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-quartz-net.rst @@ -12,7 +12,7 @@ Converting a PyTorch QuartzNet Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. `NeMo project `__ provides the QuartzNet model. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-rcan.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-rcan.rst index 1d2254c129e..66e20ac81ec 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-rcan.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-rcan.rst @@ -12,7 +12,7 @@ Converting a PyTorch RCAN Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. `RCAN `__ : Image Super-Resolution Using Very Deep Residual Channel Attention Networks diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-rnn-t.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-rnn-t.rst index e1fae7f6f70..c4693ac7713 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-rnn-t.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-rnn-t.rst @@ -12,7 +12,7 @@ Converting a PyTorch RNN-T Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. This guide covers conversion of RNN-T model from `MLCommons `__ repository. Follow the instructions below to export a PyTorch model into ONNX, before converting it to IR: @@ -134,6 +134,6 @@ After completing this step, the files ``rnnt_encoder.onnx``, ``rnnt_prediction.o .. note:: - The hardcoded value for sequence length = 157 was taken from the MLCommons, but conversion to IR preserves network :doc:`reshapeability `. Therefore, input shapes can be changed manually to any value during either conversion or inference. + The hardcoded value for sequence length = 157 was taken from the MLCommons, but conversion to IR preserves network :doc:`reshapeability <../../../../../../openvino-workflow/running-inference/changing-input-shape>`. Therefore, input shapes can be changed manually to any value during either conversion or inference. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-yolact.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-yolact.rst index 23495f299f8..226a6fdd748 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-yolact.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-pytorch-yolact.rst @@ -13,7 +13,7 @@ Converting a PyTorch YOLACT Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. You Only Look At CoefficienTs (YOLACT) is a simple, fully convolutional model for real-time instance segmentation. The PyTorch implementation is publicly available in `this GitHub repository `__. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-attention-ocr.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-attention-ocr.rst index e24f50c82d6..71dee17c927 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-attention-ocr.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-attention-ocr.rst @@ -14,7 +14,7 @@ Converting a TensorFlow Attention OCR Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. This tutorial explains how to convert the Attention OCR (AOCR) model from the `TensorFlow Attention OCR repository `__ to the Intermediate Representation (IR). diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-bert.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-bert.rst index 1fb3df0ccca..3fb3eb351e4 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-bert.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-bert.rst @@ -13,7 +13,7 @@ Converting a TensorFlow BERT Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. Pretrained models for BERT (Bidirectional Encoder Representations from Transformers) are `publicly available `__. @@ -166,7 +166,7 @@ Follow these steps to make a pretrained TensorFlow BERT model reshapable over ba --input_model inference_graph.pb \ --input "IteratorGetNext:0{i32}[1,128],IteratorGetNext:1{i32}[1,128],IteratorGetNext:4{i32}[1,128]" -For other applicable parameters, refer to the :doc:`Convert Model from TensorFlow ` guide. +For other applicable parameters, refer to the :doc:`Convert Model from TensorFlow <../[legacy]-convert-tensorflow>` guide. -For more information about reshape abilities, refer to the :doc:`Using Shape Inference ` guide. +For more information about reshape abilities, refer to the :doc:`Using Shape Inference <../../../../../../openvino-workflow/running-inference/changing-input-shape>` guide. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-crnn.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-crnn.rst index a101ce8ac24..75a58b2376a 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-crnn.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-crnn.rst @@ -13,7 +13,7 @@ Converting a TensorFlow CRNN Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. This tutorial explains how to convert a CRNN model to OpenVINO™ Intermediate Representation (IR). diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-deep-speech.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-deep-speech.rst index 48e473511e8..7fc7d706c76 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-deep-speech.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-deep-speech.rst @@ -12,7 +12,7 @@ Converting a TensorFlow DeepSpeech Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. `DeepSpeech project `__ provides an engine to train speech-to-text models. @@ -72,12 +72,12 @@ There are two specificities with the supported part of the model. The first is that the model contains an input with sequence length. So the model can be converted with a fixed input length shape, thus the model is not reshapable. -Refer to the :doc:`Using Shape Inference ` guide. +Refer to the :doc:`Using Shape Inference <../../../../../../openvino-workflow/running-inference/changing-input-shape>` guide. The second is that the frozen model still has two variables: ``previous_state_c`` and ``previous_state_h``, figure with the frozen *.pb model is below. It means that the model keeps training these variables at each inference. -.. image:: ./_static/images/DeepSpeech-0.8.2.png +.. image:: ./../../../../../../_static/images/DeepSpeech-0.8.2.png At the first inference, the variables are initialized with zero tensors. After execution, the results of the ``BlockLSTM`` are assigned to cell state and hidden state, which are these two variables. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-efficient-det.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-efficient-det.rst index 4adb0107e79..47a6342ff7c 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-efficient-det.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-efficient-det.rst @@ -13,7 +13,7 @@ Converting TensorFlow EfficientDet Models The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials <../../../../../../learn-openvino/interactive-tutorials-python>`. This tutorial explains how to convert EfficientDet public object detection models to the Intermediate Representation (IR). @@ -53,10 +53,10 @@ The attribute ``image_size`` specifies the shape to be defined for the model con .. note:: - The color channel order (RGB or BGR) of an input data should match the channel order of the model training dataset. If they are different, perform the ``RGB<->BGR`` conversion specifying the command-line parameter: ``--reverse_input_channels``. Otherwise, inference results may be incorrect. For more information about the parameter, refer to the **When to Reverse Input Channels** section of the :doc:`Converting a Model to Intermediate Representation (IR) ` guide. + The color channel order (RGB or BGR) of an input data should match the channel order of the model training dataset. If they are different, perform the ``RGB<->BGR`` conversion specifying the command-line parameter: ``--reverse_input_channels``. Otherwise, inference results may be incorrect. For more information about the parameter, refer to the **When to Reverse Input Channels** section of the :doc:`Converting a Model to Intermediate Representation (IR) <../../[legacy]-setting-input-shapes>` guide. OpenVINO toolkit provides samples that can be used to infer EfficientDet model. -For more information, refer to the :doc:`Open Model Zoo Demos `. +For more information, refer to the :doc:`Open Model Zoo Demos <../../../../../../omz_demos>`. Interpreting Results of the TensorFlow Model and the IR ####################################################### diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-face-net.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-face-net.rst index 087ec66a19f..3d191b0859a 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-face-net.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-face-net.rst @@ -12,7 +12,7 @@ Converting TensorFlow FaceNet Models The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Supported Model Formats ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Supported Model Formats <../../../../../../openvino-workflow/model-preparation>` article. `Public pre-trained FaceNet models `__ contain both training and inference part of graph. Switch between this two states is manageable with placeholder value. @@ -21,7 +21,7 @@ Intermediate Representation (IR) models are intended for inference, which means There are two inputs in this network: boolean ``phase_train`` which manages state of the graph (train/infer) and ``batch_size`` which is a part of batch joining pattern. -.. image:: ./_static/images/FaceNet.svg +.. image:: ./../../../../../../_static/images/FaceNet.svg Converting a TensorFlow FaceNet Model to the IR ############################################### diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-gnmt.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-gnmt.rst index 7857d3fd4c9..f0fd88ccfca 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-gnmt.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-gnmt.rst @@ -12,7 +12,7 @@ Converting a TensorFlow GNMT Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials <../../../../../../learn-openvino/interactive-tutorials-python>`. This tutorial explains how to convert Google Neural Machine Translation (GNMT) model to the Intermediate Representation (IR). @@ -244,7 +244,7 @@ Output cutting: * ``LookupTableFindV2`` operation is cut from the output and the ``dynamic_seq2seq/decoder/decoder/GatherTree`` node is treated as a new exit point. -For more information about model cutting, refer to the :doc:`Cutting Off Parts of a Model ` guide. +For more information about model cutting, refer to the :doc:`Cutting Off Parts of a Model <../../[legacy]-cutting-parts-of-a-model>` guide. Using a GNMT Model ################## @@ -313,5 +313,5 @@ Running GNMT IR result_ie = exec_net.infer(input_data) -For more information about Python API, refer to the :doc:`OpenVINO Runtime Python API ` guide. +For more information about Python API, refer to the :doc:`OpenVINO Runtime Python API <../../../../../../api/ie_python_api/api>` guide. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-language-1b.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-language-1b.rst index b4dec76b524..2fed1dd76c0 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-language-1b.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-language-1b.rst @@ -13,7 +13,7 @@ Converting a TensorFlow Language Model on One Billion Word Benchmark The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. Downloading a Pre-trained Language Model on One Billion Word Benchmark ###################################################################### @@ -92,7 +92,7 @@ Once you have downloaded the pretrained model files, you will have the ``lm_1b`` -.. image:: ./_static/images/lm_1b.svg +.. image:: ./../../../../../../_static/images/lm_1b.svg The frozen model still has two variables: ``Variable`` and ``Variable_1``. It means that the model keeps training those variables at each inference. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-ncf.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-ncf.rst index 407e2373eaf..c9baedc7291 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-ncf.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-ncf.rst @@ -13,7 +13,7 @@ Converting a TensorFlow Neural Collaborative Filtering Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. This tutorial explains how to convert Neural Collaborative Filtering (NCF) model to the OpenVINO Intermediate Representation. @@ -21,7 +21,7 @@ This tutorial explains how to convert Neural Collaborative Filtering (NCF) model 1. Use `the instructions `__ from this repository to train the model. -2. Freeze the inference graph you get in the previous step in ``model_dir``, following the instructions from the **Freezing Custom Models in Python** section of the :doc:`Converting a TensorFlow Model ` guide. +2. Freeze the inference graph you get in the previous step in ``model_dir``, following the instructions from the **Freezing Custom Models in Python** section of the :doc:`Converting a TensorFlow Model <../[legacy]-convert-tensorflow>` guide. Run the following commands: @@ -43,7 +43,7 @@ This tutorial explains how to convert Neural Collaborative Filtering (NCF) model 3. Convert the model to the OpenVINO format. If you look at your frozen model, you can see that it has one input that is split into four ``ResourceGather`` layers. (Click image to zoom in.) - .. image:: ./_static/images/NCF_start.svg + .. image:: ./../../../../../../_static/images/NCF_start.svg However, as the model conversion API does not support such data feeding, you should skip it. Cut the edges incoming in ``ResourceGather`` port 1: diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-object-detection.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-object-detection.rst index f5688887b25..20d90ed2968 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-object-detection.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-object-detection.rst @@ -14,10 +14,10 @@ Converting TensorFlow Object Detection API Models The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. -* Starting with the 2022.1 release, model conversion API can convert the TensorFlow Object Detection API Faster and Mask RCNNs topologies differently. By default, model conversion adds operation "Proposal" to the generated IR. This operation needs an additional input to the model with name "image_info" which should be fed with several values describing the preprocessing applied to the input image (refer to the :doc:`Proposal ` operation specification for more information). However, this input is redundant for the models trained and inferred with equal size images. Model conversion API can generate IR for such models and insert operation :doc:`DetectionOutput ` instead of ``Proposal``. The `DetectionOutput` operation does not require additional model input "image_info". Moreover, for some models the produced inference results are closer to the original TensorFlow model. In order to trigger new behavior, the attribute "operation_to_add" in the corresponding JSON transformation configuration file should be set to value "DetectionOutput" instead of default one "Proposal". -* Starting with the 2021.1 release, model conversion API converts the TensorFlow Object Detection API SSDs, Faster and Mask RCNNs topologies keeping shape-calculating sub-graphs by default, so topologies can be re-shaped in the OpenVINO Runtime using dedicated reshape API. Refer to the :doc:`Using Shape Inference ` guide for more information on how to use this feature. It is possible to change the both spatial dimensions of the input image and batch size. +* Starting with the 2022.1 release, model conversion API can convert the TensorFlow Object Detection API Faster and Mask RCNNs topologies differently. By default, model conversion adds operation "Proposal" to the generated IR. This operation needs an additional input to the model with name "image_info" which should be fed with several values describing the preprocessing applied to the input image (refer to the :doc:`Proposal <../../../../../openvino-ir-format/operation-sets/operations-specifications/detection/proposal-4>` operation specification for more information). However, this input is redundant for the models trained and inferred with equal size images. Model conversion API can generate IR for such models and insert operation :doc:`DetectionOutput <../../../../../openvino-ir-format/operation-sets/operations-specifications/detection/detectionoutput-1>` instead of ``Proposal``. The `DetectionOutput` operation does not require additional model input "image_info". Moreover, for some models the produced inference results are closer to the original TensorFlow model. In order to trigger new behavior, the attribute "operation_to_add" in the corresponding JSON transformation configuration file should be set to value "DetectionOutput" instead of default one "Proposal". +* Starting with the 2021.1 release, model conversion API converts the TensorFlow Object Detection API SSDs, Faster and Mask RCNNs topologies keeping shape-calculating sub-graphs by default, so topologies can be re-shaped in the OpenVINO Runtime using dedicated reshape API. Refer to the :doc:`Using Shape Inference <../../../../../../openvino-workflow/running-inference/changing-input-shape>` guide for more information on how to use this feature. It is possible to change the both spatial dimensions of the input image and batch size. * To generate IRs for TF 1 SSD topologies, model conversion API creates a number of ``PriorBoxClustered`` operations instead of a constant node with prior boxes calculated for the particular input image size. This change allows you to reshape the topology in the OpenVINO Runtime using dedicated API. The reshaping is supported for all SSD topologies except FPNs, which contain hardcoded shapes for some operations preventing from changing topology input shape. Converting a Model @@ -27,7 +27,7 @@ You can download TensorFlow Object Detection API models from the `TensorFlow 1 D .. note:: - Before converting, make sure you have configured model conversion API. For configuration steps, refer to the :doc:`Convert a Model `. + Before converting, make sure you have configured model conversion API. For configuration steps, refer to the :doc:`Convert a Model <../../../legacy-conversion-api>`. To convert a TensorFlow Object Detection API model, run the ``mo`` command with the following required parameters: @@ -67,9 +67,9 @@ To convert a TensorFlow Object Detection API model, run the ``mo`` command with .. note:: - The color channel order (RGB or BGR) of an input data should match the channel order of the model training dataset. If they are different, perform the ``RGB<->BGR`` conversion specifying the command-line parameter: ``reverse_input_channels``. Otherwise, inference results may be incorrect. If you convert a TensorFlow Object Detection API model to use with the OpenVINO sample applications, you must specify the ``reverse_input_channels`` parameter. For more information about the parameter, refer to the **When to Reverse Input Channels** section of the :doc:`Converting a Model to Intermediate Representation (IR) ` guide. + The color channel order (RGB or BGR) of an input data should match the channel order of the model training dataset. If they are different, perform the ``RGB<->BGR`` conversion specifying the command-line parameter: ``reverse_input_channels``. Otherwise, inference results may be incorrect. If you convert a TensorFlow Object Detection API model to use with the OpenVINO sample applications, you must specify the ``reverse_input_channels`` parameter. For more information about the parameter, refer to the **When to Reverse Input Channels** section of the :doc:`Converting a Model to Intermediate Representation (IR) <../../[legacy]-setting-input-shapes>` guide. -Additionally to the mandatory parameters listed above you can use optional conversion parameters if needed. A full list of parameters is available in the :doc:`Converting a TensorFlow Model ` guide. +Additionally to the mandatory parameters listed above you can use optional conversion parameters if needed. A full list of parameters is available in the :doc:`Converting a TensorFlow Model <../[legacy]-convert-tensorflow>` guide. For example, if you downloaded the pre-trained `SSD InceptionV2 topology `__ and extracted archive to the directory ``/tmp/ssd_inception_v2_coco_2018_01_28``, the sample command line to convert the model looks as follows: @@ -86,8 +86,8 @@ Open Model Zoo provides set of demo applications to show implementation of close based on deep learning in various tasks, including Image Classification, Visual Object Detection, Text Recognition, Speech Recognition, Natural Language Processing and others. Refer to the links below for more details. -* :doc:`OpenVINO Samples ` -* :doc:`Open Model Zoo Demos ` +* :doc:`OpenVINO Samples <../../../../../../learn-openvino/openvino-samples>` +* :doc:`Open Model Zoo Demos <../../../../model-zoo>` Feeding Input Images to the Samples ################################### @@ -169,7 +169,7 @@ Models with ``keep_aspect_ratio_resizer`` were trained to recognize object in re Model Conversion Process in Detail ################################## -This section is intended for users who want to understand how model conversion API performs Object Detection API models conversion in details. The information in this section is also useful for users having complex models that are not converted with model conversion API out of the box. It is highly recommended to read the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility ` documentation first to understand sub-graph replacement concepts which are used here. +This section is intended for users who want to understand how model conversion API performs Object Detection API models conversion in details. The information in this section is also useful for users having complex models that are not converted with model conversion API out of the box. It is highly recommended to read the **Graph Transformation Extensions** section in the :doc:`[Legacy] Model Optimizer Extensibility <../../../legacy-model-optimizer-extensibility>` ../../../../../../documentation first to understand sub-graph replacement concepts which are used here. It is also important to open the model in the `TensorBoard `__ to see the topology structure. Model conversion API can create an event file that can be then fed to the TensorBoard tool. Run model conversion, providing two command line parameters: diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-retina-net.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-retina-net.rst index 153cd444347..84fcc952a56 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-retina-net.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-retina-net.rst @@ -13,7 +13,7 @@ Converting a TensorFlow RetinaNet Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. This tutorial explains how to convert a RetinaNet model to the Intermediate Representation (IR). diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-slim-library.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-slim-library.rst index 59a5a0389b6..2ddebaabfc9 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-slim-library.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-slim-library.rst @@ -13,7 +13,7 @@ Converting TensorFlow Slim Image Classification Model Library Models The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. `TensorFlow-Slim Image Classification Model Library `__ is a library to define, train and evaluate classification models in TensorFlow. The library contains Python scripts defining the classification topologies together with checkpoint files for several pre-trained classification topologies. To convert a TensorFlow-Slim library model, complete the following steps: @@ -115,5 +115,5 @@ OpenVINO classification sample reads an input image as a three-dimensional array Similarly, the mean/scale values can be determined for other Slim models. -The exact mean/scale values are defined in the table with list of supported TensorFlow-Slim models at the :doc:`Converting a TensorFlow Model ` guide. +The exact mean/scale values are defined in the table with list of supported TensorFlow-Slim models at the :doc:`Converting a TensorFlow Model <../[legacy]-convert-tensorflow>` guide. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-xlnet.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-xlnet.rst index 2d23feca2de..a96f65a4eac 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-xlnet.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-xlnet.rst @@ -12,7 +12,7 @@ Converting a TensorFlow XLNet Model The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. Pretrained models for XLNet (Bidirectional Encoder Representations from Transformers) are `publicly available `__. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-yolo.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-yolo.rst index a2273e68505..9b750b4946a 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-yolo.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-yolo.rst @@ -12,7 +12,7 @@ Converting TensorFlow YOLO Models The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. This document explains how to convert real-time object detection YOLOv1, YOLOv2, YOLOv3 and YOLOv4 public models to the Intermediate Representation (IR). All YOLO models are originally implemented in the DarkNet framework and consist of two files: @@ -208,10 +208,10 @@ where: .. note:: - The color channel order (RGB or BGR) of an input data should match the channel order of the model training dataset. If they are different, perform the ``RGB<->BGR`` conversion specifying the command-line parameter: ``reverse_input_channels``. Otherwise, inference results may be incorrect. For more information about the parameter, refer to the **When to Reverse Input Channels** section of the :doc:`Converting a Model to Intermediate Representation (IR) ` guide. + The color channel order (RGB or BGR) of an input data should match the channel order of the model training dataset. If they are different, perform the ``RGB<->BGR`` conversion specifying the command-line parameter: ``reverse_input_channels``. Otherwise, inference results may be incorrect. For more information about the parameter, refer to the **When to Reverse Input Channels** section of the :doc:`Converting a Model to Intermediate Representation (IR) <../../[legacy]-setting-input-shapes>` guide. -OpenVINO toolkit provides a demo that uses YOLOv3 model. Refer to the :doc:`Object Detection C++ Demo ` for more information. +OpenVINO toolkit provides a demo that uses YOLOv3 model. Refer to the :doc:`Object Detection C++ Demo <../../../../../../omz_demos_object_detection_demo_cpp>` for more information. Converting YOLOv1 and YOLOv2 Models to the IR ############################################# @@ -308,10 +308,10 @@ where: * ``batch`` defines shape of model input. In the example, ``batch`` is equal to 1, but you can also specify other integers larger than 1. * ``scale`` specifies scale factor that input values will be divided by. The model was trained with input values in the range ``[0,1]``. OpenVINO toolkit samples read input images as values in ``[0,255]`` range, so the scale 255 must be applied. -* ``transformations_config`` adds missing ``Region`` layers to the model. In the IR, the ``Region`` layer has name ``RegionYolo``. For other applicable parameters, refer to the :doc:`Convert Model from TensorFlow ` guide. +* ``transformations_config`` adds missing ``Region`` layers to the model. In the IR, the ``Region`` layer has name ``RegionYolo``. For other applicable parameters, refer to the :doc:`Convert Model from TensorFlow <../[legacy]-convert-tensorflow>` guide. .. note:: - The color channel order (RGB or BGR) of an input data should match the channel order of the model training dataset. If they are different, perform the ``RGB<->BGR`` conversion specifying the command-line parameter: ``reverse_input_channels``. Otherwise, inference results may be incorrect. For more information about the parameter, refer to the **When to Reverse Input Channels** section of the :doc:`Converting a Model to Intermediate Representation (IR) ` guide. + The color channel order (RGB or BGR) of an input data should match the channel order of the model training dataset. If they are different, perform the ``RGB<->BGR`` conversion specifying the command-line parameter: ``reverse_input_channels``. Otherwise, inference results may be incorrect. For more information about the parameter, refer to the **When to Reverse Input Channels** section of the :doc:`Converting a Model to Intermediate Representation (IR) <../../[legacy]-setting-input-shapes>` guide. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensroflow-wide-and-deep-family.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensroflow-wide-and-deep-family.rst index d5fd1bb3200..9a4fc7b35f7 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensroflow-wide-and-deep-family.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensroflow-wide-and-deep-family.rst @@ -13,7 +13,7 @@ Converting TensorFlow Wide and Deep Family Models The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python tutorials `. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Python ../../../../../../learn-openvino/interactive-tutorials-python <../../../../../../learn-openvino/interactive-tutorials-python>`. The Wide and Deep models is a combination of wide and deep parts for memorization and generalization of object features respectively. These models can contain different types of object features such as numerical, categorical, sparse and sequential features. These feature types are specified diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-onnx.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-onnx.rst index db3a16b4954..55628e3d633 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-onnx.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-onnx.rst @@ -12,10 +12,10 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting an ONNX Model ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting an ONNX Model <../../../../../openvino-workflow/model-preparation/convert-model-onnx>` article. -.. note:: ONNX models are supported via FrontEnd API. You may skip conversion to IR and read models directly by OpenVINO runtime API. Refer to the :doc:`inference example ` for more details. Using ``convert_model`` is still necessary in more complex cases, such as new custom inputs/outputs in model pruning, adding pre-processing, or using Python conversion extensions. +.. note:: ONNX models are supported via FrontEnd API. You may skip conversion to IR and read models directly by OpenVINO runtime API. Refer to the :doc:`inference example <../../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` for more details. Using ``convert_model`` is still necessary in more complex cases, such as new custom inputs/outputs in model pruning, adding pre-processing, or using Python conversion extensions. Converting an ONNX Model ######################## @@ -49,20 +49,20 @@ The model conversion process assumes you have an ONNX model that was directly do mo --input_model .onnx -There are no ONNX-specific parameters, so only framework-agnostic parameters are available to convert your model. For details, see the *General Conversion Parameters* section in the :doc:`Converting a Model to Intermediate Representation (IR) ` guide. +There are no ONNX-specific parameters, so only framework-agnostic parameters are available to convert your model. For details, see the *General Conversion Parameters* section in the :doc:`Converting a Model to Intermediate Representation (IR) <../[legacy]-setting-input-shapes>` guide. Supported ONNX Layers ##################### -For the list of supported standard layers, refer to the :doc:`Supported Operations ` page. +For the list of supported standard layers, refer to the :doc:`Supported Operations <../../../../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` page. Additional Resources #################### -See the :doc:`Model Conversion Tutorials ` page for a set of tutorials providing step-by-step instructions for converting specific ONNX models. Here are some examples: +See the :doc:`Model Conversion Tutorials <[legacy]-conversion-tutorials>` page for a set of tutorials providing step-by-step instructions for converting specific ONNX models. Here are some examples: -* :doc:`Convert ONNX Faster R-CNN Model ` -* :doc:`Convert ONNX GPT-2 Model ` -* :doc:`Convert ONNX Mask R-CNN Model ` +* :doc:`Convert ONNX Faster R-CNN Model <[legacy]-conversion-tutorials/convert-onnx-faster-r-cnn>` +* :doc:`Convert ONNX GPT-2 Model <[legacy]-conversion-tutorials/convert-onnx-gpt-2>` +* :doc:`Convert ONNX Mask R-CNN Model <[legacy]-conversion-tutorials/convert-onnx-mask-r-cnn>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-paddle.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-paddle.rst index 09f6a8d99f3..8586bf756a8 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-paddle.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-paddle.rst @@ -13,17 +13,17 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting a PaddlePaddle Model ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting a PaddlePaddle Model <../../../../../openvino-workflow/model-preparation/convert-model-paddle>` article. This page provides general instructions on how to convert a model from a PaddlePaddle format to the OpenVINO IR format using Model Optimizer. The instructions are different depending on PaddlePaddle model format. -.. note:: PaddlePaddle models are supported via FrontEnd API. You may skip conversion to IR and read models directly by OpenVINO runtime API. Refer to the :doc:`inference example ` for more details. Using ``convert_model`` is still necessary in more complex cases, such as new custom inputs/outputs in model pruning, adding pre-processing, or using Python conversion extensions. +.. note:: PaddlePaddle models are supported via FrontEnd API. You may skip conversion to IR and read models directly by OpenVINO runtime API. Refer to the :doc:`inference example <../../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` for more details. Using ``convert_model`` is still necessary in more complex cases, such as new custom inputs/outputs in model pruning, adding pre-processing, or using Python conversion extensions. Converting PaddlePaddle Model Inference Format ############################################## -PaddlePaddle inference model includes ``.pdmodel`` (storing model structure) and ``.pdiparams`` (storing model weight). For how to export PaddlePaddle inference model, please refer to the `Exporting PaddlePaddle Inference Model `__ Chinese guide. +PaddlePaddle inference model includes ``.pdmodel`` (storing model structure) and ``.pdiparams`` (storing model weight). For how to export PaddlePaddle inference model, please refer to the `Exporting PaddlePaddle Inference Model `__ Chinese guide. To convert a PaddlePaddle model, use the ``mo`` script and specify the path to the input ``.pdmodel`` model file: @@ -126,16 +126,16 @@ When you convert certain PaddlePaddle models, you may need to set the ``example_ Supported PaddlePaddle Layers ############################# -For the list of supported standard layers, refer to the :doc:`Supported Operations ` page. +For the list of supported standard layers, refer to the :doc:`Supported Operations <../../../../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` page. Frequently Asked Questions (FAQ) ################################ -The model conversion API displays explanatory messages for typographical errors, incorrectly used options, or other issues. They describe the potential cause of the problem and give a link to the :doc:`Model Optimizer FAQ `, which provides instructions on how to resolve most issues. The FAQ also includes links to relevant sections in :doc:`Convert a Model ` to help you understand what went wrong. +The model conversion API displays explanatory messages for typographical errors, incorrectly used options, or other issues. They describe the potential cause of the problem and give a link to the :doc:`Model Optimizer FAQ <../[legacy]-model-optimizer-faq>`, which provides instructions on how to resolve most issues. The FAQ also includes links to relevant sections in :doc:`Convert a Model <../../legacy-conversion-api>` to help you understand what went wrong. Additional Resources #################### -See the :doc:`Model Conversion Tutorials ` page for a set of tutorials providing step-by-step instructions for converting specific PaddlePaddle models. +See the :doc:`Model Conversion Tutorials <[legacy]-conversion-tutorials>` page for a set of tutorials providing step-by-step instructions for converting specific PaddlePaddle models. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-pytorch.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-pytorch.rst index f4003b70044..f844dc9e988 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-pytorch.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-pytorch.rst @@ -13,13 +13,13 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting a PyTorch Model ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting a PyTorch Model <../../../../../openvino-workflow/model-preparation/convert-model-pytorch>` article. This page provides instructions on how to convert a model from the PyTorch format to the OpenVINO IR format. The conversion is a required step to run inference using OpenVINO API. It is not required if you choose to work with OpenVINO under the PyTorch framework, -using its :doc:`torch.compile feature `. +using its :doc:`torch.compile feature <../../../../../openvino-workflow/torch-compile>`. Converting a PyTorch model with PyTorch Frontend ############################################################### @@ -66,7 +66,7 @@ parameter to be set, for example: Sometimes ``convert_model`` will produce inputs of the model with dynamic rank or dynamic type. Such model may not be supported by the hardware chosen for inference. To avoid this issue, -use the ``input`` argument of ``convert_model``. For more information, refer to :doc:`Convert Models Represented as Python Objects `. +use the ``input`` argument of ``convert_model``. For more information, refer to :doc:`Convert Models Represented as Python Objects <../[legacy]-convert-models-as-python-objects>`. .. important:: @@ -78,7 +78,7 @@ Exporting a PyTorch Model to ONNX Format It is also possible to export a PyTorch model to ONNX and then convert it to OpenVINO IR. To convert and deploy a PyTorch model this way, follow these steps: 1. `Export a PyTorch model to ONNX <#exporting-a-pytorch-model-to-onnx-format>`__. -2. :doc:`Convert an ONNX model ` to produce an optimized :doc:`Intermediate Representation ` of the model based on the trained network topology, weights, and biases values. +2. :doc:`Convert an ONNX model <[legacy]-convert-onnx>` to produce an optimized :doc:`Intermediate Representation <../../../../openvino-ir-format/operation-sets>` of the model based on the trained network topology, weights, and biases values. PyTorch models are defined in Python. To export them, use the ``torch.onnx.export()`` method. The code to evaluate or test the model is usually provided with its code and can be used for its initialization and export. @@ -105,9 +105,9 @@ To export a PyTorch model, you need to obtain the model as an instance of ``torc Additional Resources #################### -See the :doc:`Model Conversion Tutorials ` page for a set of tutorials providing step-by-step instructions for converting specific PyTorch models. Here are some examples: +See the :doc:`Model Conversion Tutorials <[legacy]-conversion-tutorials>` page for a set of tutorials providing step-by-step instructions for converting specific PyTorch models. Here are some examples: -* :doc:`Convert PyTorch BERT-NER Model ` -* :doc:`Convert PyTorch RCAN Model ` -* :doc:`Convert PyTorch YOLACT Model ` +* :doc:`Convert PyTorch BERT-NER Model <[legacy]-conversion-tutorials/convert-pytorch-bert-ner>` +* :doc:`Convert PyTorch RCAN Model <[legacy]-conversion-tutorials/convert-pytorch-rcan>` +* :doc:`Convert PyTorch YOLACT Model <[legacy]-conversion-tutorials/convert-pytorch-yolact>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow-lite.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow-lite.rst index 996785d8fc7..738893ddd74 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow-lite.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow-lite.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_TensorFlow_Lite} +.. {#[legacy]-convert-tensorflow_Lite} [LEGACY] Converting a TensorFlow Lite Model ===================================================== @@ -12,7 +12,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting a TensorFlow Lite Model ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting a TensorFlow Lite Model <../../../../../openvino-workflow/model-preparation/convert-model-tensorflow-lite>` article. To convert a TensorFlow Lite model, use the ``mo`` script and specify the path to the input ``.tflite`` model file: @@ -20,7 +20,7 @@ To convert a TensorFlow Lite model, use the ``mo`` script and specify the path t mo --input_model .tflite -TensorFlow Lite models are supported via FrontEnd API. You may skip conversion to IR and read models directly by OpenVINO runtime API. Refer to the :doc:`inference example ` for more details. Using ``convert_model`` is still necessary in more complex cases, such as new custom inputs/outputs in model pruning, adding pre-processing, or using Python conversion extensions. +TensorFlow Lite models are supported via FrontEnd API. You may skip conversion to IR and read models directly by OpenVINO runtime API. Refer to the :doc:`inference example <../../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` for more details. Using ``convert_model`` is still necessary in more complex cases, such as new custom inputs/outputs in model pruning, adding pre-processing, or using Python conversion extensions. .. important:: @@ -29,7 +29,7 @@ TensorFlow Lite models are supported via FrontEnd API. You may skip conversion t Supported TensorFlow Lite Layers ################################### -For the list of supported standard layers, refer to the :doc:`Supported Operations ` page. +For the list of supported standard layers, refer to the :doc:`Supported Operations <../../../../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` page. Supported TensorFlow Lite Models ################################### diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow.rst index f778a55e584..58af3f0c2a2 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow.rst @@ -11,10 +11,10 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting a TensorFlow Model ` article. + This guide describes a deprecated conversion method. The guide on the new and recommended method can be found in the :doc:`Converting a TensorFlow Model <../../../../../openvino-workflow/model-preparation/convert-model-tensorflow>` article. -.. note:: TensorFlow models are supported via FrontEnd API. You may skip conversion to IR and read models directly by OpenVINO runtime API. Refer to the :doc:`inference example ` for more details. Using ``convert_model`` is still necessary in more complex cases, such as new custom inputs/outputs in model pruning, adding pre-processing, or using Python conversion extensions. +.. note:: TensorFlow models are supported via FrontEnd API. You may skip conversion to IR and read models directly by OpenVINO runtime API. Refer to the :doc:`inference example <../../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` for more details. Using ``convert_model`` is still necessary in more complex cases, such as new custom inputs/outputs in model pruning, adding pre-processing, or using Python conversion extensions. The conversion instructions are different depending on whether your model was created with TensorFlow v1.X or TensorFlow v2.X. @@ -311,12 +311,12 @@ Model conversion API supports passing TensorFlow/TensorFlow2 models directly fro Supported TensorFlow and TensorFlow 2 Keras Layers ################################################## -For the list of supported standard layers, refer to the :doc:`Supported Operations ` page. +For the list of supported standard layers, refer to the :doc:`Supported Operations <../../../../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` page. Frequently Asked Questions (FAQ) ################################ -The model conversion API provides explanatory messages if it is unable to run to completion due to typographical errors, incorrectly used options, or other issues. The message describes the potential cause of the problem and gives a link to the :doc:`Model Optimizer FAQ `. The FAQ provides instructions on how to resolve most issues. The FAQ also includes links to relevant sections in :doc:`Convert a Model ` to help you understand what went wrong. +The model conversion API provides explanatory messages if it is unable to run to completion due to typographical errors, incorrectly used options, or other issues. The message describes the potential cause of the problem and gives a link to the :doc:`Model Optimizer FAQ <../[legacy]-model-optimizer-faq>`. The FAQ provides instructions on how to resolve most issues. The FAQ also includes links to relevant sections in :doc:`Convert a Model <../../legacy-conversion-api>` to help you understand what went wrong. Summary ####### @@ -331,9 +331,9 @@ In this document, you learned: Additional Resources #################### -See the :doc:`Model Conversion Tutorials ` page for a set of tutorials providing step-by-step instructions for converting specific TensorFlow models. Here are some examples: +See the :doc:`Model Conversion Tutorials <[legacy]-conversion-tutorials>` page for a set of ../../../../../learn-openvino/interactive-tutorials-python providing step-by-step instructions for converting specific TensorFlow models. Here are some examples: -* :doc:`Convert TensorFlow EfficientDet Models ` -* :doc:`Convert TensorFlow FaceNet Models ` -* :doc:`Convert TensorFlow Object Detection API Models ` +* :doc:`Convert TensorFlow EfficientDet Models <[legacy]-conversion-tutorials/convert-tensorflow-efficient-det>` +* :doc:`Convert TensorFlow FaceNet Models <[legacy]-conversion-tutorials/convert-tensorflow-face-net>` +* :doc:`Convert TensorFlow Object Detection API Models <[legacy]-conversion-tutorials/convert-tensorflow-object-detection>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-troubleshooting-reshape-errors.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-troubleshooting-reshape-errors.rst index fa761d97563..9a0d7fadc97 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-troubleshooting-reshape-errors.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-troubleshooting-reshape-errors.rst @@ -21,8 +21,8 @@ Operation semantics may impose restrictions on input shapes of the operation. Shape collision during shape propagation may be a sign that new shape does not satisfy the restrictions. Changing the model input shape may result in intermediate operations shape collision. For example, in the following: -* The :doc:`Reshape ` operation with a hard-coded output shape value, -* The :doc:`MatMul ` operation with the ``Const`` second input and this input cannot be resized by spatial dimensions due to operation semantics. +* The :doc:`Reshape <../../../openvino-ir-format/operation-sets/operations-specifications/shape/reshape-1>` operation with a hard-coded output shape value, +* The :doc:`MatMul <../../../openvino-ir-format/operation-sets/operations-specifications/matrix/matmul-1>` operation with the ``Const`` second input and this input cannot be resized by spatial dimensions due to operation semantics. Model structure and logic should not change significantly after model reshaping. @@ -46,11 +46,11 @@ To fix some operators which prevent normal shape propagation: With ``1:reshaped[2]``, it is required to cut the second input (counting from zero, so ``1:`` means the second input) of the operation named ``reshaped`` and replace it with a ``Parameter`` with shape ``[2]``. With ``->[0 -1]``, this new ``Parameter`` is replaced by a ``Constant`` operator which has the ``[0, -1]`` value. - Since the ``Reshape`` operator has ``0`` and ``-1`` as specific values, it allows propagating shapes freely without losing the intended meaning of ``Reshape``. For more information, see :doc:`the specification `. + Since the ``Reshape`` operator has ``0`` and ``-1`` as specific values, it allows propagating shapes freely without losing the intended meaning of ``Reshape``. For more information, see :doc:`the specification <../../../openvino-ir-format/operation-sets/operations-specifications/shape/reshape-1>`. - .. image:: _static/images/batch_relaxation.png + .. image:: ../../../../_static/images/batch_relaxation.png -* transform the model conversion on the back phase. For more information, see the :doc:`How to Convert a Model `, -* transform OpenVINO Model during the runtime. For more information, see :doc:`OpenVINO Runtime Transformations `, +* transform the model conversion on the back phase. For more information, see the :doc:`How to Convert a Model <../legacy-model-optimizer-extensibility>`, +* transform OpenVINO Model during the runtime. For more information, see :doc:`OpenVINO Runtime Transformations <../../../openvino-extensibility/transformations-api>`, * modify the original model with the help of the original framework. diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility.rst index 0e86c2e96d1..21c00658044 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility.rst @@ -9,30 +9,30 @@ Legacy Model Optimizer Extensibility :maxdepth: 1 :hidden: - openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer_Model_Optimizer_Ports_Connections - openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions - openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Extending_Model_Optimizer_With_Caffe_Python_Layers + legacy-model-optimizer-extensibility/[legacy]-graph-traversal-and-modification + legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions + legacy-model-optimizer-extensibility/[legacy]-extending-model-optimizer-with-caffe-python-layers .. danger:: The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions ` article. + This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions <../../openvino-extensibility/frontend-extensions>` article. This article describes Model Optimizer internals. Altering them may result in application instability, and in case of future changes to the API, lack of backward compatibility. .. note:: - If you want to add support for ONNX, TensorFlow Lite, PaddlePaddle or TensorFlow operations, or you are not familiar with other extension alternatives in OpenVINO, read :doc:`this guide ` instead. + If you want to add support for ONNX, TensorFlow Lite, PaddlePaddle or TensorFlow operations, or you are not familiar with other extension alternatives in OpenVINO, read :doc:`this guide <../../openvino-extensibility>` instead. .. _model-optimizer-extensibility: -Model Optimizer extensibility mechanism enables support of new operations and custom transformations to generate the optimized intermediate representation (IR) as described :doc:`here `. +Model Optimizer extensibility mechanism enables support of new operations and custom transformations to generate the optimized intermediate representation (IR) as described :doc:`here <../../openvino-ir-format/operation-sets>`. This mechanism is a core part of Model Optimizer, as a huge set of examples showing how to add custom logic to support your model. There are several cases when the customization is needed: * A model contains operation(s) not known for the Model Optimizer, but these operation(s) could be expressed as a combination of supported operations. In this case, a custom transformation should be implemented to replace unsupported operation(s) with supported ones. -* A model contains a sub-graph of operations that can be replaced with a smaller number of operations to get better performance. This example corresponds to so-called *fusing transformations* (e.g., replacing a sub-graph performing the calculation :math:`x/(1.0+e^{-(beta*x)})` with a single operation of type :doc:`Swish `. +* A model contains a sub-graph of operations that can be replaced with a smaller number of operations to get better performance. This example corresponds to so-called *fusing transformations* (e.g., replacing a sub-graph performing the calculation :math:`x/(1.0+e^{-(beta*x)})` with a single operation of type :doc:`Swish <../../openvino-ir-format/operation-sets/operations-specifications/activation/swish-4>`. * A model contains a custom framework operation (the operation that is not a part of an official operation set of the framework) that was developed using the framework extensibility mechanism. In this case, Model Optimizer should know how to handle the operation and generate a corresponding section in an IR for it. It is necessary to figure out how Model Optimizer represents a model in a memory and converts it to an IR before @@ -59,7 +59,7 @@ dictionary, and provides many convenient methods to work with the node. For exam name ``my_attr`` can be retrieved from the node with the following code ``my_node.my_attr``, which is equivalent to obtaining attribute with name ``my_attr`` in the ``graph.node[my_node]`` dictionary. For the class implementation details, refer to the ``mo/graph/graph.py`` file. -An operation may have several inputs and outputs. For example, operation :doc:`Split ` has +An operation may have several inputs and outputs. For example, operation :doc:`Split <../../openvino-ir-format/operation-sets/operations-specifications/movement/split-1>` has two inputs: data to split and axis to split along, and variable number of outputs depending on a value of attribute ``num_splits``. Each input data to the operation is passed to a specific operation **input port**. An operation produces the output data from an **output port**. Input and output ports are numbered from 0 independently. Model Optimizer uses @@ -73,7 +73,7 @@ edge attributes if needed. Meanwhile, most manipulations with nodes connections is strongly not recommended. Further details and examples related to a model representation in memory are provided in the sections below, in a context -for a better explanation. For more information on how to use ports and connections, refer to the :doc:`Graph Traversal and Modification Using Ports and Connections ` article. +for a better explanation. For more information on how to use ports and connections, refer to the :doc:`Graph Traversal and Modification Using Ports and Connections ` article. .. _mo_model_conversion_pipeline: @@ -83,7 +83,7 @@ Model Conversion Pipeline A model conversion pipeline can be represented with the following diagram: -.. image:: _static/images/MO_conversion_pipeline.svg +.. image:: ../../../_static/images/MO_conversion_pipeline.svg Each conversion step is reviewed in details below. @@ -96,16 +96,16 @@ is a separate loader for each supported framework. These loaders are implemented ``extensions/load//loader.py`` files of Model Optimizer. .. note:: - Model Optimizer uses a special parser for Caffe models built on top of the ``caffe.proto`` file. In the case of a model loading failure, Model Optimizer throws an error and requests preparation of the parser that can read the model. For more information on how to prepare the custom Caffe parser, refer to the :ref:`question #1 ` in the :doc:`Model Optimizer FAQ `. + Model Optimizer uses a special parser for Caffe models built on top of the ``caffe.proto`` file. In the case of a model loading failure, Model Optimizer throws an error and requests preparation of the parser that can read the model. For more information on how to prepare the custom Caffe parser, refer to the :ref:`question #1 ` in the :doc:`Model Optimizer FAQ `. The result of a model loading step is a ``Graph`` object, which can be depicted like in the following example: -.. image:: _static/images/MO_graph_after_loader.svg +.. image:: ../../../_static/images/MO_graph_after_loader.svg Model Optimizer loader saves an operation instance framework description (usually it is a Protobuf message) into a node attribute usually with a name ``pb`` for each operation of an input model. It is important that this is a **framework-specific** description of an operation. This means that an operation (e.g. -:doc:`Convolution ` may be represented differently in, for example, Caffe and +:doc:`Convolution <../../openvino-ir-format/operation-sets/operations-specifications/convolution/convolution-1>` may be represented differently in, for example, Caffe and TensorFlow frameworks but performs the same calculations from a mathematical point of view. In the image above, the **Operation 2** has one input and two outputs. The tensor produced from the output **port 0** is @@ -123,7 +123,7 @@ Operations Attributes Extracting The next step is to parse framework-dependent operation representation saved in a node attribute and update the node attributes with the operation specific attributes. There are three options to do this. -1. The extractor extension approach (recommended way to extract attributes for an operation). Explained in details in the :doc:`Operation Extractor ` article. +1. The extractor extension approach (recommended way to extract attributes for an operation). Explained in details in the :doc:`Operation Extractor ` article. 2. The legacy approach with a built-in extractor. The ``mo/front//extractor.py`` file (for example, the one for Caffe) defines a dictionary with extractors for specific operation types. A key in the dictionary is a type of an operation to trigger the extracting function for and the value is the function. The function has one parameter – a node to extract attributes from. This is a legacy and non-extensible approach so it should be avoided. This mechanism will be removed in future versions of Model Optimizer. The extractors execution order is the following: @@ -134,14 +134,14 @@ The extractors execution order is the following: The result of operations attributes extracting step can be depicted like in the following example: -.. image:: _static/images/MO_graph_after_extractors.svg +.. image:: ../../../_static/images/MO_graph_after_extractors.svg The only difference in the graph from the previous step is that nodes contain dictionary with extracted attributes and operation-specific attributes needed for Model Optimizer. However, from this step, Model Optimizer does not need the original representation of the operation/model and just uses Model Optimizer representation (there are some peculiar cases in which Model Optimizer still uses the ``pb`` attribute, covered in this article partially). A detailed list of common node attributes and their values is provided in the -:doc:`Model Optimizer Operation ` article. +:doc:`Model Optimizer Operation ` article. Front Phase ########### @@ -156,7 +156,7 @@ During the front phase, Model Optimizer knows shape of the model inputs and cons transformation. For example, the transformation ``extensions/front/TopKNormalize.py`` removes an attribute ``k`` from a ``TopK`` node and adds an input constant with the value ``k``. The transformation is needed to convert a ``TopK`` operation. It comes from frameworks, where a number of output elements is defined as an attribute of the operation to the -OpenVINO :doc:`TopK ` operation semantic, which requires this value to be a separate input. +OpenVINO :doc:`TopK <../../openvino-ir-format/operation-sets/operations-specifications/sort/top-k-3>` operation semantic, which requires this value to be a separate input. It is important to mention that sometimes it seems like transformation cannot be implemented during the front phase because the actual values of inputs or shapes are needed. In fact, manipulations of shapes or values can be implemented @@ -165,12 +165,12 @@ using operations that are added to the graph. Consider the `Flatten `__ operation with a sub-graph of operations performing the following (when ``axis`` is not equal to 0 and 1): -1. Calculate a shape of the ``Flatten`` input tensor, using the :doc:`ShapeOf ` operation. -2. Get the first ``axis`` elements from the output of ``Shape`` operation and calculate their product, using the :doc:`ReduceProd ` operation. -3. Concatenate output of the ``ReduceProd`` and constant with the value of ``-1`` (for an explanation of this value refer to the :doc:`Reshape ` specification page). +1. Calculate a shape of the ``Flatten`` input tensor, using the :doc:`ShapeOf <../../openvino-ir-format/operation-sets/operations-specifications/shape/shape-of-3>` operation. +2. Get the first ``axis`` elements from the output of ``Shape`` operation and calculate their product, using the :doc:`ReduceProd <../../openvino-ir-format/operation-sets/operations-specifications/reduction/reduce-prod-1>` operation. +3. Concatenate output of the ``ReduceProd`` and constant with the value of ``-1`` (for an explanation of this value refer to the :doc:`Reshape <../../openvino-ir-format/operation-sets/operations-specifications/shape/reshape-1>` specification page). 4. Use the concatenated value as the second input to the ``Reshape`` operation. -It is highly recommended to write shape-agnostic transformations to avoid model reshape-ability issues. For more information related to the reshaping of a model, refer to the :doc:`Using Shape Inference ` guide. +It is highly recommended to write shape-agnostic transformations to avoid model reshape-ability issues. For more information related to the reshaping of a model, refer to the :doc:`Using Shape Inference <../../../openvino-workflow/running-inference/changing-input-shape>` guide. More information on how to develop front phase transformations and dedicated API description is provided in the :ref:`Front Phase Transformations `. @@ -183,27 +183,27 @@ Partial Inference Model Optimizer performs a partial inference of a model during model conversion. This procedure includes output shapes calculation of all operations in a model and constant folding (value calculation for constant sub-graphs). The constant folding is needed for the shape inference because in some cases evaluation of constant sub-graph is needed to calculate -output shapes. For example, the output shape for the :doc:`Reshape ` operation may be -defined as a mathematical expression using the :doc:`ShapeOf ` operation output. +output shapes. For example, the output shape for the :doc:`Reshape <../../openvino-ir-format/operation-sets/operations-specifications/shape/reshape-1>` operation may be +defined as a mathematical expression using the :doc:`ShapeOf <../../openvino-ir-format/operation-sets/operations-specifications/shape/shape-of-3>` operation output. .. note:: - Model Optimizer does not fold sub-graphs starting from the :doc:`ShapeOf ` operation by default because this leads to a model non-reshape-ability (the command-line parameter ``--static_shape`` can override this behavior). For more information related to reshaping of a model, refer to the :doc:`Using Shape Inference ` guide. + Model Optimizer does not fold sub-graphs starting from the :doc:`ShapeOf <../../openvino-ir-format/operation-sets/operations-specifications/shape/shape-of-3>` operation by default because this leads to a model non-reshape-ability (the command-line parameter ``--static_shape`` can override this behavior). For more information related to reshaping of a model, refer to the :doc:`Using Shape Inference <../../../openvino-workflow/running-inference/changing-input-shape>` guide. Model Optimizer calculates output shapes for all operations in a model to write them to Intermediate Representation files. .. note:: - This is a legacy requirement. Starting with IR version 10, OpenVINO Runtime needs to know shapes of the :doc:`Const ` and the :doc:`Parameter ` operations only. The OpenVINO Runtime calculates output shapes for all operations in a model, using shapes of :doc:`Parameter ` and :doc:`Const ` operations defined with respective operation attributes. + This is a legacy requirement. Starting with IR version 10, OpenVINO Runtime needs to know shapes of the :doc:`Const <../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/constant-1>` and the :doc:`Parameter <../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/parameter-1>` operations only. The OpenVINO Runtime calculates output shapes for all operations in a model, using shapes of :doc:`Parameter <../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/parameter-1>` and :doc:`Const <../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/constant-1>` operations defined with respective operation attributes. Model Optimizer inserts **data** nodes to the computation graph before starting the partial inference phase. The data node corresponds to the specific tensor produced with the operation. Each data node contains two attributes: ``shape``, containing the shape of the tensor, and ``value``, which may contain the actual value of the tensor. The value for a ``value`` attribute is equal to ``None`` if this tensor value cannot be calculated. This happens in two cases: when a tensor value -depends on a values passed to the :doc:`Parameter ` operation of a model or +depends on a values passed to the :doc:`Parameter <../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/parameter-1>` operation of a model or Model Optimizer does not have value propagation implementation for the operation. Before running partial inference, the graph can be depicted like in the following example: -.. image:: _static/images/MO_graph_before_partial_inference.svg +.. image:: ../../../_static/images/MO_graph_before_partial_inference.svg The difference in a graph structure with a graph during the front phase is not only in the data nodes, but also in the edge attributes. Note that an ``out`` attribute is specified for edges **from operation** nodes only, while an ``in`` @@ -219,11 +219,11 @@ each node in the graph, according to the topological order. Each node of the gra with a shape inference function, which is a function with one parameter – an instance of the ``Node`` class. The ``infer`` attribute is usually set in the operation extractor or when a node is added in some transformation using the Model Optimizer operation class inherited from the ``mo.pos.Op`` class. For more information on how to specify a shape inference function, -refer to the :doc:`Model Optimizer Operation ` and :doc:`Operation Extractor ` articles. +refer to the :doc:`Model Optimizer Operation ` and :doc:`Operation Extractor ` articles. A shape inference function should calculate an operation (node) output shape(s) based on input shape(s) and operation (node) attribute(s) and update ``shape`` and optionally ``value`` attributes of the corresponding data node(s). A simplified -example of the shape infer function for the :doc:`Reshape ` operation (the full version is +example of the shape infer function for the :doc:`Reshape <../../openvino-ir-format/operation-sets/operations-specifications/shape/reshape-1>` operation (the full version is available in the ``mo/ops/reshape.py`` file): .. code-block:: py @@ -246,7 +246,7 @@ available in the ``mo/ops/reshape.py`` file): node.out_port(0).data.set_shape(output_shape) Methods ``in_port()`` and ``output_port()`` of the ``Node`` class are used to get and set data node attributes. For more information on -how to use them, refer to the :doc:`Graph Traversal and Modification Using Ports and Connections ` article. +how to use them, refer to the :doc:`Graph Traversal and Modification Using Ports and Connections ` article. .. note:: A shape inference function should perform output shape calculation in the original model layout. For example, OpenVINO™ supports Convolution operations in NCHW layout only but TensorFlow supports NHWC layout as well. Model Optimizer shape inference function calculates output shapes for NHWC Convolutions in NHWC layout and only during the layout change phase the shape is converted to NCHW. @@ -260,7 +260,7 @@ Middle Phase The middle phase starts after partial inference. At this phase, a graph contains data nodes and output shapes of all operations in the graph have been calculated. Any transformation implemented at this stage must update the ``shape`` attribute for all newly added operations. It is highly recommended to use API described in the -:doc:`Graph Traversal and Modification Using Ports and Connections ` because modification of a graph using this API causes automatic re-inference of affected nodes as well as necessary data nodes creation. +:doc:`Graph Traversal and Modification Using Ports and Connections ` because modification of a graph using this API causes automatic re-inference of affected nodes as well as necessary data nodes creation. More information on how to develop middle transformations and dedicated API description is provided in the :ref:`Middle Phase Transformations `. @@ -275,8 +275,8 @@ This layout change is disabled automatically if the model does not have operatio For more details on how it works, refer to the source code of the transformations mentioned in the below summary of the process: 1. Model Optimizer changes output shapes of most of operations producing 4D and 5D (four dimensional and five dimensional) tensors as if they were in NHWC layout to NCHW layout: ``nchw_shape = np.array(nhwc_shape)[0, 3, 1, 2]`` for 4D and ``nchw_shape = np.array(nhwc_shape)[0, 4, 1, 2, 3]`` for 5D. This permutation does not happen for some operations with specific conditions identified during a model conversion. -2. Model Optimizer inserts :doc:`Gather ` operations to the sub-graph relates to shapes calculation in order to perform shape calculation in a correct layout. -3. Model Optimizer inserts :doc:`Transpose ` operations for some operations with specific conditions, identified during a model conversion, to produce correct inference results. +2. Model Optimizer inserts :doc:`Gather <../../openvino-ir-format/operation-sets/operations-specifications/movement/gather-1>` operations to the sub-graph relates to shapes calculation in order to perform shape calculation in a correct layout. +3. Model Optimizer inserts :doc:`Transpose <../../openvino-ir-format/operation-sets/operations-specifications/movement/transpose-1>` operations for some operations with specific conditions, identified during a model conversion, to produce correct inference results. The main transformations responsible for a layout change are: @@ -292,7 +292,7 @@ Back Phase The back phase starts after the layout change to NCHW. This phase contains mostly the following transformations: 1. Transformations that should work with a graph in the NCHW layout and thus cannot be implemented in the middle phase. -2. Transformations that replace nodes corresponding to internal Model Optimizer operations with nodes corresponding to the :doc:`opset ` operations. +2. Transformations that replace nodes corresponding to internal Model Optimizer operations with nodes corresponding to the :doc:`opset <../../openvino-ir-format/operation-sets/available-opsets>` operations. 3. Transformations that normalize operations inputs according to the specification. 4. Final optimization transformations. @@ -308,21 +308,21 @@ Intermediate Representation Emitting The last phase of a model conversion is the Intermediate Representation emitting. Model Optimizer performs the following steps: -1. Iterates over all operation nodes in the graph and checks that all nodes have the ``type`` attribute set. This attribute defines the operation type and is used in the OpenVINO to instantiate proper operation from the :doc:`opset ` specified in the ``version`` attribute of the node. If a node does not have attribute ``type`` or its value is equal to ``None``, Model Optimizer exits with an error. +1. Iterates over all operation nodes in the graph and checks that all nodes have the ``type`` attribute set. This attribute defines the operation type and is used in the OpenVINO to instantiate proper operation from the :doc:`opset <../../openvino-ir-format/operation-sets/available-opsets>` specified in the ``version`` attribute of the node. If a node does not have attribute ``type`` or its value is equal to ``None``, Model Optimizer exits with an error. 2. Performs type inference of graph operations similar to the shape inference. Inferred data types are saved to a port attributes in the IR. 3. Performs topological sort of the graph and changes ``id`` attribute of all operation nodes to be sequential integer values starting from 0. 4. Saves all Constants values to the ``.bin`` file. Constants with the same value are shared among different operations. -5. Generates an ``.xml`` file defining a graph structure. The information about operation inputs and outputs are prepared uniformly for all operations regardless of their type. A list of attributes to be saved to the ``.xml`` file is defined with the ``backend_attrs()`` or ``supported_attrs()`` of the ``Op`` class used for a graph node instantiation. For more information on how the operation attributes are saved to XML, refer to the function ``prepare_emit_ir()`` in the ``mo/pipeline/common.py`` file and :doc:`Model Optimizer Operation ` article. +5. Generates an ``.xml`` file defining a graph structure. The information about operation inputs and outputs are prepared uniformly for all operations regardless of their type. A list of attributes to be saved to the ``.xml`` file is defined with the ``backend_attrs()`` or ``supported_attrs()`` of the ``Op`` class used for a graph node instantiation. For more information on how the operation attributes are saved to XML, refer to the function ``prepare_emit_ir()`` in the ``mo/pipeline/common.py`` file and :doc:`Model Optimizer Operation ` article. ==================== Additional Resources ==================== -* :doc:`Deep Learning Network Intermediate Representation and Operation Sets in OpenVINO™ ` -* :doc:`Converting a Model to Intermediate Representation (IR) ` -* :doc:`OpenVINO Model Representation ` -* :doc:`OpenVINO™ Extensibility Mechanism ` -* :doc:`Graph Traversal and Modification Using Ports and Connections ` -* :doc:`Model Optimizer Extensions ` -* :doc:`Extending Model Optimizer with Caffe Python Layers ` +* :doc:`Deep Learning Network Intermediate Representation and Operation Sets in OpenVINO™ <../../openvino-ir-format/operation-sets>` +* :doc:`Converting a Model to Intermediate Representation (IR) ` +* :doc:`OpenVINO Model Representation <../../../openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation>` +* :doc:`OpenVINO™ Extensibility Mechanism <../../openvino-extensibility>` +* :doc:`Graph Traversal and Modification Using Ports and Connections ` +* :doc:`Model Optimizer Extensions ` +* :doc:`Extending Model Optimizer with Caffe Python Layers ` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-extending-model-optimizer-with-caffe-python-layers.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-extending-model-optimizer-with-caffe-python-layers.rst index 1665228b720..b74a3de28c8 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-extending-model-optimizer-with-caffe-python-layers.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-extending-model-optimizer-with-caffe-python-layers.rst @@ -11,7 +11,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions ` article. + This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions <../../../openvino-extensibility/frontend-extensions>` article. This article provides instructions on how to support a custom Caffe operation written only in Python. For example, the `Faster-R-CNN model `__ implemented in @@ -37,7 +37,7 @@ Caffe contains a custom proposal layer written in Python. The layer is described This article describes only a procedure on how to extract operator attributes in Model Optimizer. The rest of the operation enabling pipeline and information on how to support other Caffe operations (written in C++) is described in -the :doc:`Customize Model Optimizer ` guide. +the :doc:`Customize Model Optimizer <../legacy-model-optimizer-extensibility>` guide. ======================================== Writing Extractor for Caffe Python Layer @@ -54,7 +54,7 @@ operation. Below is a simplified example of the extractor for the custom operation Proposal from the mentioned Faster-R-CNN model. The full code with additional checks can be found `here `__. -The sample code uses operation ``ProposalOp`` which corresponds to ``Proposal`` operation described in the :doc:`Available Operations Sets ` +The sample code uses operation ``ProposalOp`` which corresponds to ``Proposal`` operation described in the :doc:`Available Operations Sets <../../../openvino-ir-format/operation-sets/available-opsets>` page. For a detailed explanation of the extractor, refer to the source code below. .. code-block:: py @@ -106,7 +106,7 @@ page. For a detailed explanation of the extractor, refer to the source code belo Additional Resources ==================== -* :doc:`Model Optimizer Extensibility ` -* :doc:`Graph Traversal and Modification Using Ports and Connections ` -* :doc:`Model Optimizer Extensions ` +* :doc:`Model Optimizer Extensibility <../legacy-model-optimizer-extensibility>` +* :doc:`Graph Traversal and Modification Using Ports and Connections <[legacy]-graph-traversal-and-modification>` +* :doc:`Model Optimizer Extensions <[legacy]-model-optimizer-extensions>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-graph-traversal-and-modification.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-graph-traversal-and-modification.rst index 947f61bcd19..ae31d1d0baa 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-graph-traversal-and-modification.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-graph-traversal-and-modification.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer_Model_Optimizer_Ports_Connections} +.. {#../legacy-model-optimizer-extensibility_Model_Optimizer_Ports_Connections} [LEGACY] Graph Traversal and Modification =========================================== @@ -11,7 +11,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions ` article. + This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions <../../../openvino-extensibility/frontend-extensions>` article. There are three APIs for a graph traversal and transformation used in the Model Optimizer: @@ -61,9 +61,9 @@ Ports ===== An operation semantic describes how many inputs and outputs the operation has. For example, -:doc:`Parameter ` and :doc:`Const ` operations have no -inputs and have one output, :doc:`ReLU ` operation has one input and one output, -:doc:`Split ` operation has 2 inputs and a variable number of outputs depending on the value of the +:doc:`Parameter <../../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/parameter-1>` and :doc:`Const <../../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/constant-1>` operations have no +inputs and have one output, :doc:`ReLU <../../../openvino-ir-format/operation-sets/operations-specifications/activation/relu-1>` operation has one input and one output, +:doc:`Split <../../../openvino-ir-format/operation-sets/operations-specifications/movement/split-1>` operation has 2 inputs and a variable number of outputs depending on the value of the attribute ``num_splits``. Each operation node in the graph (an instance of the ``Node`` class) has 0 or more input and output ports (instances of @@ -71,7 +71,7 @@ the ``mo.graph.port.Port`` class). The ``Port`` object has several attributes: * ``node`` - the instance of the ``Node`` object the port belongs to. * ``idx`` - the port number. Input and output ports are numbered independently, starting from ``0``. Thus, -:doc:`ReLU ` operation has one input port (with index ``0``) and one output port (with index ``0``). +:doc:`ReLU <../../../openvino-ir-format/operation-sets/operations-specifications/activation/relu-1>` operation has one input port (with index ``0``) and one output port (with index ``0``). * ``type`` - the type of the port. Could be equal to either ``"in"`` or ``"out"``. * ``data`` - the object that should be used to get attributes of the corresponding data node. This object has methods ``get_shape()`` / ``set_shape()`` and ``get_value()`` / ``set_value()`` to get/set shape/value of the corresponding data node. For example, ``in_port.data.get_shape()`` returns an input shape of a tensor connected to input port ``in_port`` (``in_port.type == 'in'``), ``out_port.data.get_value()`` returns a value of a tensor produced from output port ``out_port`` (``out_port.type == 'out'``). @@ -95,7 +95,7 @@ port with ``idx = 2`` corresponds to the incoming edge of a node with an attribu Consider the example of a graph part with 4 operation nodes "Op1", "Op2", "Op3", and "Op4" and a number of data nodes depicted with light green boxes. -.. image:: _static/images/MO_ports_example_1.svg +.. image:: ../../../../_static/images/MO_ports_example_1.svg :scale: 80 % :align: center @@ -132,7 +132,7 @@ For example, applying the following two methods to the graph above will result i op4.in_port(1).disconnect() op3.out_port(0).connect(op4.in_port(1)) -.. image:: _static/images/MO_ports_example_2.svg +.. image:: ../../../../_static/images/MO_ports_example_2.svg :scale: 80 % :align: center @@ -165,7 +165,7 @@ example, the function call ``op3.out_port(0).get_connection().set_source(op1.out consuming data from port ``op3.out_port(0)`` to ``op1.out_port(0)``. The transformed graph from the sample above is depicted below: -.. image:: _static/images/MO_connection_example_1.svg +.. image:: ../../../../_static/images/MO_connection_example_1.svg :scale: 80 % :align: center @@ -182,7 +182,7 @@ different. Additional Resources ==================== -* :doc:`Model Optimizer Extensibility ` -* :doc:`Model Optimizer Extensions ` -* :doc:`Extending Model Optimizer with Caffe Python Layers ` +* :doc:`Model Optimizer Extensibility <../legacy-model-optimizer-extensibility>` +* :doc:`Model Optimizer Extensions <[legacy]-model-optimizer-extensions>` +* :doc:`Extending Model Optimizer with Caffe Python Layers <[legacy]-extending-model-optimizer-with-caffe-python-layers>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions.rst index 17ca99f21d6..7f593415437 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions.rst @@ -12,22 +12,22 @@ :maxdepth: 1 :hidden: - openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions_Model_Optimizer_Operation - openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions_Model_Optimizer_Extractor - openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions_Model_Optimizer_Transformation_Extensions + [legacy]-model-optimizer-extensions/[legacy]-model-optimizer-operation + [legacy]-model-optimizer-extensions/[legacy]-optimizer-extractor + [legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions .. danger:: The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions ` article. + This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions <../../../openvino-extensibility/frontend-extensions>` article. Model Optimizer extensions enable you to inject some logic to the model conversion pipeline without changing the Model Optimizer core code. There are three types of the Model Optimizer extensions: -1. :doc:`Model Optimizer operation `. -2. A :doc:`framework operation extractor `. -3. A :doc:`model transformation `, which can be executed during front, middle or back phase of the model conversion. +1. :doc:`Model Optimizer operation <[legacy]-model-optimizer-extensions/[legacy]-model-optimizer-operation>`. +2. A :doc:`framework operation extractor <[legacy]-model-optimizer-extensions/[legacy]-optimizer-extractor>`. +3. A :doc:`model transformation <[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions>`, which can be executed during front, middle or back phase of the model conversion. An extension is just a plain text file with a Python code. The file should contain a class (or classes) inherited from one of extension base classes. Extension files should be saved to a directory with the following structure: @@ -56,7 +56,7 @@ Model Optimizer uses the same layout internally to keep built-in extensions. The Additional Resources ==================== -* :doc:`Model Optimizer Extensibility ` -* :doc:`Graph Traversal and Modification Using Ports and Connections ` -* :doc:`Extending Model Optimizer with Caffe Python Layers ` +* :doc:`Model Optimizer Extensibility <../legacy-model-optimizer-extensibility>` +* :doc:`Graph Traversal and Modification Using Ports and Connections <[legacy]-graph-traversal-and-modification>` +* :doc:`Extending Model Optimizer with Caffe Python Layers <[legacy]-extending-model-optimizer-with-caffe-python-layers>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions.rst index 363a75e3199..d2629914d10 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-graph-transformation-extensions.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions_Model_Optimizer_Transformation_Extensions} +.. {#../[legacy]-model-optimizer-extensions_Model_Optimizer_Transformation_Extensions} [LEGACY] Graph Transformation Extensions ========================================== @@ -11,7 +11,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions ` article. + This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions <../../../../openvino-extensibility/frontend-extensions>` article. Model Optimizer provides various base classes to implement :ref:`Front Phase Transformations `, :ref:`Middle Phase Transformations `, and :ref:`Back Phase Transformations `. @@ -19,7 +19,7 @@ All classes have the following common class attributes and methods: 1. The ``enabled`` attribute specifies whether the transformation is enabled or not. The value can be changed during runtime to enable or disable execution of the transformation during a model conversion. Default value is ``True``. 2. The ``id`` attribute specifies a unique transformation string identifier. This transformation identifier can be used to enable (disable) the transformation by setting environment variable ``MO_ENABLED_TRANSFORMS`` (``MO_DISABLED_TRANSFORMS``) with a comma separated list of ``ids``. The environment variables override the value of the ``enabled`` attribute of the transformation. Instead of using ``id`` attribute value you can add fully defined class name to ``MO_ENABLED_TRANSFORMS`` (``MO_DISABLED_TRANSFORMS``) variable, ``extensions.back.NonmalizeToNormalizeL2.NormalizeToNormalizeL2`` for example. It is an optional attribute. -3. The ``run_not_recursively`` attribute specifies whether the transformation should be executed in the sub-graphs, for example, body of the :doc:`TensorIterator ` and the :doc:`Loop `. Default value is ``True``. +3. The ``run_not_recursively`` attribute specifies whether the transformation should be executed in the sub-graphs, for example, body of the :doc:`TensorIterator <../../../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/tensor-iterator-1>` and the :doc:`Loop <../../../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/loop-5>`. Default value is ``True``. 4. The ``force_clean_up`` attribute specifies whether the graph clean up should be executed after the transformation. The graph cleanup removes nodes of the graph not reachable from the model inputs. Default value is ``False``. 5. The ``force_shape_inference`` attribute specifies whether the nodes marked with ``need_shape_inference`` attribute equal to ``True`` should be re-inferred after the transformation. Model Optimizer sets this attribute automatically for nodes, input(s) of which were changed during the transformation, or you can set this attribute manually in the transformation for the specific nodes. Default value is ``False``. 6. Attribute ``graph_condition`` specifies a list of functions with one parameter -- ``Graph`` object. The transformation is executed if and only if all functions return ``True``. If the attribute is not set, no check is performed. @@ -34,7 +34,7 @@ order. To execute the transformation during a proper model conversion phase, Mod anchor transformations that do nothing. All transformations are ordered with respect to these anchor transformations. The diagram below shows anchor transformations, some of built-in transformations and dependencies between them: -.. image:: _static/images/MO_transformations_graph.svg +.. image:: ../../../../../_static/images/MO_transformations_graph.svg User-defined transformations are executed after the corresponding ``Start`` and before the corresponding ``Finish`` anchor transformations by default (if ``run_before()`` and ``run_after()`` methods have not been overridden). @@ -89,7 +89,7 @@ The sub-graph pattern is defined in the ``pattern()`` function. This function sh * The third element (optional) is the dictionary with expected edge attributes. This dictionary usually contains attributes like ``in`` and ``out``, defining input and output ports. Consider the example of a front transformation implemented in the ``extensions/front/Mish_fusion.py`` file performing -fusing of the sub-graph defining the :doc:`Mish ` activation function into a single +fusing of the sub-graph defining the :doc:`Mish <../../../../openvino-ir-format/operation-sets/operations-specifications/activation/mish-4>` activation function into a single operation: .. code-block:: py @@ -210,7 +210,7 @@ Then, Model Optimizer executes the ``find_and_replace_pattern(self, graph)`` met provides a ``Graph`` object as an input. Consider the example of a generic front transformation from the ``extensions/front/SqueezeNormalize.py`` file performing -normalization of the :doc:`Squeeze ` operation. Older version of the operation had a list of +normalization of the :doc:`Squeeze <../../../../openvino-ir-format/operation-sets/operations-specifications/shape/squeeze-1>` operation. Older version of the operation had a list of axes to squeeze as an attribute, but now it is a separate input. For backward compatibility, the Model Optimizer operation supports both semantics. Before IR generation, however, the operation should be normalized according to the specification. @@ -381,7 +381,7 @@ the list is important. The ``i``-th element of the list describes the ``i``-th o obtained using ``match.output_node(i)`` call. The order of elements can be manually changed in the configuration file. Model Optimizer uses this order to connect output edges if the sub-graph is replaced with a single node. -For more examples of this type of transformation, refer to the :doc:`Converting TensorFlow Object Detection API Models ` guide. +For more examples of this type of transformation, refer to the :doc:`Converting TensorFlow Object Detection API Models <../../legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-object-detection>` guide. .. _start_end_points_front_phase_transformations: @@ -397,7 +397,7 @@ base class and works as follows: 1. Starts a graph traversal from every start node following the direction of the graph edges. The search stops in an end node or in the case of a node without consumers. All visited nodes are added to the matched sub-graph. 2. Starts another graph traversal from each non-start node of the sub-graph, i.e. every node except nodes from the "start" list. In this step, the edges are traversed in the opposite edge direction. All newly visited nodes are added to the matched sub-graph. This step is needed to add nodes required for calculation values of internal nodes of the matched sub-graph. 3. Checks that all "end" nodes were reached from "start" nodes. If not, it exits with an error. - 4. Checks that there are no :doc:`Parameter ` operations among added nodes. If they exist, the sub-graph depends on the inputs of the model. Such configuration is considered incorrect so Model Optimizer exits with an error. + 4. Checks that there are no :doc:`Parameter <../../../../openvino-ir-format/operation-sets/operations-specifications/infrastructure/parameter-1>` operations among added nodes. If they exist, the sub-graph depends on the inputs of the model. Such configuration is considered incorrect so Model Optimizer exits with an error. This algorithm finds all nodes "between" start and end nodes and nodes needed for calculation of non-input nodes of the matched sub-graph. @@ -447,10 +447,10 @@ respectively. The ``include_inputs_to_sub_graph`` and ``include_outputs_to_sub_graph`` parameters are redundant and should be always equal to ``true``. .. note:: - This sub-graph match algorithm has a limitation that each start node must have only one input. Therefore, it is not possible to specify, for example, the :doc:`Convolution ` node as input because it has two inputs: data tensor and tensor with weights. + This sub-graph match algorithm has a limitation that each start node must have only one input. Therefore, it is not possible to specify, for example, the :doc:`Convolution <../../../../openvino-ir-format/operation-sets/operations-specifications/convolution/convolution-1>` node as input because it has two inputs: data tensor and tensor with weights. For other examples of transformations with points, refer to the -:doc:`Converting TensorFlow Object Detection API Models ` guide. +:doc:`Converting TensorFlow Object Detection API Models <../../legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-conversion-tutorials/convert-tensorflow-object-detection>` guide. .. _generic_transformations_config_front_phase_transformations: @@ -600,8 +600,8 @@ For the example of this transformation, refer to the ``extensions/back/GatherNor Additional Resources ==================== -* :doc:`Model Optimizer Extensibility ` -* :doc:`Graph Traversal and Modification Using Ports and Connections ` -* :doc:`Model Optimizer Extensions ` -* :doc:`Extending Model Optimizer with Caffe Python Layers ` +* :doc:`Model Optimizer Extensibility <../../legacy-model-optimizer-extensibility>` +* :doc:`Graph Traversal and Modification Using Ports and Connections <../../legacy-model-optimizer-extensibility/[legacy]-graph-traversal-and-modification>` +* :doc:`Model Optimizer Extensions <../[legacy]-model-optimizer-extensions>` +* :doc:`Extending Model Optimizer with Caffe Python Layers <../[legacy]-extending-model-optimizer-with-caffe-python-layers>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-model-optimizer-operation.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-model-optimizer-operation.rst index 9b800fdbe52..4105492aa80 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-model-optimizer-operation.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-model-optimizer-operation.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions_Model_Optimizer_Operation} +.. {#../[legacy]-model-optimizer-extensions_Model_Optimizer_Operation} [LEGACY] Model Optimizer Operation =================================== @@ -12,7 +12,7 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions ` article. + This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions <../../../../openvino-extensibility/frontend-extensions>` article. Model Optimizer defines a ``mo.ops.Op`` class (``Op`` will be used later in the document to be short), which is a base class for an operation used in the Model Optimizer. The instance of the ``Op`` class serves several purposes: @@ -32,15 +32,15 @@ There are a number of common attributes used in the operations. Below is the lis * ``id`` — **(Mandatory)** — unique identifier of a node in a graph. Generated automatically, equal to the number of nodes in the graph plus 1 if not specified. * ``name`` — **(Mandatory)** — name of the operation. Generated automatically, equal to the ``id`` if not specified. -* ``type`` — **(Mandatory)** — type of the operation according to the :doc:`opset specification `. For the internal Model Optimizer operations, this attribute should be set to ``None``. The model conversion fails if an operation with ``type`` equal to ``None`` comes to the IR emitting phase. -* ``version`` — **(Mandatory)** — the operation set (opset) name the operation belongs to. If not specified, Model Optimizer sets it equal to ``experimental``. For more information about operation sets, refer to :doc:`OpenVINO Model Representation ` section. +* ``type`` — **(Mandatory)** — type of the operation according to the :doc:`opset specification <../../../../openvino-ir-format/operation-sets/available-opsets>`. For the internal Model Optimizer operations, this attribute should be set to ``None``. The model conversion fails if an operation with ``type`` equal to ``None`` comes to the IR emitting phase. +* ``version`` — **(Mandatory)** — the operation set (opset) name the operation belongs to. If not specified, Model Optimizer sets it equal to ``experimental``. For more information about operation sets, refer to :doc:`OpenVINO Model Representation <../../../../../openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation>` section. * ``op`` — Model Optimizer type of the operation. In many cases, the value of ``type`` is equal to the value of ``op``. However, when Model Optimizer cannot instantiate the opset operation during model loading, it creates an instance of an internal operation. Thus, the attribute ``op`` is used as a type of this internal operation. Later in the pipeline, the node created from an internal operation will be replaced during front, middle or back phase with node(s) created from the opset. * ``infer`` — the attribute defines a function calculating output tensor(s) shape and optional value(s). The attribute may be set to ``None`` for the internal Model Optimizer operations used during the front phase only. For more information about the shape inference function, refer to the :ref:`Partial Inference `. * ``type_infer`` — the attribute defines a function calculating output tensor(s) data type. If the attribute is not defined, the default function is used. The function checks if the ``data_type`` node attribute is set and then propagates this type to the output tensor from the **port 0**. Otherwise, it propagates the data type of the tensor coming into the input **port 0** to the output tensor from the **port 0**. * ``in_ports_count`` — default number of input ports to be created for the operation. Additional ports can be created or redundant ports can be removed using dedicated ``Node`` class API methods. * ``out_ports_count`` — default number of output ports to be created for the operation. Additional ports can be created or redundant ports can be removed using dedicated ``Node`` class API methods. -Below is an example of the Model Optimizer class for the :doc:`SoftMax ` operation from +Below is an example of the Model Optimizer class for the :doc:`SoftMax <../../../../openvino-ir-format/operation-sets/operations-specifications/activation/softmax-1>` operation from the ``mo/ops/softmax.py`` file with the comments in code. .. code-block:: py @@ -105,8 +105,8 @@ The ``backend_attrs()`` function returns a list of records. A record can be of o Additional Resources ==================== -* :doc:`Model Optimizer Extensibility ` -* :doc:`Graph Traversal and Modification Using Ports and Connections ` -* :doc:`Model Optimizer Extensions ` -* :doc:`Extending Model Optimizer with Caffe Python Layers ` +* :doc:`Model Optimizer Extensibility <../../legacy-model-optimizer-extensibility>` +* :doc:`Graph Traversal and Modification Using Ports and Connections <../../legacy-model-optimizer-extensibility/[legacy]-graph-traversal-and-modification>` +* :doc:`Model Optimizer Extensions <../[legacy]-model-optimizer-extensions>` +* :doc:`Extending Model Optimizer with Caffe Python Layers <../[legacy]-extending-model-optimizer-with-caffe-python-layers>` diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-optimizer-extractor.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-optimizer-extractor.rst index 8cce1ff4ad1..82ae4f33ae2 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-optimizer-extractor.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility/[legacy]-model-optimizer-extensions/[legacy]-optimizer-extractor.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions_Model_Optimizer_Extractor} +.. {#../[legacy]-model-optimizer-extensions_Model_Optimizer_Extractor} [LEGACY] Operation Extractor ============================= @@ -13,14 +13,14 @@ The code described here has been **deprecated!** Do not use it to avoid working with a legacy solution. It will be kept for some time to ensure backwards compatibility, but **you should not use** it in contemporary applications. - This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions ` article. + This guide describes a deprecated TensorFlow conversion method. The guide on the new and recommended method, using a new frontend, can be found in the :doc:`Frontend Extensions <../../../../openvino-extensibility/frontend-extensions>` article. Model Optimizer runs specific extractor for each operation in the model during the model loading. There are several types of Model Optimizer extractor extensions: 1. The generic one, which is described in this article. -2. The special extractor for Caffe models with Python layers. This kind of extractor is described in the :doc:`Extending Model Optimizer with Caffe Python Layers ` guide. +2. The special extractor for Caffe models with Python layers. This kind of extractor is described in the :doc:`Extending Model Optimizer with Caffe Python Layers <../[legacy]-extending-model-optimizer-with-caffe-python-layers>` guide. Generic extension provides a generic mechanism for the operation extractor applicable for all frameworks. Model Optimizer provides the ``mo.front.extractor.FrontExtractorOp`` class as a base class to implement the extractor. It has the ``extract`` class method, which gets the only parameter ``Node``, which corresponds to the graph node to extract data from. The operation description in the original framework format is stored in the attribute ``pb`` of the node. The extractor goal is to parse this attribute and save necessary attributes to the corresponding node of the graph. Consider the extractor for the ``Const`` TensorFlow operation (refer to the ``extensions/front/tf/const_ext.py`` file): @@ -108,8 +108,8 @@ A common practice is to use ``update_node_stat()`` method of the dedicated ``Op` Additional Resources ==================== -* :doc:`Model Optimizer Extensibility ` -* :doc:`Graph Traversal and Modification Using Ports and Connections ` -* :doc:`Model Optimizer Extensions ` -* :doc:`Extending Model Optimizer with Caffe Python Layers ` +* :doc:`Model Optimizer Extensibility <../../legacy-model-optimizer-extensibility>` +* :doc:`Graph Traversal and Modification Using Ports and Connections <../../legacy-model-optimizer-extensibility/[legacy]-graph-traversal-and-modification>` +* :doc:`Model Optimizer Extensions <../[legacy]-model-optimizer-extensions>` +* :doc:`Extending Model Optimizer with Caffe Python Layers <../[legacy]-extending-model-optimizer-with-caffe-python-layers>` diff --git a/docs/articles_en/documentation/openvino-ecosystem.rst b/docs/articles_en/documentation/openvino-ecosystem.rst index f061fe18afc..49a40dcca0b 100644 --- a/docs/articles_en/documentation/openvino-ecosystem.rst +++ b/docs/articles_en/documentation/openvino-ecosystem.rst @@ -5,16 +5,16 @@ OpenVINO™ Ecosystem Overview .. meta:: - :description: OpenVINO™ ecosystem offers various resources for developing deep learning solutions. + :description: OpenVINO™ ecosystem offers various ../about-openvino/additional-resources for developing deep learning solutions. .. toctree:: :maxdepth: 1 :hidden: - ote_documentation - datumaro_documentation - ovsa_get_started + openvino-ecosystem/openvino-training-extensions + openvino-ecosystem/datumaro + openvino-ecosystem/openvino-security-add-on OpenVINO™ is not just one tool. It is an expansive ecosystem of utilities, providing a comprehensive workflow for deep learning solution development. Learn more about each of them to reach the full potential of OpenVINO™ Toolkit. @@ -26,7 +26,7 @@ A suite of advanced algorithms for Neural Network inference optimization with mi More resources: -* :doc:`Documentation ` +* :doc:`Documentation <../openvino-workflow/model-optimization-guide/compressing-models-during-training>` * `GitHub `__ * `PyPI `__ * `Conda Forge `__ @@ -38,9 +38,9 @@ A convenient environment to train Deep Learning models and convert them using th More resources: -* :doc:`Overview ` +* :doc:`Overview ` * `GitHub `__ -* `Documentation `__ +* `Documentation `__ **OpenVINO™ Security Add-on** @@ -48,7 +48,7 @@ A solution for Model Developers and Independent Software Vendors to use secure p More resources: -* :doc:`Documentation ` +* :doc:`Documentation ` * `GitHub `__ **Dataset Management Framework (Datumaro)** @@ -57,7 +57,7 @@ A framework and CLI tool to build, transform, and analyze datasets. More resources: -* :doc:`Overview ` +* :doc:`Overview ` * `PyPI `__ * `GitHub `__ * `Documentation `__ diff --git a/docs/articles_en/documentation/openvino-ecosystem/datumaro.rst b/docs/articles_en/documentation/openvino-ecosystem/datumaro.rst index 584fd82f3ac..0b89f3ef801 100644 --- a/docs/articles_en/documentation/openvino-ecosystem/datumaro.rst +++ b/docs/articles_en/documentation/openvino-ecosystem/datumaro.rst @@ -1,4 +1,4 @@ -.. {#datumaro_documentation} +.. {#datumaro_../../documentation} Datumaro ======== @@ -21,7 +21,7 @@ Plus, enjoy `Jupyter notebooks `. +Go to :doc:`OpenVINO™ Training Extensions `. If the results are unsatisfactory, add datasets and perform the same steps, starting with dataset annotation. diff --git a/docs/articles_en/documentation/openvino-ecosystem/openvino-security-add-on.rst b/docs/articles_en/documentation/openvino-ecosystem/openvino-security-add-on.rst index 8de6f5f4cc1..961956cf227 100644 --- a/docs/articles_en/documentation/openvino-ecosystem/openvino-security-add-on.rst +++ b/docs/articles_en/documentation/openvino-ecosystem/openvino-security-add-on.rst @@ -1,4 +1,4 @@ -.. {#ovsa_get_started} +.. {#ovsa_../../get-started} OpenVINO™ Security Add-on =========================== @@ -19,7 +19,7 @@ In this release, one person performs the role of both the Model Developer and th Overview ######## -The OpenVINO™ Security Add-on works with the :doc:`OpenVINO™ Model Server ` on Intel® architecture. Together, the OpenVINO™ Security Add-on and the OpenVINO™ Model Server provide a way for Model Developers and Independent Software Vendors to use secure packaging and secure model execution to enable access control to the OpenVINO™ models, and for model Users to run inference within assigned limits. +The OpenVINO™ Security Add-on works with the :doc:`OpenVINO™ Model Server <../../ovms_what_is_openvino_model_server>` on Intel® architecture. Together, the OpenVINO™ Security Add-on and the OpenVINO™ Model Server provide a way for Model Developers and Independent Software Vendors to use secure packaging and secure model execution to enable access control to the OpenVINO™ models, and for model Users to run inference within assigned limits. The OpenVINO™ Security Add-on consists of three components that run in Kernel-based Virtual Machines (KVMs). These components provide a way to run security-sensitive operations in an isolated environment. A brief description of the three components are as follows. Click each triangled line for more information about each. @@ -47,7 +47,7 @@ The OpenVINO™ Security Add-on consists of three components that run in Kernel- **Where the OpenVINO™ Security Add-on Fits into Model Development and Deployment** -.. image:: _static/images/ovsa_diagram.svg +.. image:: ../../_static/images/ovsa_diagram.svg The binding between SWTPM (vTPM used in guest VM) and HW TPM (TPM on the host) is explained in `this document. `__ @@ -300,7 +300,7 @@ This example in this step uses the following names. Your configuration might use ifconfig $nic 0.0.0.0 down -See the QEMU documentation for more information about the QEMU network configuration. +See the QEMU ../../documentation for more information about the QEMU network configuration. Networking is set up on the Host Machine. Continue to the Step 3 to prepare a Guest VM for the combined role of Model Developer and Independent Software Vendor. @@ -318,7 +318,7 @@ For each separate role you play, you must prepare a virtual machine, called a Gu Begin these steps on the Host Machine. -As an option, you can use ``virsh`` and the virtual machine manager to create and bring up a Guest VM. See the ``libvirtd`` documentation for instructions if you'd like to do this. +As an option, you can use ``virsh`` and the virtual machine manager to create and bring up a Guest VM. See the ``libvirtd`` ../../documentation for instructions if you'd like to do this. 1. Download the **Server install ISO image for 64-bit PC (AMD64) computers** of `Ubuntu 18.04 `__ @@ -736,7 +736,7 @@ How to Use the OpenVINO™ Security Add-on This section requires interactions between the Model Developer/Independent Software vendor and the User. All roles must complete all applicable :ref:`set up steps ` and :ref:`installation steps ` before beginning this section. -This document uses the :ref:`face-detection-retail-0004 ` model as an example. +This document uses the :ref:`face-detection-retail-0004 <../../omz_models_model_face_detection_retail_0044>` model as an example. The following figure describes the interactions between the Model Developer, Independent Software Vendor, and User. @@ -744,7 +744,7 @@ The following figure describes the interactions between the Model Developer, Ind The Model Developer/Independent Software Vendor and User roles are related to virtual machine use and one person might fill the tasks required by multiple roles. In this document the tasks of Model Developer and Independent Software Vendor are combined and use the Guest VM named ``ovsa_isv``. It is possible to have all roles set up on the same Host Machine. -.. image:: _static/images/ovsa_example.svg +.. image:: ../../_static/images/ovsa_example.svg Model Developer Instructions ++++++++++++++++++++++++++++ @@ -799,7 +799,7 @@ Download a model from the Model Zoo: .. code-block:: sh - curl --create-dirs https://download.01.org/opencv/2021/openvinotoolkit/2021.1/open_model_zoo/models_bin/1/face-detection-retail-0004/FP32/face-detection-retail-0004.xml https://download.01.org/opencv/2021/openvinotoolkit/2021.1/open_model_zoo/models_bin/1/face-detection-retail-0004/FP32/face-detection-retail-0004.bin -o model/face-detection-retail-0004.xml -o model/face-detection-retail-0004.bin + curl --create-dirs https://download.01.org/opencv/2021/openvinotoolkit/2021.1/open_../legacy-features/model-zoo/models_bin/1/face-detection-retail-0004/FP32/face-detection-retail-0004.xml https://download.01.org/opencv/2021/openvinotoolkit/2021.1/open_../legacy-features/model-zoo/models_bin/1/face-detection-retail-0004/FP32/face-detection-retail-0004.bin -o model/face-detection-retail-0004.xml -o model/face-detection-retail-0004.bin The model is downloaded to the ``OVSA_DEV_ARTEFACTS/model`` directory diff --git a/docs/articles_en/documentation/openvino-ecosystem/openvino-training-extensions.rst b/docs/articles_en/documentation/openvino-ecosystem/openvino-training-extensions.rst index f07d59e42af..4850fbc6fa2 100644 --- a/docs/articles_en/documentation/openvino-ecosystem/openvino-training-extensions.rst +++ b/docs/articles_en/documentation/openvino-ecosystem/openvino-training-extensions.rst @@ -1,4 +1,4 @@ -.. {#ote_documentation} +.. {#ote_../../documentation} OpenVINO™ Training Extensions =============================== @@ -13,12 +13,12 @@ OpenVINO™ Training Extensions OpenVINO™ Training Extensions provide a suite of advanced algorithms to train Deep Learning models and convert them using the `OpenVINO™ toolkit `__ for optimized -inference. It allows you to export and convert the models to the needed format. OpenVINO Training Extensions independently create and train the model. It is open-sourced and available on `GitHub `__. Read the OpenVINO Training Extensions `documentation `__ to learn more. +inference. It allows you to export and convert the models to the needed format. OpenVINO Training Extensions independently create and train the model. It is open-sourced and available on `GitHub `__. Read the OpenVINO Training Extensions `../../documentation `__ to learn more. Detailed Workflow ################# -.. image:: ./_static/images/training_extensions_framework.png +.. image:: ./../../_static/images/training_extensions_framework.png 1. To start working with OpenVINO Training Extensions, prepare and annotate your dataset. For example, on CVAT. @@ -27,7 +27,7 @@ Detailed Workflow .. note:: Prepare a separate dataset or split the dataset you have for more accurate quality evaluation. -3. Having successful evaluation results received, you have an opportunity to deploy your model or continue optimizing it, using NNCF. For more information about these frameworks, go to :doc:`Optimization Guide `. +3. Having successful evaluation results received, you have an opportunity to deploy your model or continue optimizing it, using NNCF. For more information about these frameworks, go to :doc:`Optimization Guide <../../openvino-workflow/model-optimization>`. If the results are unsatisfactory, add datasets and perform the same steps, starting with dataset annotation. diff --git a/docs/articles_en/documentation/openvino-extensibility.rst b/docs/articles_en/documentation/openvino-extensibility.rst index 702a3b5fb6e..716eb1366ac 100644 --- a/docs/articles_en/documentation/openvino-extensibility.rst +++ b/docs/articles_en/documentation/openvino-extensibility.rst @@ -13,21 +13,21 @@ OpenVINO Extensibility Mechanism :maxdepth: 1 :hidden: - openvino_docs_Extensibility_UG_add_openvino_ops - openvino_docs_Extensibility_UG_Frontend_Extensions - openvino_docs_Extensibility_UG_GPU + openvino-extensibility/custom-openvino-operations + openvino-extensibility/frontend-extensions + openvino-extensibility/custom-gpu-operations .. toctree:: :maxdepth: 1 :hidden: - openvino_docs_transformations - OpenVINO Plugin Developer Guide + openvino-extensibility/transformations-api + OpenVINO Plugin Developer Guide The Intel® Distribution of OpenVINO™ toolkit supports neural-network models trained with various frameworks, including TensorFlow, PyTorch, ONNX, TensorFlow Lite, and PaddlePaddle. The list of supported operations is different for each of the supported frameworks. -To see the operations supported by your framework, refer to :doc:`Supported Framework Operations `. +To see the operations supported by your framework, refer to :doc:`Supported Framework Operations <../about-openvino/compatibility-and-support/supported-operations-framework-frontend>`. Custom operations, which are not included in the list, are not recognized by OpenVINO out-of-the-box. The need for custom operation may appear in two cases: @@ -38,7 +38,7 @@ Importing models with such operations requires additional steps. This guide illu Defining a new custom operation basically consists of two parts: -1. Definition of operation semantics in OpenVINO, the code that describes how this operation should be inferred consuming input tensor(s) and producing output tensor(s). The implementation of execution kernels for :doc:`GPU ` is described in separate guides. +1. Definition of operation semantics in OpenVINO, the code that describes how this operation should be inferred consuming input tensor(s) and producing output tensor(s). The implementation of execution kernels for :doc:`GPU ` is described in separate guides. 2. Mapping rule that facilitates conversion of framework operation representation to OpenVINO defined operation semantics. @@ -49,7 +49,7 @@ Definition of Operation Semantics If the custom operation can be mathematically represented as a combination of exiting OpenVINO operations and such decomposition gives desired performance, then low-level operation implementation is not required. Refer to the latest OpenVINO operation set, when deciding feasibility of such decomposition. You can use any valid combination of exiting operations. The next section of this document describes the way to map a custom operation. -If such decomposition is not possible or appears too bulky with a large number of constituent operations that do not perform well, then a new class for the custom operation should be implemented, as described in the :doc:`Custom Operation Guide `. +If such decomposition is not possible or appears too bulky with a large number of constituent operations that do not perform well, then a new class for the custom operation should be implemented, as described in the :doc:`Custom Operation Guide `. You might prefer implementing a custom operation class if you already have a generic C++ implementation of operation kernel. Otherwise, try to decompose the operation first, as described above. Then, after verifying correctness of inference and resulting performance, you may move on to optional implementation of Bare Metal C++. @@ -58,7 +58,7 @@ Mapping from Framework Operation Mapping of custom operation is implemented differently, depending on model format used for import. If a model is represented in the ONNX (including models exported from PyTorch in ONNX), TensorFlow Lite, PaddlePaddle or -TensorFlow formats, then one of the classes from :doc:`Frontend Extension API ` +TensorFlow formats, then one of the classes from :doc:`Frontend Extension API ` should be used. It consists of several classes available in C++ which can be used with the ``--extensions`` option in Model Optimizer or when a model is imported directly to OpenVINO runtime using the ``read_model`` method. Python API is also available for runtime model import. @@ -80,7 +80,7 @@ Registering Extensions A custom operation class and a new mapping frontend extension class object should be registered to be usable in OpenVINO runtime. .. note:: - This documentation is derived from the `Template extension `__, which demonstrates the details of extension development. It is based on minimalistic ``Identity`` operation that is a placeholder for your real custom operation. Review the complete, fully compilable code to see how it works. + This ../documentation is derived from the `Template extension `__, which demonstrates the details of extension development. It is based on minimalistic ``Identity`` operation that is a placeholder for your real custom operation. Review the complete, fully compilable code to see how it works. Use the ``ov::Core::add_extension`` method to load the extensions to the ``ov::Core`` object. This method allows loading library with extensions or extensions from the code. @@ -106,7 +106,7 @@ Extensions can be loaded from a code with the ``ov::Core::add_extension`` metho :fragment: [add_extension] -The ``Identity`` is a custom operation class defined in :doc:`Custom Operation Guide `. This is sufficient to enable reading OpenVINO IR which uses the ``Identity`` extension operation emitted by Model Optimizer. In order to load original model directly to the runtime, add a mapping extension: +The ``Identity`` is a custom operation class defined in :doc:`Custom Operation Guide `. This is sufficient to enable reading OpenVINO IR which uses the ``Identity`` extension operation emitted by Model Optimizer. In order to load original model directly to the runtime, add a mapping extension: .. tab-set:: @@ -191,7 +191,7 @@ This CMake script finds OpenVINO, using the ``find_package`` CMake command. See Also ######## -* :doc:`OpenVINO Transformations ` -* :doc:`Using OpenVINO Runtime Samples ` -* :doc:`Hello Shape Infer SSD sample ` +* :doc:`OpenVINO Transformations ` +* :doc:`Using OpenVINO Runtime Samples <../learn-openvino/openvino-samples>` +* :doc:`Hello Shape Infer SSD sample <../learn-openvino/openvino-samples/hello-reshape-ssd>` diff --git a/docs/articles_en/documentation/openvino-extensibility/frontend-extensions.rst b/docs/articles_en/documentation/openvino-extensibility/frontend-extensions.rst index 5073a789d7e..56810e29ae3 100644 --- a/docs/articles_en/documentation/openvino-extensibility/frontend-extensions.rst +++ b/docs/articles_en/documentation/openvino-extensibility/frontend-extensions.rst @@ -12,17 +12,17 @@ Frontend Extensions The goal of this chapter is to explain how to use Frontend extension classes to facilitate mapping of custom operations from framework model representation to OpenVINO representation. -Refer to :doc:`Introduction to OpenVINO Extension ` to +Refer to :doc:`Introduction to OpenVINO Extension <../openvino-extensibility>` to understand the entire flow. This API is applicable to new frontends only, which exist for ONNX, TensorFlow Lite, PaddlePaddle, and TensorFlow. If a different model format is used, follow legacy -:doc:`Model Optimizer Extensions ` +:doc:`Model Optimizer Extensions <../legacy-features/transition-legacy-conversion-api/legacy-model-optimizer-extensibility>` guide. .. note:: - This documentation is written based on the `Template extension `__, + This ../../documentation is written based on the `Template extension `__, which demonstrates extension development details based on minimalistic ``Identity`` operation that is a placeholder for your real custom operation. You can review the complete code, which is fully compilable, to see how it works. @@ -77,7 +77,7 @@ OpenVINO runtime just before the loading a model that contains custom operations Or extensions can be constructed in a separately compiled shared library. Separately compiled library can be used in Model Optimizer or ``benchmark_app``. Read about how to build and load such a library in the chapter of “Create library with extensions” in -:doc:`Introduction to OpenVINO Extension `. +:doc:`Introduction to OpenVINO Extension <../openvino-extensibility>`. If operation have multiple inputs and/or outputs they will be mapped in order. The type of elements in input/output tensors should match expected types in the surrounding operations. @@ -409,7 +409,7 @@ The following example shows such conversion for the ``top_k_v2`` operation. For TensorFlow framework, if an operation has more than one output, it is recommended to assign names to those outputs using the ``NamedOutputVector`` structure which allows both indexed and named output access. For a description of TensorFlow operations, including the names of their outputs, refer to the -`tf.raw_ops `__ documentation page. +`tf.raw_ops `__ ../../documentation page. The next example shows such conversion for the ``TopKV2`` operation. .. doxygensnippet:: docs/snippets/ov_extensions.cpp diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library.rst index b0901c295ce..f9f8e341c46 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library.rst @@ -15,17 +15,17 @@ Overview of OpenVINO Plugin Library :caption: Converting and Preparing Models :hidden: - Implement Plugin Functionality - Implement Compiled Model Functionality - Implement Synchronous Inference Request - Implement Asynchronous Inference Request - Provide Plugin Specific Properties - Implement Remote Context - Implement Remote Tensor - openvino_docs_ov_plugin_dg_plugin_build - openvino_docs_ov_plugin_dg_plugin_testing - openvino_docs_ie_plugin_detailed_guides - openvino_docs_ie_plugin_api_references + Implement Plugin Functionality + Implement Compiled Model Functionality + Implement Synchronous Inference Request + Implement Asynchronous Inference Request + Provide Plugin Specific Properties + Implement Remote Context + Implement Remote Tensor + openvino-plugin-library/build-plugin-using-cmake + openvino-plugin-library/plugin-testing + openvino-plugin-library/advanced-guides + openvino-plugin-library/plugin-api-references The plugin architecture of OpenVINO allows to develop and plug independent inference @@ -37,60 +37,60 @@ OpenVINO Plugin Library OpenVINO plugin dynamic library consists of several main components: -1. :doc:`Plugin class `: +1. :doc:`Plugin class `: * Provides information about devices of a specific type. - * Can create an :doc:`compiled model ` instance which represents a Neural Network backend specific graph structure for a particular device in opposite to the ov::Model which is backend-independent. - * Can import an already compiled graph structure from an input stream to a :doc:`compiled model ` object. + * Can create an :doc:`compiled model ` instance which represents a Neural Network backend specific graph structure for a particular device in opposite to the ov::Model which is backend-independent. + * Can import an already compiled graph structure from an input stream to a :doc:`compiled model ` object. -2. :doc:`Compiled Model class `: +2. :doc:`Compiled Model class `: * Is an execution configuration compiled for a particular device and takes into account its capabilities. * Holds a reference to a particular device and a task executor for this device. - * Can create several instances of :doc:`Inference Request `. + * Can create several instances of :doc:`Inference Request `. * Can export an internal backend specific graph structure to an output stream. -3. :doc:`Inference Request class `: +3. :doc:`Inference Request class `: * Runs an inference pipeline serially. * Can extract performance counters for an inference pipeline execution profiling. -4. :doc:`Asynchronous Inference Request class `: +4. :doc:`Asynchronous Inference Request class `: - * Wraps the :doc:`Inference Request ` class and runs pipeline stages in parallel on several task executors based on a device-specific pipeline structure. + * Wraps the :doc:`Inference Request ` class and runs pipeline stages in parallel on several task executors based on a device-specific pipeline structure. -5. :doc:`Plugin specific properties `: +5. :doc:`Plugin specific properties `: * Provides the plugin specific properties. -6. :doc:`Remote Context `: +6. :doc:`Remote Context `: * Provides the device specific remote context. Context allows to create remote tensors. -7. :doc:`Remote Tensor ` +7. :doc:`Remote Tensor ` * Provides the device specific remote tensor API and implementation. .. note:: - This documentation is written based on the ``Template`` plugin, which demonstrates plugin development details. Find the complete code of the ``Template``, which is fully compilable and up-to-date, at ``/src/plugins/template``. + This ../../documentation is written based on the ``Template`` plugin, which demonstrates plugin development details. Find the complete code of the ``Template``, which is fully compilable and up-to-date, at ``/src/plugins/template``. Detailed Guides ############### -* :doc:`Build ` a plugin library using CMake -* Plugin and its components :doc:`testing ` -* :doc:`Quantized networks ` -* :doc:`Low precision transformations ` guide -* :doc:`Writing OpenVINO™ transformations ` guide +* :doc:`Build ` a plugin library using CMake +* Plugin and its components :doc:`testing ` +* :doc:`Quantized networks ` +* :doc:`Low precision transformations ` guide +* :doc:`Writing OpenVINO™ transformations ` guide * `Integration with AUTO Plugin `__ API References diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides.rst index bf6638957e6..8f1f1820cdd 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides.rst @@ -13,13 +13,13 @@ Advanced Topics :maxdepth: 1 :hidden: - openvino_docs_ov_plugin_dg_quantized_models - openvino_docs_OV_UG_lpt + advanced-guides/quantized-models + advanced-guides/low-precision-transformations The guides below provides extra information about specific features of OpenVINO needed for understanding during OpenVINO plugin development: -* :doc:`Quantized networks ` -* :doc:`Low precision transformations guide ` -* :doc:`Writing OpenVINO™ transformations guide ` +* :doc:`Quantized networks ` +* :doc:`Low precision transformations guide ` +* :doc:`Writing OpenVINO™ transformations guide <../transformations-api>` diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations.rst index 0fecd1296f0..e06079a28db 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations.rst @@ -12,11 +12,11 @@ OpenVINO™ Low Precision Transformations :caption: Low Precision Transformations :hidden: - Attributes - Step 1. Prerequisites transformations - Step 2. Markup transformations - Step 3. Main transformations - Step 4. Cleanup transformations + Attributes + Step 1. Prerequisites transformations + Step 2. Markup transformations + Step 3. Main transformations + Step 4. Cleanup transformations Introduction @@ -43,43 +43,43 @@ Input model requirements LPT transformations propagate dequantization operations through the following operations: -* :doc:`Add-1 ` -* :doc:`AvgPool-1 ` -* :doc:`Clamp-1 ` -* :doc:`Concat-1 ` -* :doc:`Convolution-1 ` -* :doc:`ConvolutionBackpropData-1 ` -* :doc:`DepthToSpace-1 ` -* :doc:`FakeQuantize-1 ` -* :doc:`GroupConvolution-1 ` -* :doc:`Interpolate-1 ` -* :doc:`Interpolate-4 ` -* :doc:`MatMul-1 ` -* :doc:`MaxPool-1 ` -* :doc:`Multiply-1 ` -* :doc:`MVN-1 ` -* :doc:`NormalizeL2-1 ` -* :doc:`PRelu-1 ` -* :doc:`ReduceMax-1 ` -* :doc:`ReduceMean-1 ` -* :doc:`ReduceMin-1 ` -* :doc:`ReduceSum-1 ` -* :doc:`Relu-1 ` -* :doc:`Reshape-1 ` -* :doc:`Split-1 ` -* :doc:`Squeeze-1 ` -* :doc:`StridedSlice-1 ` -* :doc:`Transpose-1 ` -* :doc:`Gather-7 ` -* :doc:`Gather-8 ` -* :doc:`Unsqueeze-1 ` -* :doc:`VariadicSplit-1 ` +* :doc:`Add-1 <../../../openvino-ir-format/operation-sets/operations-specifications/arithmetic/add-1>` +* :doc:`AvgPool-1 <../../../openvino-ir-format/operation-sets/operations-specifications/pooling/avg-pool-1>` +* :doc:`Clamp-1 <../../../openvino-ir-format/operation-sets/operations-specifications/activation/clamp-1>` +* :doc:`Concat-1 <../../../openvino-ir-format/operation-sets/operations-specifications/movement/concat-1>` +* :doc:`Convolution-1 <../../../openvino-ir-format/operation-sets/operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData-1 <../../../openvino-ir-format/operation-sets/operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`DepthToSpace-1 <../../../openvino-ir-format/operation-sets/operations-specifications/movement/depth-to-space-1>` +* :doc:`FakeQuantize-1 <../../../openvino-ir-format/operation-sets/operations-specifications/quantization/fake-quantize-1>` +* :doc:`GroupConvolution-1 <../../../openvino-ir-format/operation-sets/operations-specifications/convolution/group-convolution-1>` +* :doc:`Interpolate-1 <../../../openvino-ir-format/operation-sets/operations-specifications/image/interpolate-1>` +* :doc:`Interpolate-4 <../../../openvino-ir-format/operation-sets/operations-specifications/image/interpolate-4>` +* :doc:`MatMul-1 <../../../openvino-ir-format/operation-sets/operations-specifications/matrix/matmul-1>` +* :doc:`MaxPool-1 <../../../openvino-ir-format/operation-sets/operations-specifications/pooling/max-pool-1>` +* :doc:`Multiply-1 <../../../openvino-ir-format/operation-sets/operations-specifications/arithmetic/multiply-1>` +* :doc:`MVN-1 <../../../openvino-ir-format/operation-sets/operations-specifications/normalization/mvn-1>` +* :doc:`NormalizeL2-1 <../../../openvino-ir-format/operation-sets/operations-specifications/normalization/normalize-l2-1>` +* :doc:`PRelu-1 <../../../openvino-ir-format/operation-sets/operations-specifications/activation/prelu-1>` +* :doc:`ReduceMax-1 <../../../openvino-ir-format/operation-sets/operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean-1 <../../../openvino-ir-format/operation-sets/operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin-1 <../../../openvino-ir-format/operation-sets/operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceSum-1 <../../../openvino-ir-format/operation-sets/operations-specifications/reduction/reduce-sum-1>` +* :doc:`Relu-1 <../../../openvino-ir-format/operation-sets/operations-specifications/activation/relu-1>` +* :doc:`Reshape-1 <../../../openvino-ir-format/operation-sets/operations-specifications/shape/reshape-1>` +* :doc:`Split-1 <../../../openvino-ir-format/operation-sets/operations-specifications/movement/split-1>` +* :doc:`Squeeze-1 <../../../openvino-ir-format/operation-sets/operations-specifications/shape/reshape-1>` +* :doc:`StridedSlice-1 <../../../openvino-ir-format/operation-sets/operations-specifications/movement/strided-slice-1>` +* :doc:`Transpose-1 <../../../openvino-ir-format/operation-sets/operations-specifications/movement/transpose-1>` +* :doc:`Gather-7 <../../../openvino-ir-format/operation-sets/operations-specifications/movement/gather-7>` +* :doc:`Gather-8 <../../../openvino-ir-format/operation-sets/operations-specifications/movement/gather-8>` +* :doc:`Unsqueeze-1 <../../../openvino-ir-format/operation-sets/operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit-1 <../../../openvino-ir-format/operation-sets/operations-specifications/movement/variadic-split-1>` If operation is not supported by LPT then dequantization operation will not be propagated, input tensor precisions will not be changed to low precision and operation will be executed in original precision. For example, if you would like to infer a model with ``Convolution`` operation in low precision then the model can look as on picture below: -.. image:: _static/images/model_fq_and_convolution.common.svg +.. image:: ../../../../_static/images/model_fq_and_convolution.common.svg :alt: Quantized Convolution There are several supported quantization approaches on activations and on weights. All supported approaches are described in `Quantization approaches <#quantization-approaches>`__ section below. In demonstrated model `FakeQuantize operation quantization <#fakequantize-operation>`__ approach is used. @@ -87,7 +87,7 @@ There are several supported quantization approaches on activations and on weight Low precision tools +++++++++++++++++++ -For more details on how to get a quantized model, refer to :doc:`Model Optimization ` document. +For more details on how to get a quantized model, refer to :doc:`Model Optimization <../../../../openvino-workflow/model-optimization>` document. Quantization approaches ####################### @@ -104,7 +104,7 @@ FakeQuantize operation In this case ``FakeQuantize`` operation is used on activations and quantized constant on weights. Original input model: -.. image:: _static/images/model_fq_and_convolution.common.svg +.. image:: ../../../../_static/images/model_fq_and_convolution.common.svg :alt: Original model with FakeQuantize @@ -113,7 +113,7 @@ Quantize and dequantization operations In this case ``FakeQuantize`` operation and ``Convert`` are used as quantize operation and return quantized low precision tensor. After quantize operation on activations there are ``Convert`` and dequantization operations to compensate decomposition. Original input model: -.. image:: _static/images/model_qdq_and_convolution.common.svg +.. image:: ../../../../_static/images/model_qdq_and_convolution.common.svg :alt: Original model with Q/DQ In both cases result is the same. In LPT result model you can see that: @@ -129,7 +129,7 @@ In both cases result is the same. In LPT result model you can see that: LPT result model: -.. image:: _static/images/model_fq_and_convolution.transformed.svg +.. image:: ../../../../_static/images/model_fq_and_convolution.transformed.svg :alt: Result model Low precision transformations pipeline @@ -137,7 +137,7 @@ Low precision transformations pipeline LPT transformation pipeline has several steps. For each transformation inside one step pattern matcher is unique per transformation, but each operation can be assigned to several transformations. -.. image:: _static/images/low_precision_transformation_pipeline.svg +.. image:: ../../../../_static/images/low_precision_transformation_pipeline.svg :alt: Low precision transformations pipeline Inside each step LPT transformations handle input model operation by operation, applying transformation matching pattern for each transformation from the step to an operation, and execute transformation if pattern is matched. Decomposition transformation decomposes ``FakeQuantize`` to quantize and dequantization operations. Dequantization operations from previous transformation result is used for the current one and so on, until the end of the model is achieved. @@ -146,78 +146,78 @@ As result, usually all operations are inferred by plugin in low precision. If pl Low precision transformations pipeline includes four steps: -* :doc:`Step 1: Prerequisites ` -* :doc:`Step 2: Markup transformations ` -* :doc:`Step 3: Main transformations ` -* :doc:`Step 4: Cleanup transformations ` +* :doc:`Step 1: Prerequisites ` +* :doc:`Step 2: Markup transformations ` +* :doc:`Step 3: Main transformations ` +* :doc:`Step 4: Cleanup transformations ` Step 1. Prerequisites --------------------- This step fuses and propagates some operations in the model to prepare for the next step. It is required for OpenVINO plugins. Transformations: -* :doc:`PullReshapeThroughDequantization ` -* :doc:`PullTransposeThroughDequantization ` -* :doc:`LinOpSequenceFusion ` +* :doc:`PullReshapeThroughDequantization ` +* :doc:`PullTransposeThroughDequantization ` +* :doc:`LinOpSequenceFusion ` -The model on this step is changed. There are more details in developer guide :doc:`Prerequisites transformations `. +The model on this step is changed. There are more details in developer guide :doc:`Prerequisites transformations `. Step 2. Markup -------------- This step creates runtime attributes for operations. These attributes will be used in next step. Transformations: -* :doc:`MarkupBias ` -* :doc:`MarkupCanBeQuantized ` -* :doc:`MarkupPrecisions ` -* :doc:`MarkupPerTensorQuantization ` -* :doc:`MarkupAvgPoolPrecisionPreserved ` -* :doc:`PropagatePrecisions ` -* :doc:`AlignQuantizationIntervals ` -* :doc:`AlignQuantizationParameters ` +* :doc:`MarkupBias ` +* :doc:`MarkupCanBeQuantized ` +* :doc:`MarkupPrecisions ` +* :doc:`MarkupPerTensorQuantization ` +* :doc:`MarkupAvgPoolPrecisionPreserved ` +* :doc:`PropagatePrecisions ` +* :doc:`AlignQuantizationIntervals ` +* :doc:`AlignQuantizationParameters ` -The model on this step is changed: only new attributes are added to some operations. There are more details in developer guide :doc:`Markup transformations `. +The model on this step is changed: only new attributes are added to some operations. There are more details in developer guide :doc:`Markup transformations `. Step 3. Main transformations, FakeQuantize decomposition and dequantization operations handling ----------------------------------------------------------------------------------------------- -This step has the most transformations. These transformations can be separated in two groups: decomposition transformation and dequantization operations handling. There are more details in developer guide :doc:`Main transformations `. +This step has the most transformations. These transformations can be separated in two groups: decomposition transformation and dequantization operations handling. There are more details in developer guide :doc:`Main transformations `. Transformations: -* :doc:`AddTransformation ` -* :doc:`AvgPoolTransformation ` -* :doc:`ClampTransformation ` -* :doc:`BatchToSpaceTransformation ` -* :doc:`ConcatTransformation ` -* :doc:`ConvolutionTransformation ` -* :doc:`ConvolutionBackpropDataTransformation ` -* :doc:`DepthToSpaceTransformation ` -* :doc:`FakeQuantizeDecompositionTransformation ` -* :doc:`FakeQuantizeTransformation ` -* :doc:`InterpolateTransformation ` -* :doc:`GroupConvolutionTransformation ` -* :doc:`GatherTransformation ` -* :doc:`MatMulTransformation ` -* :doc:`MaxPoolTransformation ` -* :doc:`MultiplyPartialTransformation ` -* :doc:`MVNTransformation ` -* :doc:`NormalizeL2Transformation ` -* :doc:`PReluTransformation ` -* :doc:`ReduceMaxTransformation ` -* :doc:`ReduceMeanTransformation ` -* :doc:`ReduceMinTransformation ` -* :doc:`ReduceSumTransformation ` -* :doc:`ReluTransformation ` -* :doc:`ReshapeTransformation ` -* :doc:`SqueezeTransformation ` -* :doc:`ShuffleChannelsTransformation ` -* :doc:`SpaceToBatchTransformation ` -* :doc:`SplitTransformation ` -* :doc:`StridedSliceTransformation ` -* :doc:`TransposeTransformation ` -* :doc:`UnsqueezeTransformation ` -* :doc:`VariadicSplitTransformation ` +* :doc:`AddTransformation ` +* :doc:`AvgPoolTransformation ` +* :doc:`ClampTransformation ` +* :doc:`BatchToSpaceTransformation ` +* :doc:`ConcatTransformation ` +* :doc:`ConvolutionTransformation ` +* :doc:`ConvolutionBackpropDataTransformation ` +* :doc:`DepthToSpaceTransformation ` +* :doc:`FakeQuantizeDecompositionTransformation ` +* :doc:`FakeQuantizeTransformation ` +* :doc:`InterpolateTransformation ` +* :doc:`GroupConvolutionTransformation ` +* :doc:`GatherTransformation ` +* :doc:`MatMulTransformation ` +* :doc:`MaxPoolTransformation ` +* :doc:`MultiplyPartialTransformation ` +* :doc:`MVNTransformation ` +* :doc:`NormalizeL2Transformation ` +* :doc:`PReluTransformation ` +* :doc:`ReduceMaxTransformation ` +* :doc:`ReduceMeanTransformation ` +* :doc:`ReduceMinTransformation ` +* :doc:`ReduceSumTransformation ` +* :doc:`ReluTransformation ` +* :doc:`ReshapeTransformation ` +* :doc:`SqueezeTransformation ` +* :doc:`ShuffleChannelsTransformation ` +* :doc:`SpaceToBatchTransformation ` +* :doc:`SplitTransformation ` +* :doc:`StridedSliceTransformation ` +* :doc:`TransposeTransformation ` +* :doc:`UnsqueezeTransformation ` +* :doc:`VariadicSplitTransformation ` Decomposition transformations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -227,12 +227,12 @@ Decomposition transformations decompose the ``FakeQuantize`` operation to: quant Original ``FakeQuantize``: -.. image:: _static/images/fq.common.svg +.. image:: ../../../../_static/images/fq.common.svg :alt: FakeQuantize operation before LPT ``FakeQuantize`` after decomposition to quantization and dequantization operations: -.. image:: _static/images/fq.transformed.svg +.. image:: ../../../../_static/images/fq.transformed.svg :alt: FakeQuantize operation after LPT Dequantization operations handling transformations @@ -242,12 +242,12 @@ In this step, LPT transformations fuse dequantization operations or move them th Original ``Convolution`` operation in FP32 with dequantization operations before: -.. image:: _static/images/model_fq_and_convolution.common.svg +.. image:: ../../../../_static/images/model_fq_and_convolution.common.svg :alt: Convolution operation before LPT ``Convolution`` operation in INT8 after decomposition and dequantization operations handling: -.. image:: _static/images/model_fq_and_convolution.transformed.svg +.. image:: ../../../../_static/images/model_fq_and_convolution.transformed.svg :alt: Convolution operation after LPT @@ -258,24 +258,24 @@ LPT cleanup transformations is final stage in LPT pipeline. In this step LPT tra Transformations: -* :doc:`EliminateFakeQuantizeTransformation ` -* :doc:`FoldConvertTransformation ` -* :doc:`FoldFakeQuantizeTransformation ` -* :doc:`FuseConvertTransformation ` -* :doc:`FuseMultiplyToFakeQuantizeTransformation ` -* :doc:`FuseSubtractToFakeQuantizeTransformation ` -* :doc:`MultiplyToGroupConvolutionTransformation ` +* :doc:`EliminateFakeQuantizeTransformation ` +* :doc:`FoldConvertTransformation ` +* :doc:`FoldFakeQuantizeTransformation ` +* :doc:`FuseConvertTransformation ` +* :doc:`FuseMultiplyToFakeQuantizeTransformation ` +* :doc:`FuseSubtractToFakeQuantizeTransformation ` +* :doc:`MultiplyToGroupConvolutionTransformation ` -There are more details in developer guide :doc:`Cleanup transformations `. +There are more details in developer guide :doc:`Cleanup transformations `. ``FakeQuantize`` operation with not handled dequantization operations: -.. image:: _static/images/fq.transformed.svg +.. image:: ../../../../_static/images/fq.transformed.svg :alt: TODO: FakeQuantize operation with dequantization operations before LPT ``FakeQuantize`` operation with fused dequantization operations: -.. image:: _static/images/fq.common.svg +.. image:: ../../../../_static/images/fq.common.svg :alt: TODO: FakeQuantize operation with fused operations after LPT @@ -313,13 +313,13 @@ This step is optional. It modifies the transformation function to a device-speci Result model overview ##################### -Let's explore quantized `TensorFlow implementation of ResNet-50 `__ model. Use :doc:`Model Downloader ` tool to download the ``fp16`` model from `OpenVINO™ Toolkit - Open Model Zoo repository `__: +Let's explore quantized `TensorFlow implementation of ResNet-50 `__ model. Use :doc:`Model Downloader <../../../../omz_tools_downloader>` tool to download the ``fp16`` model from `OpenVINO™ Toolkit - Open Model Zoo repository `__: .. code-block:: sh omz_downloader --name resnet-50-tf --precisions FP16-INT8 -After that you should quantize model by the :doc:`Model Quantizer ` tool. +After that you should quantize model by the :doc:`Model Quantizer <../../../../omz_tools_downloader>` tool. .. code-block:: sh @@ -329,7 +329,7 @@ After that you should quantize model by the :doc:`Model Quantizer `. +The simplest way to infer the model and collect performance counters is :doc:`Benchmark Application <../../../../learn-openvino/openvino-samples/benchmark-tool>`. .. code-block:: sh @@ -347,7 +347,7 @@ Result model depends on different factors: Information about layer precision is stored in the performance counters that are -available from the OpenVINO Runtime API. For example, the part of performance counters table for quantized `TensorFlow implementation of ResNet-50 `__ model inference on CPU Plugin looks as follows: +available from the OpenVINO Runtime API. For example, the part of performance counters table for quantized `TensorFlow implementation of ResNet-50 `__ model inference on CPU Plugin looks as follows: .. list-table:: :header-rows: 1 diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes.rst index f1688d2c5fa..9b1e0314bb7 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_attributes} +.. {#../low-precision-transformations_attributes} Attributes ========== @@ -13,12 +13,12 @@ Attributes :caption: Attributes :hidden: - AvgPoolPrecisionPreserved - IntervalsAlignment - PrecisionPreserved - Precisions - QuantizationAlignment - QuantizationGranularity + AvgPoolPrecisionPreserved + IntervalsAlignment + PrecisionPreserved + Precisions + QuantizationAlignment + QuantizationGranularity Introduction ############ @@ -30,27 +30,27 @@ Introduction - Target - Required - Mutable - * - :doc:`AvgPoolPrecisionPreserved ` + * - :doc:`AvgPoolPrecisionPreserved ` - Precision - No - Yes - * - :doc:`IntervalsAlignment ` + * - :doc:`IntervalsAlignment ` - Quantization interval - Yes - Yes - * - :doc:`PrecisionPreserved ` + * - :doc:`PrecisionPreserved ` - Precision - Yes - Yes - * - :doc:`Precisions ` + * - :doc:`Precisions ` - Precision - Yes - Yes - * - :doc:`QuantizationAlignment ` + * - :doc:`QuantizationAlignment ` - Quantization granularity - Yes - Yes - * - :doc:`QuantizationGranularity ` + * - :doc:`QuantizationGranularity ` - Quantization granularity - Yes - No diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/avg-pool-precision-preserved.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/avg-pool-precision-preserved.rst index ecbb310999b..0cf23dbe780 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/avg-pool-precision-preserved.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/avg-pool-precision-preserved.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_AvgPoolPrecisionPreserved} +.. {#../../low-precision-transformations_AvgPoolPrecisionPreserved} AvgPoolPrecisionPreserved Attribute =================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/intervals-alignment.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/intervals-alignment.rst index b31ceec7f0d..092e5e172e4 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/intervals-alignment.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/intervals-alignment.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_IntervalsAlignment} +.. {#../../low-precision-transformations_IntervalsAlignment} IntervalsAlignment Attribute ============================ diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/precision-preserved.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/precision-preserved.rst index 479b04c2643..191d597988b 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/precision-preserved.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/precision-preserved.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PrecisionPreserved} +.. {#../../low-precision-transformations_PrecisionPreserved} PrecisionPreserved Attribute ============================ diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/precisions.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/precisions.rst index 7f800dcaa9d..ba16f61cbcd 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/precisions.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/precisions.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_Precisions} +.. {#../../low-precision-transformations_Precisions} Precisions Attribute ==================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/quantization-alignment.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/quantization-alignment.rst index cf6aba946d6..f9f341e5e61 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/quantization-alignment.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/quantization-alignment.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_QuantizationAlignment} +.. {#../../low-precision-transformations_QuantizationAlignment} QuantizationAlignment Attribute =============================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/quantization-granularity.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/quantization-granularity.rst index b6eea955a74..d7767ff1ae0 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/quantization-granularity.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/lpt-attributes/quantization-granularity.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_QuantizationGranularity} +.. {#../../low-precision-transformations_QuantizationGranularity} QuantizationGranularity Attribute ================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites.rst index 57381ed5498..d517773f9d2 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_step1_prerequisites} +.. {#../low-precision-transformations_step1_prerequisites} Step 1. Prerequisites Transformations ===================================== @@ -12,13 +12,13 @@ Step 1. Prerequisites Transformations :maxdepth: 1 :hidden: - PullReshapeThroughDequantization - PullTransposeThroughDequantization - LinOpSequenceFusion + PullReshapeThroughDequantization + PullTransposeThroughDequantization + LinOpSequenceFusion Prerequisites transformations are optional. The transformations prepare a model before running other low precision transformations. The transformations do not operate with dequantization operations or update precisions. Prerequisites transformations include: -* :doc:`PullReshapeThroughDequantization ` -* :doc:`PullTransposeThroughDequantization ` -* :doc:`LinOpSequenceFusion ` +* :doc:`PullReshapeThroughDequantization ` +* :doc:`PullTransposeThroughDequantization ` +* :doc:`LinOpSequenceFusion ` diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/convert-subtract-constant.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/convert-subtract-constant.rst index 59eaf0a3952..803c57466c9 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/convert-subtract-constant.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/convert-subtract-constant.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ConvertSubtractConstant} +.. {#../../low-precision-transformations_ConvertSubtractConstant} ConvertSubtractConstant transformation ====================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/lin-op-sequence-fusion.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/lin-op-sequence-fusion.rst index 74073a7b6d8..7678f2d2fab 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/lin-op-sequence-fusion.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/lin-op-sequence-fusion.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_LinOpSequenceFusion} +.. {#../../low-precision-transformations_LinOpSequenceFusion} LinOpSequenceFusion transformation ================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/pull-reshape-through-dequantization.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/pull-reshape-through-dequantization.rst index 20c37084089..11968f6e5a0 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/pull-reshape-through-dequantization.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/pull-reshape-through-dequantization.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PullReshapeThroughDequantization} +.. {#../../low-precision-transformations_PullReshapeThroughDequantization} PullReshapeThroughDequantization transformation =============================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/pull-transpose-through-dequantization.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/pull-transpose-through-dequantization.rst index 708e3d606ed..9eadf8ea4dc 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/pull-transpose-through-dequantization.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step1-prerequisites/pull-transpose-through-dequantization.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PullTransposeThroughDequantization} +.. {#../../low-precision-transformations_PullTransposeThroughDequantization} PullTransposeThroughDequantization transformation ================================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup.rst index 7c0383492ff..7307d5327ce 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_step2_markup} +.. {#../low-precision-transformations_step2_markup} Step 2. Markup Transformations ============================== @@ -13,31 +13,31 @@ Step 2. Markup Transformations :caption: Low Precision Transformations :hidden: - MarkupBias - MarkupCanBeQuantized - MarkupPrecisions - MarkupPerTensorQuantization - MarkupAvgPoolPrecisionPreserved - PropagatePrecisions - AlignQuantizationIntervals - AlignQuantizationParameters + MarkupBias + MarkupCanBeQuantized + MarkupPrecisions + MarkupPerTensorQuantization + MarkupAvgPoolPrecisionPreserved + PropagatePrecisions + AlignQuantizationIntervals + AlignQuantizationParameters - CreateAttribute - CreatePrecisionsDependentAttribute - PropagateThroughPrecisionPreserved - PropagateToInput - UpdateSharedPrecisionPreserved + CreateAttribute + CreatePrecisionsDependentAttribute + PropagateThroughPrecisionPreserved + PropagateToInput + UpdateSharedPrecisionPreserved This step defines the optimal ``FakeQuantize`` decomposition precisions for the best inference performance via operations markup with runtime attribute instances. Attributes are created for input and output ports and operations. Transformations do not change the operation output port precisions. A model markup low precision logic is decomposed and implemented into the following common markup transformations. The order of transformations is important: -1. :doc:`MarkupBias ` -2. :doc:`MarkupCanBeQuantized ` -3. :doc:`MarkupPrecisions ` -4. :doc:`MarkupPerTensorQuantization ` -5. :doc:`MarkupAvgPoolPrecisionPreserved ` -6. :doc:`PropagatePrecisions ` -7. :doc:`AlignQuantizationIntervals ` -8. :doc:`AlignQuantizationParameters ` +1. :doc:`MarkupBias ` +2. :doc:`MarkupCanBeQuantized ` +3. :doc:`MarkupPrecisions ` +4. :doc:`MarkupPerTensorQuantization ` +5. :doc:`MarkupAvgPoolPrecisionPreserved ` +6. :doc:`PropagatePrecisions ` +7. :doc:`AlignQuantizationIntervals ` +8. :doc:`AlignQuantizationParameters ` .. list-table:: :header-rows: 1 @@ -75,15 +75,15 @@ This step defines the optimal ``FakeQuantize`` decomposition precisions for the Common markup transformations can be decomposed into simpler utility markup transformations. The order of Markup utility transformations is not important: -* :doc:`CreateAttribute ` -* :doc:`CreatePrecisionsDependentAttribute ` -* :doc:`PropagateThroughPrecisionPreserved ` -* :doc:`PropagateToInput ` -* :doc:`UpdateSharedPrecisionPreserved ` +* :doc:`CreateAttribute ` +* :doc:`CreatePrecisionsDependentAttribute ` +* :doc:`PropagateThroughPrecisionPreserved ` +* :doc:`PropagateToInput ` +* :doc:`UpdateSharedPrecisionPreserved ` Let's explore all transformations and their relations in detail, using one and the same model: -.. image:: _static/images/step2_markup_original.svg +.. image:: ../../../../../_static/images/step2_markup_original.svg The original model key features: @@ -114,7 +114,7 @@ Changes in the example model after ``MarkupCanBeQuantized`` transformation: Result model: -.. image:: _static/images/step2_markup1.svg +.. image:: ../../../../../_static/images/step2_markup1.svg :alt: MarkupCanBeQuantize Model display features (here and below): @@ -137,7 +137,7 @@ No attributes are required before the transformation. Changes in the example mod Result model: -.. image:: _static/images/step2_markup2.svg +.. image:: ../../../../../_static/images/step2_markup2.svg :alt: MarkupPrecisions result 3. MarkupPerTensorQuantization @@ -151,7 +151,7 @@ Changes in the example model after ``MarkupPerTensorQuantization`` transformatio Result model: -.. image:: _static/images/step2_markup3.svg +.. image:: ../../../../../_static/images/step2_markup3.svg :alt: MarkupPerTensorQuantization result 4. MarkupAvgPoolPrecisionPreserved @@ -169,7 +169,7 @@ Changes in the example model after ``MarkupAvgPoolPrecisionPreserved`` transform Result model: -.. image:: _static/images/step2_markup4.svg +.. image:: ../../../../../_static/images/step2_markup4.svg :alt: arkupAvgPoolPrecisionPreserved 5. PropagatePrecisions @@ -188,7 +188,7 @@ Changes in the example model after ``PropagatePrecisions`` transformation: Result model: -.. image:: _static/images/step2_markup5.svg +.. image:: ../../../../../_static/images/step2_markup5.svg :alt: PropagatePrecisions .. note:: @@ -208,7 +208,7 @@ Changes in the example model after ``AlignQuantizationIntervals`` transformation Result model: -.. image:: _static/images/step2_markup6.svg +.. image:: ../../../../../_static/images/step2_markup6.svg :alt: AlignQuantizationIntervals 7. AlignQuantizationParameters @@ -227,6 +227,6 @@ Changes in the example model after ``AlignQuantizationParameters`` transformatio Final model: -.. image:: _static/images/step2_markup7.svg +.. image:: ../../../../../_static/images/step2_markup7.svg :alt: AlignQuantizationParameters diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/align-quantization-intervals.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/align-quantization-intervals.rst index 78757e1a87b..59790942d48 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/align-quantization-intervals.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/align-quantization-intervals.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_AlignQuantizationIntervals} +.. {#../../low-precision-transformations_AlignQuantizationIntervals} AlignQuantizationIntervals transformation ========================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/align-quantization-parameters.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/align-quantization-parameters.rst index f59a1004061..5dfaaf6ef93 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/align-quantization-parameters.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/align-quantization-parameters.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_AlignQuantizationParameters} +.. {#../../low-precision-transformations_AlignQuantizationParameters} AlignQuantizationParameters transformation ========================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/create-attribute.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/create-attribute.rst index d6293e04ab7..e1e26b5136a 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/create-attribute.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/create-attribute.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_CreateAttribute} +.. {#../../low-precision-transformations_CreateAttribute} CreateAttribute transformation ============================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/create-precisions-dependent-attribute.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/create-precisions-dependent-attribute.rst index c2c472ab10c..88795c20d79 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/create-precisions-dependent-attribute.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/create-precisions-dependent-attribute.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_CreatePrecisionsDependentAttribute} +.. {#../../low-precision-transformations_CreatePrecisionsDependentAttribute} CreatePrecisionsDependentAttribute transformation ================================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-avg-pool-precision-preserved.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-avg-pool-precision-preserved.rst index 15adcca909b..d0c7a644ebe 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-avg-pool-precision-preserved.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-avg-pool-precision-preserved.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MarkupAvgPoolPrecisionPreserved} +.. {#../../low-precision-transformations_MarkupAvgPoolPrecisionPreserved} MarkupAvgPoolPrecisionPreserved transformation ============================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-bias.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-bias.rst index f03aeaeddee..ff5af400733 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-bias.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-bias.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MarkupBias} +.. {#../../low-precision-transformations_MarkupBias} MarkupBias transformation ========================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-can-be-quantized.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-can-be-quantized.rst index c498cd4f740..68e191c6169 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-can-be-quantized.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-can-be-quantized.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MarkupCanBeQuantized} +.. {#../../low-precision-transformations_MarkupCanBeQuantized} MarkupCanBeQuantized transformation =================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-per-tensor-quantization.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-per-tensor-quantization.rst index e0202c6d604..d1379c2fb8a 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-per-tensor-quantization.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-per-tensor-quantization.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MarkupPerTensorQuantization} +.. {#../../low-precision-transformations_MarkupPerTensorQuantization} MarkupPerTensorQuantization transformation ========================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-precisions.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-precisions.rst index 2eab217af57..b2c1847f189 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-precisions.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/markup-precisions.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MarkupPrecisions} +.. {#../../low-precision-transformations_MarkupPrecisions} MarkupPrecisions transformation =============================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-precisions.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-precisions.rst index f0f8786c9ac..4cdaf867fde 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-precisions.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-precisions.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PropagatePrecisions} +.. {#../../low-precision-transformations_PropagatePrecisions} PropagatePrecisions transformation ================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-shared-value.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-shared-value.rst index f2c475fc855..c503b2e043d 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-shared-value.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-shared-value.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PropagateSharedValue} +.. {#../../low-precision-transformations_PropagateSharedValue} PropagateSharedValue transformation =================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-through-precision-preserved.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-through-precision-preserved.rst index f255b856ee8..cdd8e1865fd 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-through-precision-preserved.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-through-precision-preserved.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PropagateThroughPrecisionPreserved} +.. {#../../low-precision-transformations_PropagateThroughPrecisionPreserved} PropagateThroughPrecisionPreserved transformation ================================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-to-input.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-to-input.rst index bd392ac8413..e91f509f8bf 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-to-input.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/propagate-to-input.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PropagateToInput} +.. {#../../low-precision-transformations_PropagateToInput} PropagateToInput transformation =============================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/update-shared-precision-preserved.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/update-shared-precision-preserved.rst index 12273e43110..cc9affaf009 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/update-shared-precision-preserved.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step2-markup/update-shared-precision-preserved.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_UpdateSharedPrecisionPreserved} +.. {#../../low-precision-transformations_UpdateSharedPrecisionPreserved} UpdateSharedPrecisionPreserved transformation ============================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main.rst index 9dd22aa7a15..c0791be26a2 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_step3_main} +.. {#step3-main/step3_main} Step 3. Main Transformations ============================ @@ -13,87 +13,87 @@ Step 3. Main Transformations :maxdepth: 1 :hidden: - AddTransformation - AvgPoolTransformation - BatchToSpaceTransformation - ClampTransformation - ConcatTransformation - ConvolutionTransformation - ConvolutionBackpropDataTransformation - DepthToSpaceTransformation - FakeQuantizeDecompositionTransformation - FakeQuantizeTransformation - InterpolateTransformation - GroupConvolutionTransformation - GatherTransformation - MatMulTransformation - MaxPoolTransformation - MultiplyPartialTransformation - MVNTransformation - NormalizeL2Transformation - PadTransformation - PReluTransformation - ReduceMaxTransformation - ReduceMeanTransformation - ReduceMinTransformation - ReduceSumTransformation - ReluTransformation - ReshapeTransformation - SpaceToBatchTransformation - SqueezeTransformation - ShuffleChannelsTransformation - SplitTransformation - StridedSliceTransformation - TransposeTransformation - UnsqueezeTransformation - VariadicSplitTransformation + AddTransformation + AvgPoolTransformation + BatchToSpaceTransformation + ClampTransformation + ConcatTransformation + ConvolutionTransformation + ConvolutionBackpropDataTransformation + DepthToSpaceTransformation + FakeQuantizeDecompositionTransformation + FakeQuantizeTransformation + InterpolateTransformation + GroupConvolutionTransformation + GatherTransformation + MatMulTransformation + MaxPoolTransformation + MultiplyPartialTransformation + MVNTransformation + NormalizeL2Transformation + PadTransformation + PReluTransformation + ReduceMaxTransformation + ReduceMeanTransformation + ReduceMinTransformation + ReduceSumTransformation + ReluTransformation + ReshapeTransformation + SpaceToBatchTransformation + SqueezeTransformation + ShuffleChannelsTransformation + SplitTransformation + StridedSliceTransformation + TransposeTransformation + UnsqueezeTransformation + VariadicSplitTransformation Main transformations are the majority of low precision transformations. Transformations operate with dequantization operations. Main transformations include: -* :doc:`AddTransformation ` -* :doc:`AvgPoolTransformation ` -* :doc:`BatchToSpaceTransformation ` -* :doc:`ClampTransformation ` -* :doc:`ConcatTransformation ` -* :doc:`ConvolutionTransformation ` -* :doc:`ConvolutionBackpropDataTransformation ` -* :doc:`DepthToSpaceTransformation ` -* :doc:`FakeQuantizeDecompositionTransformation ` -* :doc:`FakeQuantizeTransformation ` -* :doc:`InterpolateTransformation ` -* :doc:`GroupConvolutionTransformation ` -* :doc:`GatherTransformation ` -* :doc:`MatMulTransformation ` -* :doc:`MaxPoolTransformation ` -* :doc:`MultiplyPartialTransformation ` -* :doc:`MVNTransformation ` -* :doc:`NormalizeL2Transformation ` -* :doc:`PadTransformation` -* :doc:`PReluTransformation ` -* :doc:`ReduceMaxTransformation ` -* :doc:`ReduceMeanTransformation ` -* :doc:`ReduceMinTransformation ` -* :doc:`ReduceSumTransformation ` -* :doc:`ReluTransformation ` -* :doc:`ReshapeTransformation ` -* :doc:`SpaceToBatchTransformation ` -* :doc:`SqueezeTransformation ` -* :doc:`ShuffleChannelsTransformation ` -* :doc:`SplitTransformation ` -* :doc:`StridedSliceTransformation ` -* :doc:`TransposeTransformation ` -* :doc:`UnsqueezeTransformation ` -* :doc:`VariadicSplitTransformation ` +* :doc:`AddTransformation ` +* :doc:`AvgPoolTransformation ` +* :doc:`BatchToSpaceTransformation ` +* :doc:`ClampTransformation ` +* :doc:`ConcatTransformation ` +* :doc:`ConvolutionTransformation ` +* :doc:`ConvolutionBackpropDataTransformation ` +* :doc:`DepthToSpaceTransformation ` +* :doc:`FakeQuantizeDecompositionTransformation ` +* :doc:`FakeQuantizeTransformation ` +* :doc:`InterpolateTransformation ` +* :doc:`GroupConvolutionTransformation ` +* :doc:`GatherTransformation ` +* :doc:`MatMulTransformation ` +* :doc:`MaxPoolTransformation ` +* :doc:`MultiplyPartialTransformation ` +* :doc:`MVNTransformation ` +* :doc:`NormalizeL2Transformation ` +* :doc:`PadTransformation` +* :doc:`PReluTransformation ` +* :doc:`ReduceMaxTransformation ` +* :doc:`ReduceMeanTransformation ` +* :doc:`ReduceMinTransformation ` +* :doc:`ReduceSumTransformation ` +* :doc:`ReluTransformation ` +* :doc:`ReshapeTransformation ` +* :doc:`SpaceToBatchTransformation ` +* :doc:`SqueezeTransformation ` +* :doc:`ShuffleChannelsTransformation ` +* :doc:`SplitTransformation ` +* :doc:`StridedSliceTransformation ` +* :doc:`TransposeTransformation ` +* :doc:`UnsqueezeTransformation ` +* :doc:`VariadicSplitTransformation ` Let's explore some main transformations on the example model. Original model: -.. image:: _static/images/step3_original.svg +.. image:: ../../../../../_static/images/step3_original.svg :alt: Original model Result model after main transformations: -.. image:: _static/images/step3_transformed.svg +.. image:: ../../../../../_static/images/step3_transformed.svg :alt: Transformed model Changes in the example model after main transformation: diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/clamp.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/clamp.rst index 6e7329c0b64..b217ac543e2 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/clamp.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/clamp.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ClampTransformation} +.. {#../../../low-precision-transformations_ClampTransformation} ClampTransformation transformation ================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/prelu.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/prelu.rst index f27c793b09f..b569187910d 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/prelu.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/prelu.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PReluTransformation} +.. {#../../../low-precision-transformations_PReluTransformation} PReluTransformation transformation ================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/relu.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/relu.rst index c38188a3796..aeb706c4947 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/relu.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/activation/relu.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ReluTransformation} +.. {#../../../low-precision-transformations_ReluTransformation} ReluTransformation transformation ================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/add.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/add.rst index d5a043a2f05..f330bd1c45c 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/add.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/add.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_AddTransformation} +.. {#../../../low-precision-transformations_AddTransformation} AddTransformation transformation ================================ diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/multiply-partial.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/multiply-partial.rst index 361034a731c..217c83aa5be 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/multiply-partial.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/multiply-partial.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MultiplyPartialTransformation} +.. {#../../../low-precision-transformations_MultiplyPartialTransformation} MultiplyTransformation transformation ===================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/multiply.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/multiply.rst index 60fff193eaf..ede4a1d2051 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/multiply.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/multiply.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MultiplyTransformation} +.. {#../../../low-precision-transformations_MultiplyTransformation} MultiplyTransformation transformation ===================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/subtract.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/subtract.rst index fffa1fe4ed4..8c1d89ce669 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/subtract.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/arithmetic/subtract.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_SubtractTransformation} +.. {#../../../low-precision-transformations_SubtractTransformation} SubtractTransformation transformation ===================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/convolution-backprop-data.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/convolution-backprop-data.rst index df3ba6f191b..4ad25e73ba4 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/convolution-backprop-data.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/convolution-backprop-data.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ConvolutionBackpropDataTransformation} +.. {#../../../low-precision-transformations_ConvolutionBackpropDataTransformation} ConvolutionBackpropDataTransformation transformation ==================================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/convolution.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/convolution.rst index d5e4d1753b7..42b7dc41e8a 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/convolution.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/convolution.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ConvolutionTransformation} +.. {#../../../low-precision-transformations_ConvolutionTransformation} ConvolutionTransformation transformation ======================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/group-convolution.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/group-convolution.rst index bdfd66df523..c8ed4c6ed25 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/group-convolution.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/convolution/group-convolution.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_GroupConvolutionTransformation} +.. {#../../../low-precision-transformations_GroupConvolutionTransformation} GroupConvolutionTransformation transformation ============================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/image/interpolate.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/image/interpolate.rst index 868ca07a87d..e16b2906107 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/image/interpolate.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/image/interpolate.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_InterpolateTransformation} +.. {#../../../low-precision-transformations_InterpolateTransformation} InterpolateTransformation transformation ======================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/matrix/mat-mul.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/matrix/mat-mul.rst index 6d3e54a3c77..076d357b9f7 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/matrix/mat-mul.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/matrix/mat-mul.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MatMulTransformation} +.. {#../../../low-precision-transformations_MatMulTransformation} MatMulTransformation transformation =================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/concat.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/concat.rst index 8824d8b1747..4232995afac 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/concat.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/concat.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ConcatTransformation} +.. {#../../../low-precision-transformations_ConcatTransformation} ConcatTransformation transformation =================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/depth-to-space.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/depth-to-space.rst index 2ece1f904f3..b4ddd6853a2 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/depth-to-space.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/depth-to-space.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_DepthToSpaceTransformation} +.. {#../../../low-precision-transformations_DepthToSpaceTransformation} DepthToSpaceTransformation transformation ========================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/gather.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/gather.rst index 58d41860656..a76bceb6d8d 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/gather.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/gather.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_GatherTransformation} +.. {#../../../low-precision-transformations_GatherTransformation} GatherTransformation transformation =================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/pad.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/pad.rst index 9ec631b6091..ceae381d3ee 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/pad.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/pad.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_PadTransformation} +.. {#../../../low-precision-transformations_PadTransformation} PadTransformation transformation ================================ diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/shuffle-channels.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/shuffle-channels.rst index fdf98654a38..9a6530fa840 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/shuffle-channels.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/shuffle-channels.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ShuffleChannelsTransformation} +.. {#../../../low-precision-transformations_ShuffleChannelsTransformation} ShuffleChannelsTransformation transformation ============================================ diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/split.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/split.rst index d965544aa61..2e5455bc8d1 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/split.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/split.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_SplitTransformation} +.. {#../../../low-precision-transformations_SplitTransformation} SplitTransformation transformation ================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/strided-slice.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/strided-slice.rst index 1340dbad617..22682ac531f 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/strided-slice.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/strided-slice.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_StridedSliceTransformation} +.. {#../../../low-precision-transformations_StridedSliceTransformation} StridedSliceTransformation transformation ========================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/transpose.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/transpose.rst index 27ee6cb08b9..06c1ff747ef 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/transpose.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/transpose.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_TransposeTransformation} +.. {#../../../low-precision-transformations_TransposeTransformation} TransposeTransformation transformation ====================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/variadic-split.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/variadic-split.rst index 3b5ae546f81..4da54be6b21 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/variadic-split.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/movement/variadic-split.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_VariadicSplitTransformation} +.. {#../../../low-precision-transformations_VariadicSplitTransformation} VariadicSplitTransformation transformation ========================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/normalization/mvn.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/normalization/mvn.rst index af7446c963b..8937b58476e 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/normalization/mvn.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/normalization/mvn.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MVNTransformation} +.. {#../../../low-precision-transformations_MVNTransformation} MVNTransformation transformation ================================ diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/normalization/normalize-l2.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/normalization/normalize-l2.rst index 2f7bb1d7364..ffd5583dbbf 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/normalization/normalize-l2.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/normalization/normalize-l2.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_NormalizeL2Transformation} +.. {#../../../low-precision-transformations_NormalizeL2Transformation} NormalizeL2Transformation transformation ======================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/pooling/avg-pool.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/pooling/avg-pool.rst index dda0f0e2b15..1552f0c06ee 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/pooling/avg-pool.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/pooling/avg-pool.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_AvgPoolTransformation} +.. {#../../../low-precision-transformations_AvgPoolTransformation} AvgPoolTransformation transformation ==================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/pooling/max-pool.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/pooling/max-pool.rst index a359d33559e..c5ba49eb69b 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/pooling/max-pool.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/pooling/max-pool.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MaxPoolTransformation} +.. {#../../../low-precision-transformations_MaxPoolTransformation} MaxPoolTransformation transformation ==================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/quantization/fake-quantize.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/quantization/fake-quantize.rst index c2dcb748130..abe65b16b8d 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/quantization/fake-quantize.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/quantization/fake-quantize.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_FakeQuantizeTransformation} +.. {#../../../low-precision-transformations_FakeQuantizeTransformation} FakeQuantizeTransformation transformation ========================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/quantization/fold-fake-quantize.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/quantization/fold-fake-quantize.rst index ff5a00575c6..76240894f0b 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/quantization/fold-fake-quantize.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/quantization/fold-fake-quantize.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_FoldFakeQuantizeTransformation} +.. {#../../../low-precision-transformations_FoldFakeQuantizeTransformation} FoldFakeQuantizeTransformation transformation ============================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-max.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-max.rst index 74fc04a7df7..c83116204ef 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-max.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-max.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ReduceMaxTransformation} +.. {#../../../low-precision-transformations_ReduceMaxTransformation} ReduceMaxTransformation transformation ====================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-mean.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-mean.rst index bbd53b70410..4003884de34 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-mean.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-mean.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ReduceMeanTransformation} +.. {#../../../low-precision-transformations_ReduceMeanTransformation} ReduceMeanTransformation transformation ======================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-min.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-min.rst index a19941e1d4b..33fc81f1f9b 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-min.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-min.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ReduceMinTransformation} +.. {#../../../low-precision-transformations_ReduceMinTransformation} ReduceMinTransformation transformation ====================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-sum.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-sum.rst index 599580bc7a7..6bb441e4f68 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-sum.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/reduction/reduce-sum.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ReduceSumTransformation} +.. {#../../../low-precision-transformations_ReduceSumTransformation} ReduceSumTransformation transformation ====================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/batch-to-space.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/batch-to-space.rst index c8297437c8d..9ba54682436 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/batch-to-space.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/batch-to-space.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_BatchToSpaceTransformation} +.. {#../../../low-precision-transformations_BatchToSpaceTransformation} BatchToSpaceTransformation transformation ========================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/reshape.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/reshape.rst index 333cd730be8..d84456c7416 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/reshape.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/reshape.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_ReshapeTransformation} +.. {#../../../low-precision-transformations_ReshapeTransformation} ReshapeTransformation transformation ==================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/space-to-batch.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/space-to-batch.rst index d37ae49ed8d..56f178888b8 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/space-to-batch.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/space-to-batch.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_SpaceToBatchTransformation} +.. {#../../../low-precision-transformations_SpaceToBatchTransformation} SpaceToBatchTransformation transformation ========================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/squeeze.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/squeeze.rst index b0c05d513fd..3d106d5a7d9 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/squeeze.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/squeeze.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_SqueezeTransformation} +.. {#../../../low-precision-transformations_SqueezeTransformation} SqueezeTransformation transformation ==================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/unsqueeze.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/unsqueeze.rst index 80432d7460a..89b138fb631 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/unsqueeze.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step3-main/shape/unsqueeze.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_UnsqueezeTransformation} +.. {#../../../low-precision-transformations_UnsqueezeTransformation} UnsqueezeTransformation transformation ====================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup.rst index 24880d05126..38a6924f25a 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_step4_cleanup} +.. {#../low-precision-transformations_step4_cleanup} Step 4. Cleanup Transformations =============================== @@ -12,20 +12,20 @@ Step 4. Cleanup Transformations :maxdepth: 1 :hidden: - EliminateFakeQuantizeTransformation - FoldConvertTransformation - FoldFakeQuantizeTransformation - FuseConvertTransformation - FuseMultiplyToFakeQuantizeTransformation - FuseSubtractToFakeQuantizeTransformation - MultiplyToGroupConvolutionTransformation + EliminateFakeQuantizeTransformation + FoldConvertTransformation + FoldFakeQuantizeTransformation + FuseConvertTransformation + FuseMultiplyToFakeQuantizeTransformation + FuseSubtractToFakeQuantizeTransformation + MultiplyToGroupConvolutionTransformation -* :doc:`EliminateFakeQuantizeTransformation ` -* :doc:`FoldConvertTransformation ` -* :doc:`FoldFakeQuantizeTransformation ` -* :doc:`FuseConvertTransformation ` -* :doc:`FuseMultiplyToFakeQuantizeTransformation ` -* :doc:`FuseSubtractToFakeQuantizeTransformation ` -* :doc:`MultiplyToGroupConvolutionTransformation ` +* :doc:`EliminateFakeQuantizeTransformation ` +* :doc:`FoldConvertTransformation ` +* :doc:`FoldFakeQuantizeTransformation ` +* :doc:`FuseConvertTransformation ` +* :doc:`FuseMultiplyToFakeQuantizeTransformation ` +* :doc:`FuseSubtractToFakeQuantizeTransformation ` +* :doc:`MultiplyToGroupConvolutionTransformation ` diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/eliminate-fake-quantize.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/eliminate-fake-quantize.rst index 35dc2b0b09e..4b16ea543aa 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/eliminate-fake-quantize.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/eliminate-fake-quantize.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_EliminateFakeQuantizeTransformation} +.. {#../../low-precision-transformations_EliminateFakeQuantizeTransformation} EliminateFakeQuantizeTransformation transformation ================================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fake-quantize-decomposition.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fake-quantize-decomposition.rst index 5c877d3e52a..587e9e19ba3 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fake-quantize-decomposition.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fake-quantize-decomposition.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_FakeQuantizeDecompositionTransformation} +.. {#../../low-precision-transformations_FakeQuantizeDecompositionTransformation} FakeQuantizeDecompositionTransformation transformation ====================================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fold-convert.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fold-convert.rst index eb1e3c01cdd..ffdf24b6627 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fold-convert.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fold-convert.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_FoldConvertTransformation} +.. {#../../low-precision-transformations_FoldConvertTransformation} FoldConvertTransformation transformation ======================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-convert.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-convert.rst index 77852d0f9e7..64d5d5a4d0b 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-convert.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-convert.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_FuseConvertTransformation} +.. {#../../low-precision-transformations_FuseConvertTransformation} FuseConvertTransformation transformation ======================================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-multiply-to-fake-quantize.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-multiply-to-fake-quantize.rst index ece05051553..1faa16cf3a1 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-multiply-to-fake-quantize.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-multiply-to-fake-quantize.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_FuseMultiplyToFakeQuantizeTransformation} +.. {#../../low-precision-transformations_FuseMultiplyToFakeQuantizeTransformation} FuseMultiplyToFakeQuantizeTransformation transformation ======================================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-subtract-to-fake-quantize.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-subtract-to-fake-quantize.rst index 2fced1992f5..f5864a961ec 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-subtract-to-fake-quantize.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/fuse-subtract-to-fake-quantize.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_FuseSubtractToFakeQuantizeTransformation} +.. {#../../low-precision-transformations_FuseSubtractToFakeQuantizeTransformation} FuseSubtractToFakeQuantizeTransformation transformation ======================================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/multiply-to-group-convolution.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/multiply-to-group-convolution.rst index a9a3b23048d..e94ac1052c7 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/multiply-to-group-convolution.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/low-precision-transformations/step4-cleanup/multiply-to-group-convolution.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_lpt_MultiplyToGroupConvolutionTransformation} +.. {#../../low-precision-transformations_MultiplyToGroupConvolutionTransformation} MultiplyToGroupConvolutionTransformation transformation ======================================================= diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/quantized-models.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/quantized-models.rst index 277151b16b3..9489ec6b84c 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/quantized-models.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/quantized-models.rst @@ -7,7 +7,7 @@ Quantized models compute and restrictions :maxdepth: 1 :hidden: - openvino_docs_ie_plugin_dg_lp_representation + quantized-models/low-precision-model-representation .. meta:: :description: Learn about the support for quantized models with different @@ -17,7 +17,7 @@ Quantized models compute and restrictions One of the feature of OpenVINO is the support of quantized models with different precisions: INT8, INT4, etc. However, it is up to the plugin to define what exact precisions are supported by the particular HW. All quantized models which can be expressed in IR have a unified representation by means of *FakeQuantize* operation. -For more details about low-precision model representation please refer to this :doc:`document `. +For more details about low-precision model representation please refer to this :doc:`document `. Interpreting FakeQuantize at runtime #################################### @@ -33,7 +33,7 @@ The former one is aimed to transform the input data into the target precision wh In practice *Dequantize* operations can be propagated forward through the linear operations, such as *Convolution* or *Fully-Connected*, and in some cases fused with the following *Quantize* operation for the next layer into the so-called *Requantize* operation (see Fig. 1). -.. image:: _static/images/qdq_propagation.png +.. image:: ../../../../_static/images/qdq_propagation.png Figure 1. Quantization operations propagation at runtime. Q, DQ, RQ stand for Quantize, Dequantize, and Requantize correspondingly. diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/quantized-models/low-precision-model-representation.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/quantized-models/low-precision-model-representation.rst index 58a93df4b27..10b2a3f4af1 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/quantized-models/low-precision-model-representation.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/advanced-guides/quantized-models/low-precision-model-representation.rst @@ -16,7 +16,7 @@ Representation of quantized models ################################### The OpenVINO Toolkit represents all the quantized models using the so-called FakeQuantize operation (see the description in -:doc:`this document `). This operation is very expressive and allows mapping values from +:doc:`this document <../../../../openvino-ir-format/operation-sets/operations-specifications/quantization/fake-quantize-1>`). This operation is very expressive and allows mapping values from arbitrary input and output ranges. The whole idea behind that is quite simple: we project (discretize) the input values to the low-precision data type using affine transformation (with clamp and rounding) and then reproject discrete values back to the original range and data type. It can be considered as an emulation of the quantization process which happens at runtime. @@ -24,7 +24,7 @@ In order to be able to execute a particular DL operation in low-precision all it between operation and data blobs. The figure below shows an example of quantized Convolution which contains two FakeQuantize nodes: one for weights and one for activations (bias is quantized using the same parameters). -.. image:: _static/images/IE_PLUGIN_DG/images/quantized_convolution.png +.. image:: ../../../../../_static/images/IE_PLUGIN_DG/images/quantized_convolution.png Starting from OpenVINO 2020.2 release all the quantized models are represented in the compressed form. It means that the weights @@ -32,4 +32,4 @@ of low-precision operations are converted into the target precision (e.g. INT8). The rest of the parameters can be represented in FLOAT32 or FLOAT16 precision depending on the input full-precision model used in the quantization process. Fig. 2 below shows an example of the part of the compressed IR. -.. image:: _static/images/IE_PLUGIN_DG/images/quantized_model_example.png +.. image:: ../../../../../_static/images/IE_PLUGIN_DG/images/quantized_model_example.png diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/build-plugin-using-cmake.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/build-plugin-using-cmake.rst index 803d4f1e2ea..d6e85365eb9 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/build-plugin-using-cmake.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/build-plugin-using-cmake.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ov_plugin_dg_plugin_build} +.. {#plugin_build} Build Plugin Using CMake ======================== diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/compiled-model.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/compiled-model.rst index bafc0d851c2..87dd2a3a4e2 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/compiled-model.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/compiled-model.rst @@ -12,7 +12,7 @@ ov::CompiledModel class functionality: * Compile an ov::Model instance to a backend specific graph representation * Create an arbitrary number of ov::InferRequest objects -* Hold some common resources shared between different instances of ov::InferRequest. For example: +* Hold some common ../../../about-openvino/additional-resources shared between different instances of ov::InferRequest. For example: * ov::ICompiledModel::m_task_executor task executor to implement asynchronous execution * ov::ICompiledModel::m_callback_executor task executor to run an asynchronous inference request callback in a separate thread @@ -51,7 +51,7 @@ The implementation ``compile_model()`` is fully device-specific. compile_model() +++++++++++++++ -The function accepts a const shared pointer to ``ov::Model`` object and applies OpenVINO passes using ``transform_model()`` function, which defines plugin-specific conversion pipeline. To support low precision inference, the pipeline can include Low Precision Transformations. These transformations are usually hardware specific. You can find how to use and configure Low Precisions Transformations in :doc:`Low Precision Transformations ` guide. +The function accepts a const shared pointer to ``ov::Model`` object and applies OpenVINO passes using ``transform_model()`` function, which defines plugin-specific conversion pipeline. To support low precision inference, the pipeline can include Low Precision Transformations. These transformations are usually hardware specific. You can find how to use and configure Low Precisions Transformations in :doc:`Low Precision Transformations ` guide. .. doxygensnippet:: src/plugins/template/src/compiled_model.cpp :language: cpp @@ -82,9 +82,9 @@ The method creates an synchronous inference request and returns it. While the public OpenVINO API has a single interface for inference request, which can be executed in synchronous and asynchronous modes, a plugin library implementation has two separate classes: -* :doc:`Synchronous inference request `, which defines pipeline stages and runs them synchronously in the ``infer`` method. +* :doc:`Synchronous inference request `, which defines pipeline stages and runs them synchronously in the ``infer`` method. -* :doc:`Asynchronous inference request `, which is a wrapper for a synchronous inference request and can run a pipeline asynchronously. Depending on a device pipeline structure, it can have one or several stages: +* :doc:`Asynchronous inference request `, which is a wrapper for a synchronous inference request and can run a pipeline asynchronously. Depending on a device pipeline structure, it can have one or several stages: * For single-stage pipelines, there is no need to define this method and create a class derived from ov::IAsyncInferRequest. For single stage pipelines, a default implementation of this method creates ov::IAsyncInferRequest wrapping a synchronous inference request and runs it asynchronously in the ``m_request_executor`` executor. * For pipelines with multiple stages, such as performing some preprocessing on host, uploading input data to a device, running inference on a device, or downloading and postprocessing output data, schedule stages on several task executors to achieve better device use and performance. You can do it by creating a sufficient number of inference requests running in parallel. In this case, device stages of different inference requests are overlapped with preprocessing and postprocessing stage giving better performance. @@ -132,5 +132,5 @@ The methods returns the runtime model with backend specific information. :language: cpp :fragment: [compiled_model:get_runtime_model] -The next step in plugin library implementation is the :doc:`Synchronous Inference Request ` class. +The next step in plugin library implementation is the :doc:`Synchronous Inference Request ` class. diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/plugin-testing.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/plugin-testing.rst index b25a30430ad..3705f0e4a28 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/plugin-testing.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/plugin-testing.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ov_plugin_dg_plugin_testing} +.. {#plugin_testing} Plugin Testing ============== @@ -13,7 +13,7 @@ OpenVINO tests infrastructure provides a predefined set of functional tests and All the tests are written in the `Google Test C++ framework `__. OpenVINO Plugin tests are included in the ``openvino::funcSharedTests`` CMake target which is built within the OpenVINO repository -(see :doc:`Build Plugin Using CMake ` guide). This library contains tests definitions (the tests bodies) which can be parametrized and instantiated in plugins depending on whether a plugin supports a particular feature, specific sets of parameters for test on supported operation set and so on. +(see :doc:`Build Plugin Using CMake ` guide). This library contains tests definitions (the tests bodies) which can be parametrized and instantiated in plugins depending on whether a plugin supports a particular feature, specific sets of parameters for test on supported operation set and so on. Test definitions are split into tests class declaration (see ``src/tests/functional/plugin/shared/include``) and tests class implementation (see ``src/tests/functional/plugin/shared/src``) and include the following scopes of plugin conformance tests: @@ -58,7 +58,7 @@ To use these tests for your own plugin development, link the ``openvino::funcSha A plugin may contain its own tests for use cases that are specific to hardware or need to be extensively tested. -To build test binaries together with other build artifacts, use the ``make all`` command. For details, see :doc:`Build Plugin Using CMake `. +To build test binaries together with other build artifacts, use the ``make all`` command. For details, see :doc:`Build Plugin Using CMake `. How to Extend OpenVINO Plugin Tests +++++++++++++++++++++++++++++++++++ diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/plugin.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/plugin.rst index c6752a00537..dbff43c5576 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/plugin.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/plugin.rst @@ -19,7 +19,7 @@ The responsibility of OpenVINO Plugin: * Initializes a backend and throw exception in ``Engine`` constructor if backend cannot be initialized. * Provides information about devices enabled by a particular backend, e.g. how many devices, their properties and so on. -* Loads or imports :doc:`compiled model ` objects. +* Loads or imports :doc:`compiled model ` objects. In addition to the OpenVINO Public API, the OpenVINO provides the Plugin API, which is a set of functions and helper classes that simplify new plugin development: @@ -27,7 +27,7 @@ In addition to the OpenVINO Public API, the OpenVINO provides the Plugin API, wh * implementations in the ``src/inference/src/dev/`` directory * symbols in the OpenVINO shared library -To build an OpenVINO plugin with the Plugin API, see the :doc:`OpenVINO Plugin Building ` guide. +To build an OpenVINO plugin with the Plugin API, see the :doc:`OpenVINO Plugin Building ` guide. Plugin Class ############ @@ -56,7 +56,7 @@ The provided plugin class also has several fields: As an example, a plugin configuration has three value parameters: * ``device_id`` - particular device ID to work with. Applicable if a plugin supports more than one ``Template`` device. In this case, some plugin methods, like ``set_property``, ``query_model``, and ``compile_model``, must support the ov::device::id property. -* ``perf_counts`` - boolean value to identify whether to collect performance counters during :doc:`Inference Request ` execution. +* ``perf_counts`` - boolean value to identify whether to collect performance counters during :doc:`Inference Request ` execution. * ``streams_executor_config`` - configuration of ``ov::threading::IStreamsExecutor`` to handle settings of multi-threaded context. * ``performance_mode`` - configuration of ``ov::hint::PerformanceMode`` to set the performance mode. * ``disable_transformations`` - allows to disable transformations which are applied in the process of model compilation. @@ -80,7 +80,7 @@ A plugin must define a device name enabled via the ``set_device_name()`` method Plugin Destructor +++++++++++++++++ -A plugin destructor must stop all plugins activities, and clean all allocated resources. +A plugin destructor must stop all plugins activities, and clean all allocated ../../../about-openvino/additional-resources. .. doxygensnippet:: src/plugins/template/src/plugin.cpp @@ -106,7 +106,7 @@ which holds a backend-dependent compiled model in an internal representation: Before a creation of an ``CompiledModel`` instance via a constructor, a plugin may check if a provided ov::Model object is supported by a device if it is needed. -Actual model compilation is done in the ``CompiledModel`` constructor. Refer to the :doc:`CompiledModel Implementation Guide ` for details. +Actual model compilation is done in the ``CompiledModel`` constructor. Refer to the :doc:`CompiledModel Implementation Guide ` for details. .. note:: @@ -115,10 +115,10 @@ Actual model compilation is done in the ``CompiledModel`` constructor. Refer to transform_model() +++++++++++++++++ -The function accepts a const shared pointer to `ov::Model` object and applies common and device-specific transformations on a copied model to make it more friendly to hardware operations. For details how to write custom device-specific transformation, refer to :doc:`Writing OpenVINO™ transformations ` guide. See detailed topics about model representation: +The function accepts a const shared pointer to `ov::Model` object and applies common and device-specific transformations on a copied model to make it more friendly to hardware operations. For details how to write custom device-specific transformation, refer to :doc:`Writing OpenVINO™ transformations <../transformations-api>` guide. See detailed topics about model representation: -* :doc:`Intermediate Representation and Operation Sets ` -* :doc:`Quantized models `. +* :doc:`Intermediate Representation and Operation Sets <../../openvino-ir-format/operation-sets>` +* :doc:`Quantized models `. .. doxygensnippet:: src/plugins/template/src/plugin.cpp @@ -182,7 +182,7 @@ import_model() ++++++++++++++ The importing of compiled model mechanism allows to import a previously exported backend specific model and wrap it -using an :doc:`CompiledModel ` object. This functionality is useful if +using an :doc:`CompiledModel ` object. This functionality is useful if backend specific model compilation takes significant time and/or cannot be done on a target host device due to other reasons. @@ -232,5 +232,5 @@ OpenVINO plugin library must export only one function creating a plugin instance :fragment: [plugin:create_plugin_engine] -Next step in a plugin library implementation is the :doc:`CompiledModel ` class. +Next step in a plugin library implementation is the :doc:`CompiledModel ` class. diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/remote-context.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/remote-context.rst index 8e921176b08..8eac2382557 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/remote-context.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/remote-context.rst @@ -71,6 +71,6 @@ The method creates device specific remote tensor. :language: cpp :fragment: [remote_context:create_tensor] -The next step to support device specific tensors is a creation of device specific :doc:`Remote Tensor ` class. +The next step to support device specific tensors is a creation of device specific :doc:`Remote Tensor ` class. diff --git a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/synch-inference-request.rst b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/synch-inference-request.rst index 090aa546ee2..968db94931b 100644 --- a/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/synch-inference-request.rst +++ b/docs/articles_en/documentation/openvino-extensibility/openvino-plugin-library/synch-inference-request.rst @@ -11,7 +11,7 @@ Synchronous Inference Request ``InferRequest`` class functionality: * Allocate input and output tensors needed for a backend-dependent network inference. -* Define functions for inference process stages (for example, ``preprocess``, ``upload``, ``infer``, ``download``, ``postprocess``). These functions can later be used to define an execution pipeline during :doc:`Asynchronous Inference Request ` implementation. +* Define functions for inference process stages (for example, ``preprocess``, ``upload``, ``infer``, ``download``, ``postprocess``). These functions can later be used to define an execution pipeline during :doc:`Asynchronous Inference Request ` implementation. * Call inference stages one by one synchronously. InferRequest Class @@ -146,5 +146,5 @@ The plugin specific method allows to interrupt the synchronous execution from th :fragment: [infer_request:cancel] -The next step in the plugin library implementation is the :doc:`Asynchronous Inference Request ` class. +The next step in the plugin library implementation is the :doc:`Asynchronous Inference Request ` class. diff --git a/docs/articles_en/documentation/openvino-extensibility/transformations-api.rst b/docs/articles_en/documentation/openvino-extensibility/transformations-api.rst index 32046966686..f4d333f6b98 100644 --- a/docs/articles_en/documentation/openvino-extensibility/transformations-api.rst +++ b/docs/articles_en/documentation/openvino-extensibility/transformations-api.rst @@ -13,9 +13,9 @@ Overview of Transformations API :maxdepth: 1 :hidden: - openvino_docs_Extensibility_UG_model_pass - openvino_docs_Extensibility_UG_matcher_pass - openvino_docs_Extensibility_UG_graph_rewrite_pass + transformations-api/model-pass + transformations-api/matcher-pass + transformations-api/graph-rewrite-pass OpenVINO Transformation mechanism allows to develop transformation passes to modify ``ov::Model``. You can use this mechanism to apply additional optimizations to the original Model or transform unsupported subgraphs and operations to new operations which are supported by the plugin. This guide contains all necessary information that you need to start implementing OpenVINO™ transformations. @@ -24,7 +24,7 @@ Working with Model ################## Before the moving to transformation part it is needed to say several words about functions which allow to modify ``ov::Model``. -This chapter extends the :doc:`model representation guide ` and shows an API that allows us to manipulate with ``ov::Model``. +This chapter extends the :doc:`model representation guide <../../openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation>` and shows an API that allows us to manipulate with ``ov::Model``. Working with node input and output ports ++++++++++++++++++++++++++++++++++++++++ @@ -49,7 +49,7 @@ Let's start with OpenVINO™ helper functions. The most popular function is ``ov We will review real replacement case where Negative operation is replaced with Multiply. -.. image:: ./_static/images/ov_replace_node.png +.. image:: ./../../_static/images/ov_replace_node.png .. doxygensnippet:: docs/snippets/ov_model_snippets.cpp :language: cpp @@ -65,7 +65,7 @@ The alternative way to do the same replacement is the following: Another transformation example is insertion. -.. image:: ./_static/images/ov_insert_node.png +.. image:: ./../../_static/images/ov_insert_node.png .. doxygensnippet:: docs/snippets/ov_model_snippets.cpp :language: cpp @@ -97,11 +97,11 @@ Transformations types OpenVINO™ Runtime has three main transformation types: -* :doc:`Model pass ` - straightforward way to work with ``ov::Model`` directly -* :doc:`Matcher pass ` - pattern-based transformation approach -* :doc:`Graph rewrite pass ` - container for matcher passes needed for efficient execution +* :doc:`Model pass ` - straightforward way to work with ``ov::Model`` directly +* :doc:`Matcher pass ` - pattern-based transformation approach +* :doc:`Graph rewrite pass ` - container for matcher passes needed for efficient execution -.. image:: ./_static/images/transformations_structure.png +.. image:: ./../../_static/images/transformations_structure.png Transformation conditional compilation ###################################### @@ -218,6 +218,6 @@ If you are using ``ov::pass::Manager`` to run sequence of transformations, you c See Also ######## -* :doc:`OpenVINO™ Model Representation ` -* :doc:`OpenVINO™ Extensions ` +* :doc:`OpenVINO™ Model Representation <../../openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation>` +* :doc:`OpenVINO™ Extensions <../openvino-extensibility>` diff --git a/docs/articles_en/documentation/openvino-extensibility/transformations-api/graph-rewrite-pass.rst b/docs/articles_en/documentation/openvino-extensibility/transformations-api/graph-rewrite-pass.rst index d3f84abadbf..aaf7cb2d92f 100644 --- a/docs/articles_en/documentation/openvino-extensibility/transformations-api/graph-rewrite-pass.rst +++ b/docs/articles_en/documentation/openvino-extensibility/transformations-api/graph-rewrite-pass.rst @@ -24,12 +24,12 @@ In addition, GraphRewrite handles nodes that were registered by MatcherPasses du GraphRewrite has two algorithms for MatcherPasses execution. First algorithm is straightforward. It applies each MatcherPass in registration order to current node. -.. image:: ./_static/images/graph_rewrite_execution.png +.. image:: ./../../../_static/images/graph_rewrite_execution.png But it is not really efficient when you have a lot of registered passes. So first of all GraphRewrite checks that all MatcherPass patterns has type-based root node (it means that type of this node is not hidden into predicate). And then creates map from registered MatcherPasses. That helps to avoid additional cost of applying each MatcherPass for each node. -.. image:: ./_static/images/graph_rewrite_efficient_search.png +.. image:: ./../../../_static/images/graph_rewrite_efficient_search.png .. note:: @@ -38,6 +38,6 @@ And then creates map from registered MatcherPasses. That helps to avoid addition See Also ######## -* :doc:`OpenVINO™ Transformations ` +* :doc:`OpenVINO™ Transformations <../transformations-api>` diff --git a/docs/articles_en/documentation/openvino-extensibility/transformations-api/matcher-pass.rst b/docs/articles_en/documentation/openvino-extensibility/transformations-api/matcher-pass.rst index 1943a5e5635..42520ee0fed 100644 --- a/docs/articles_en/documentation/openvino-extensibility/transformations-api/matcher-pass.rst +++ b/docs/articles_en/documentation/openvino-extensibility/transformations-api/matcher-pass.rst @@ -160,5 +160,5 @@ This example shows how to use predicate to construct a pattern. Also it shows ho See Also ######## -* :doc:`OpenVINO™ Transformations ` +* :doc:`OpenVINO™ Transformations <../transformations-api>` diff --git a/docs/articles_en/documentation/openvino-extensibility/transformations-api/model-pass.rst b/docs/articles_en/documentation/openvino-extensibility/transformations-api/model-pass.rst index eb09d298693..79e558e0b0d 100644 --- a/docs/articles_en/documentation/openvino-extensibility/transformations-api/model-pass.rst +++ b/docs/articles_en/documentation/openvino-extensibility/transformations-api/model-pass.rst @@ -28,5 +28,5 @@ Also ``ov::pass::ModelPass`` based transformations can be executed via ``ov::pas See Also ######## -* :doc:`OpenVINO™ Transformations ` +* :doc:`OpenVINO™ Transformations <../transformations-api>` diff --git a/docs/articles_en/documentation/openvino-ir-format.rst b/docs/articles_en/documentation/openvino-ir-format.rst index 94a11b06e89..47d366fe55f 100644 --- a/docs/articles_en/documentation/openvino-ir-format.rst +++ b/docs/articles_en/documentation/openvino-ir-format.rst @@ -13,16 +13,16 @@ OpenVINO IR format :maxdepth: 1 :hidden: - openvino_docs_MO_DG_IR_and_opsets - openvino_docs_ops_opset - openvino_docs_operations_specifications - openvino_docs_ops_broadcast_rules - openvino_docs_MO_DG_prepare_model_convert_model_IR_suitable_for_INT8_inference + openvino-ir-format/operation-sets + openvino-ir-format/operation-sets/available-opsets + openvino-ir-format/operation-sets/operations-specifications + openvino-ir-format/operation-sets/broadcast-rules + openvino-ir-format/intermediate-representation-int8-inference OpenVINO IR is the proprietary model format of OpenVINO, benefiting from the full extent of its features. It is obtained by converting a model from one of the -:doc:`supported formats ` +:doc:`supported formats <../openvino-workflow/model-preparation>` using the model conversion API or OpenVINO Converter. The process translates common deep learning operations of the original network to their counterpart representations in OpenVINO and tunes them with the associated weights and biases. @@ -31,7 +31,7 @@ The resulting OpenVINO IR format contains two files: * ``.xml`` - Describes the model topology. * ``.bin`` - Contains the weights and binary data. -:doc:`See why converting to OpenVINO IR is recommended ` +:doc:`See why converting to OpenVINO IR is recommended <../openvino-workflow/model-preparation/convert-model-to-ir>` IR Structure @@ -161,5 +161,5 @@ The IR does not use explicit data nodes described in the previous section. In co Additional Resources #################### -* :doc:`IR and Operation Sets ` +* :doc:`IR and Operation Sets ` diff --git a/docs/articles_en/documentation/openvino-ir-format/intermediate-representation-int8-inference.rst b/docs/articles_en/documentation/openvino-ir-format/intermediate-representation-int8-inference.rst index 8a4f685b1cd..72206086dab 100644 --- a/docs/articles_en/documentation/openvino-ir-format/intermediate-representation-int8-inference.rst +++ b/docs/articles_en/documentation/openvino-ir-format/intermediate-representation-int8-inference.rst @@ -13,22 +13,22 @@ Introduction ############ OpenVINO Runtime CPU and GPU devices can infer models in low precision. -For more details, refer to the :doc:`Model Optimization Guide `. +For more details, refer to the :doc:`Model Optimization Guide <../../openvino-workflow/model-optimization>`. Intermediate Representation should be specifically formed to be suitable for low precision inference. Such a model is called a Low Precision IR and can be generated in two ways: -* By :doc:`quantizing regular IR with the Neural Network Compression Framework (NNCF) ` +* By :doc:`quantizing regular IR with the Neural Network Compression Framework (NNCF) <../../openvino-workflow/model-optimization>` * Using model conversion of a model pre-trained for Low Precision inference: TensorFlow models (``.pb`` model file with ``FakeQuantize`` operations), quantized TensorFlow Lite models and ONNX quantized models. TensorFlow and ONNX quantized models can be prepared by `Neural Network Compression Framework `__. For an operation to be executed in INT8, it must have `FakeQuantize` operations as inputs. -For more details, see the :doc:`specification of FakeQuantize operation `. +For more details, see the :doc:`specification of FakeQuantize operation `. To execute the ``Convolution`` operation in INT8 on CPU, both data and weight inputs should have ``FakeQuantize`` as an input operation: -.. image:: _static/images/expanded_int8_Convolution_weights.png +.. image:: ../../_static/images/expanded_int8_Convolution_weights.png Low precision IR is also suitable for FP32 and FP16 inference if a chosen plugin supports all operations of the IR. The only difference between a Low Precision IR and FP16 or FP32 IR is the existence of ``FakeQuantize`` in the Low Precision IR. @@ -48,7 +48,7 @@ Weights compression replaces ``FakeQuantize`` with optional ``Subtract`` and ``M See the visualization of `Convolution` with the compressed weights: -.. image:: _static/images/compressed_int8_Convolution_weights.png +.. image:: ../../_static/images/compressed_int8_Convolution_weights.png Model conversion API generates a compressed IR by default. diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets.rst index a262803bcc8..f5bf514ec71 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets.rst @@ -20,10 +20,10 @@ Input data can be in the form of images, video, text, audio, or preprocessed inf Here is an illustration of a small graph representing a model that consists of a single Convolutional layer and activation function: -.. image:: _static/images/small_IR_graph_demonstration.png +.. image:: ../../_static/images/small_IR_graph_demonstration.png Vertices in the graph represent layers or operation instances such as convolution, pooling, and element-wise operations with tensors. -The terms of "layer" and "operation" are used interchangeably within OpenVINO documentation and define how the input data is processed to produce output data for a node in a graph. +The terms of "layer" and "operation" are used interchangeably within OpenVINO ../../documentation and define how the input data is processed to produce output data for a node in a graph. An operation node in a graph may consume data at one or multiple input ports. For example, an element-wise addition operation has two input ports that accept tensors to be summed. Some operations do not have any input ports, for example the ``Const`` operation which produces without any input. @@ -59,19 +59,19 @@ A set consists of several groups of operations: * Specialized operations that implement complex algorithms dedicated for models of specific type, for example, ``DetectionOutput``, ``RegionYolo``, ``PriorBox``. -For more information, refer to the complete description of the supported operation sets in the :doc:`Available Operation Sets ` article. +For more information, refer to the complete description of the supported operation sets in the :doc:`Available Operation Sets ` article. How to Read Opset Specification ############################### -In the :doc:`Available Operation Sets ` there are opsets and there are operations. +In the :doc:`Available Operation Sets ` there are opsets and there are operations. Each opset specification has a list of links to operations descriptions that are included into that specific opset. Two or more opsets may refer to the same operation. That means an operation is kept unchanged from one operation set to another. The description of each operation has a ``Versioned name`` field. -For example, the `ReLU` entry point in :doc:`opset1 ` refers to :doc:`ReLU-1 ` as the versioned name. -Meanwhile, `ReLU` in `opset2` refers to the same `ReLU-1` and both `ReLU` operations are the same operation and it has a single :doc:`description `, which means that ``opset1`` and ``opset2`` share the same operation ``ReLU``. +For example, the `ReLU` entry point in :doc:`opset1 ` refers to :doc:`ReLU-1 ` as the versioned name. +Meanwhile, `ReLU` in `opset2` refers to the same `ReLU-1` and both `ReLU` operations are the same operation and it has a single :doc:`description `, which means that ``opset1`` and ``opset2`` share the same operation ``ReLU``. To differentiate versions of the same operation type such as ``ReLU``, the ``-N`` suffix is used in a versioned name of the operation. The ``N`` suffix usually refers to the first occurrence of ``opsetN`` where this version of the operation is introduced. diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets.rst index 9762efce375..5024a255a04 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets.rst @@ -12,20 +12,20 @@ Available Operation Sets :maxdepth: 1 :hidden: - openvino_docs_ops_opset14 - openvino_docs_ops_opset13 - openvino_docs_ops_opset12 - openvino_docs_ops_opset11 - openvino_docs_ops_opset10 - openvino_docs_ops_opset9 - openvino_docs_ops_opset8 - openvino_docs_ops_opset7 - openvino_docs_ops_opset6 - openvino_docs_ops_opset5 - openvino_docs_ops_opset4 - openvino_docs_ops_opset3 - openvino_docs_ops_opset2 - openvino_docs_ops_opset1 + available-opsets/opset14 + available-opsets/opset13 + available-opsets/opset12 + available-opsets/opset11 + available-opsets/opset10 + available-opsets/opset9 + available-opsets/opset8 + available-opsets/opset7 + available-opsets/opset6 + available-opsets/opset5 + available-opsets/opset4 + available-opsets/opset3 + available-opsets/opset2 + available-opsets/opset1 According to capabilities of supported deep learning frameworks and hardware capabilities of a target inference device, all operations are combined into operation sets each fully supported in a specific version of OpenVINO™ toolkit. @@ -38,39 +38,39 @@ This topic provides a complete list of available sets of operations supported in * - OpenVINO™ Version - Actual Operations Set * - 2024.0 - - :doc:`opset14 ` + - :doc:`opset14 ` * - 2023.2 - - :doc:`opset13 ` + - :doc:`opset13 ` * - 2023.1 - - :doc:`opset12 ` + - :doc:`opset12 ` * - 2023.0 - - :doc:`opset11 ` + - :doc:`opset11 ` * - 2022.3 - - :doc:`opset10 ` + - :doc:`opset10 ` * - 2022.2 - - :doc:`opset9 ` + - :doc:`opset9 ` * - 2022.1 - - :doc:`opset8 ` + - :doc:`opset8 ` * - 2021.4 - - :doc:`opset7 ` + - :doc:`opset7 ` * - 2021.3 - - :doc:`opset6 ` + - :doc:`opset6 ` * - 2021.2 - - :doc:`opset5 ` + - :doc:`opset5 ` * - 2021.1 - - :doc:`opset4 ` + - :doc:`opset4 ` * - 2020.4 - - :doc:`opset3 ` + - :doc:`opset3 ` * - 2020.3 - - :doc:`opset2 ` + - :doc:`opset2 ` * - 2020.2 - - :doc:`opset2 ` + - :doc:`opset2 ` * - 2020.1 - - :doc:`opset1 ` + - :doc:`opset1 ` See Also ######## -:doc:`Operation Sets in OpenVINO ` -:doc:`OpenVINO IR format ` +:doc:`Operation Sets in OpenVINO <../operation-sets>` +:doc:`OpenVINO IR format <../../openvino-ir-format>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset1.rst index b5fb3af129b..1c1b9d2a49e 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset1.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset1} +.. {#../available-opsets1} opset1 ====== @@ -19,111 +19,111 @@ declared in ``namespace opset1``. Table of Contents ################## -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Atan ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`CTCGreedyDecoder ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`Divide ` -* :doc:`Elu ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherTree ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`HardSigmoid ` -* :doc:`Interpolate ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mod ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`Range ` -* :doc:`ReLU ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`SoftMax ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-1>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-1>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-1>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-1>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-1>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-1>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-1>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/non-max-suppression-1>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-1>` +* :doc:`Proposal <../operations-specifications/detection/proposal-1>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`Range <../operations-specifications/generation/range-1>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-1>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-1>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset10.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset10.rst index 6c0cf1192bc..f534ca6c2b9 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset10.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset10.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset10} +.. {#../available-opsets10} opset10 ======= @@ -19,180 +19,180 @@ declared in ``namespace opset10``. Table of Contents ###################### -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`AdaptiveAvgPool ` -* :doc:`AdaptiveMaxPool ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`DFT ` -* :doc:`Divide ` -* :doc:`Einsum ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`Eye ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`GenerateProposals ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GridSample ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`IDFT ` -* :doc:`I420toBGR ` -* :doc:`I420toRGB ` -* :doc:`If ` -* :doc:`Interpolate ` -* :doc:`IRDFT ` -* :doc:`IsInf ` -* :doc:`IsNaN ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MatrixNMS ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`MulticlassNMS ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`NV12toBGR ` -* :doc:`NV12toRGB ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`RandomUniform ` -* :doc:`Range ` -* :doc:`RDFT ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Roll ` -* :doc:`Round ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`Slice ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SoftSign ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unique ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`AdaptiveAvgPool <../operations-specifications/pooling/adaptive-avg-pool-8>` +* :doc:`AdaptiveMaxPool <../operations-specifications/pooling/adaptive-max-pool-8>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-8>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-8>` +* :doc:`DFT <../operations-specifications/signals/dft-7>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Einsum <../operations-specifications/matrix/einsum-7>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`Eye <../operations-specifications/generation/eye-9>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-8>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND <../operations-specifications/movement/gather-nd-8>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-7>` +* :doc:`GenerateProposals <../operations-specifications/detection/generate-proposals-9>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GridSample <../operations-specifications/image/grid-sample-9>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`IDFT <../operations-specifications/signals/idft-7>` +* :doc:`I420toBGR <../operations-specifications/image/i420-to-bgr-8>` +* :doc:`I420toRGB <../operations-specifications/image/i420-to-rgb-8>` +* :doc:`If <../operations-specifications/condition/if-8>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-4>` +* :doc:`IRDFT <../operations-specifications/signals/irdft-9>` +* :doc:`IsInf <../operations-specifications/comparison/isinf-10>` +* :doc:`IsNaN <../operations-specifications/comparison/isnan-10>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MatrixNMS <../operations-specifications/sort/matrix-non-max-suppression-8>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-8>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`MulticlassNMS <../operations-specifications/sort/multiclass-non-max-suppression-9>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/no-max-suppression-5>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`NV12toBGR <../operations-specifications/image/nv12-to-bgr-8>` +* :doc:`NV12toRGB <../operations-specifications/image/nv12-to-rgb-8>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-8>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`RandomUniform <../operations-specifications/generation/random-uniform-8>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`RDFT <../operations-specifications/signals/rdft-9>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-9>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Roll <../operations-specifications/movement/roll-7>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`Slice <../operations-specifications/movement/slice-8>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-8>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SoftSign <../operations-specifications/activation/softsign-9>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-3>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unique <../operations-specifications/movement/unique-10>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset11.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset11.rst index 5e28c9f93fc..05f3938fbeb 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset11.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset11.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset11} +.. {#../available-opsets11} opset11 ======= @@ -19,180 +19,180 @@ declared in ``namespace opset11``. Table of Contents ################## -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`AdaptiveAvgPool ` -* :doc:`AdaptiveMaxPool ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`DFT ` -* :doc:`Divide ` -* :doc:`Einsum ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`Eye ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`GenerateProposals ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GridSample ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`IDFT ` -* :doc:`I420toBGR ` -* :doc:`I420toRGB ` -* :doc:`If ` -* :doc:`Interpolate ` -* :doc:`IRDFT ` -* :doc:`IsInf ` -* :doc:`IsNaN ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MatrixNMS ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`MulticlassNMS ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`NV12toBGR ` -* :doc:`NV12toRGB ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`RandomUniform ` -* :doc:`Range ` -* :doc:`RDFT ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Roll ` -* :doc:`Round ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`Slice ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SoftSign ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unique ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`AdaptiveAvgPool <../operations-specifications/pooling/adaptive-avg-pool-8>` +* :doc:`AdaptiveMaxPool <../operations-specifications/pooling/adaptive-max-pool-8>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-8>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-8>` +* :doc:`DFT <../operations-specifications/signals/dft-7>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Einsum <../operations-specifications/matrix/einsum-7>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`Eye <../operations-specifications/generation/eye-9>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-8>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND <../operations-specifications/movement/gather-nd-8>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-7>` +* :doc:`GenerateProposals <../operations-specifications/detection/generate-proposals-9>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GridSample <../operations-specifications/image/grid-sample-9>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`IDFT <../operations-specifications/signals/idft-7>` +* :doc:`I420toBGR <../operations-specifications/image/i420-to-bgr-8>` +* :doc:`I420toRGB <../operations-specifications/image/i420-to-rgb-8>` +* :doc:`If <../operations-specifications/condition/if-8>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-11>` +* :doc:`IRDFT <../operations-specifications/signals/irdft-9>` +* :doc:`IsInf <../operations-specifications/comparison/isinf-10>` +* :doc:`IsNaN <../operations-specifications/comparison/isnan-10>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MatrixNMS <../operations-specifications/sort/matrix-non-max-suppression-8>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-8>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`MulticlassNMS <../operations-specifications/sort/multiclass-non-max-suppression-9>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/no-max-suppression-5>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`NV12toBGR <../operations-specifications/image/nv12-to-bgr-8>` +* :doc:`NV12toRGB <../operations-specifications/image/nv12-to-rgb-8>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-8>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`RandomUniform <../operations-specifications/generation/random-uniform-8>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`RDFT <../operations-specifications/signals/rdft-9>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-9>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Roll <../operations-specifications/movement/roll-7>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`Slice <../operations-specifications/movement/slice-8>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-8>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SoftSign <../operations-specifications/activation/softsign-9>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-11>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unique <../operations-specifications/movement/unique-10>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset12.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset12.rst index 957307dd41c..adf733394c2 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset12.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset12.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset12} +.. {#../available-opsets12} opset12 ======= @@ -19,181 +19,181 @@ declared in ``namespace opset12``. Table of Contents ################## -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`AdaptiveAvgPool ` -* :doc:`AdaptiveMaxPool ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`DFT ` -* :doc:`Divide ` -* :doc:`Einsum ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`Eye ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`GenerateProposals ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GridSample ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GroupNormalization ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`IDFT ` -* :doc:`I420toBGR ` -* :doc:`I420toRGB ` -* :doc:`If ` -* :doc:`Interpolate ` -* :doc:`IRDFT ` -* :doc:`IsInf ` -* :doc:`IsNaN ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MatrixNMS ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`MulticlassNMS ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`NV12toBGR ` -* :doc:`NV12toRGB ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`RandomUniform ` -* :doc:`Range ` -* :doc:`RDFT ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Roll ` -* :doc:`Round ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`Slice ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SoftSign ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unique ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`AdaptiveAvgPool <../operations-specifications/pooling/adaptive-avg-pool-8>` +* :doc:`AdaptiveMaxPool <../operations-specifications/pooling/adaptive-max-pool-8>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-8>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-8>` +* :doc:`DFT <../operations-specifications/signals/dft-7>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Einsum <../operations-specifications/matrix/einsum-7>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`Eye <../operations-specifications/generation/eye-9>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-8>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND <../operations-specifications/movement/gather-nd-8>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-7>` +* :doc:`GenerateProposals <../operations-specifications/detection/generate-proposals-9>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GridSample <../operations-specifications/image/grid-sample-9>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GroupNormalization <../operations-specifications/normalization/group-normalization-12>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`IDFT <../operations-specifications/signals/idft-7>` +* :doc:`I420toBGR <../operations-specifications/image/i420-to-bgr-8>` +* :doc:`I420toRGB <../operations-specifications/image/i420-to-rgb-8>` +* :doc:`If <../operations-specifications/condition/if-8>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-11>` +* :doc:`IRDFT <../operations-specifications/signals/irdft-9>` +* :doc:`IsInf <../operations-specifications/comparison/isinf-10>` +* :doc:`IsNaN <../operations-specifications/comparison/isnan-10>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MatrixNMS <../operations-specifications/sort/matrix-non-max-suppression-8>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-8>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`MulticlassNMS <../operations-specifications/sort/multiclass-non-max-suppression-9>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/no-max-suppression-5>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`NV12toBGR <../operations-specifications/image/nv12-to-bgr-8>` +* :doc:`NV12toRGB <../operations-specifications/image/nv12-to-rgb-8>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-12>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-8>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`RandomUniform <../operations-specifications/generation/random-uniform-8>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`RDFT <../operations-specifications/signals/rdft-9>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-9>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Roll <../operations-specifications/movement/roll-7>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-12>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`Slice <../operations-specifications/movement/slice-8>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-8>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SoftSign <../operations-specifications/activation/softsign-9>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-11>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unique <../operations-specifications/movement/unique-10>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset13.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset13.rst index cd25c35b1c7..a96bb3d1a3b 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset13.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset13.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset13} +.. {#../available-opsets13} opset13 ======= @@ -19,189 +19,189 @@ declared in ``namespace opset13``. Table of Contents ################## -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`AdaptiveAvgPool ` -* :doc:`AdaptiveMaxPool ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`BitwiseAnd ` -* :doc:`BitwiseOr ` -* :doc:`BitwiseXor ` -* :doc:`BitwiseNot ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`DFT ` -* :doc:`Divide ` -* :doc:`Einsum ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`Eye ` -* :doc:`FakeConvert ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`GenerateProposals ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GridSample ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GroupNormalization ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`IDFT ` -* :doc:`I420toBGR ` -* :doc:`I420toRGB ` -* :doc:`If ` -* :doc:`Interpolate ` -* :doc:`IRDFT ` -* :doc:`IsInf ` -* :doc:`IsNaN ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MatrixNMS ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`MulticlassNMS ` -* :doc:`Multinomial ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NMSRotated ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`NV12toBGR ` -* :doc:`NV12toRGB ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`RandomUniform ` -* :doc:`Range ` -* :doc:`RDFT ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Roll ` -* :doc:`Round ` -* :doc:`ScaledDotProductAttention ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`Slice ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SoftSign ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unique ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`AdaptiveAvgPool <../operations-specifications/pooling/adaptive-avg-pool-8>` +* :doc:`AdaptiveMaxPool <../operations-specifications/pooling/adaptive-max-pool-8>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`BitwiseAnd <../operations-specifications/bitwise/bitwise-and-13>` +* :doc:`BitwiseOr <../operations-specifications/bitwise/bitwise-or-13>` +* :doc:`BitwiseXor <../operations-specifications/bitwise/bitwise-xor-13>` +* :doc:`BitwiseNot <../operations-specifications/bitwise/bitwise-not-13>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-8>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-8>` +* :doc:`DFT <../operations-specifications/signals/dft-7>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Einsum <../operations-specifications/matrix/einsum-7>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`Eye <../operations-specifications/generation/eye-9>` +* :doc:`FakeConvert <../operations-specifications/quantization/fake-convert-13>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-8>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND <../operations-specifications/movement/gather-nd-8>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-7>` +* :doc:`GenerateProposals <../operations-specifications/detection/generate-proposals-9>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GridSample <../operations-specifications/image/grid-sample-9>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GroupNormalization <../operations-specifications/normalization/group-normalization-12>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`IDFT <../operations-specifications/signals/idft-7>` +* :doc:`I420toBGR <../operations-specifications/image/i420-to-bgr-8>` +* :doc:`I420toRGB <../operations-specifications/image/i420-to-rgb-8>` +* :doc:`If <../operations-specifications/condition/if-8>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-11>` +* :doc:`IRDFT <../operations-specifications/signals/irdft-9>` +* :doc:`IsInf <../operations-specifications/comparison/isinf-10>` +* :doc:`IsNaN <../operations-specifications/comparison/isnan-10>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MatrixNMS <../operations-specifications/sort/matrix-non-max-suppression-8>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-8>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`MulticlassNMS <../operations-specifications/sort/multiclass-non-max-suppression-9>` +* :doc:`Multinomial <../operations-specifications/generation/multinomial-13>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NMSRotated <../operations-specifications/sort/nms-rotated-13>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/non-max-suppression-9>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`NV12toBGR <../operations-specifications/image/nv12-to-bgr-8>` +* :doc:`NV12toRGB <../operations-specifications/image/nv12-to-rgb-8>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-12>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-8>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`RandomUniform <../operations-specifications/generation/random-uniform-8>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`RDFT <../operations-specifications/signals/rdft-9>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-9>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Roll <../operations-specifications/movement/roll-7>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScaledDotProductAttention <../operations-specifications/sequence/scaled-dot-product-attention>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-12>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`Slice <../operations-specifications/movement/slice-8>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-8>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SoftSign <../operations-specifications/activation/softsign-9>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-11>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unique <../operations-specifications/movement/unique-10>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset14.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset14.rst index d3a7fdc1652..2ab74471049 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset14.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset14.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset14} +.. {#../available-opsets14} opset14 ======= @@ -19,190 +19,190 @@ declared in ``namespace opset14``. Table of Contents ################## -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`AdaptiveAvgPool ` -* :doc:`AdaptiveMaxPool ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`BitwiseAnd ` -* :doc:`BitwiseOr ` -* :doc:`BitwiseXor ` -* :doc:`BitwiseNot ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`DFT ` -* :doc:`Divide ` -* :doc:`Einsum ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`Eye ` -* :doc:`FakeConvert ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`GenerateProposals ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GridSample ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GroupNormalization ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`IDFT ` -* :doc:`I420toBGR ` -* :doc:`I420toRGB ` -* :doc:`If ` -* :doc:`Interpolate ` -* :doc:`Inverse ` -* :doc:`IRDFT ` -* :doc:`IsInf ` -* :doc:`IsNaN ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MatrixNMS ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`MulticlassNMS ` -* :doc:`Multinomial ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NMSRotated ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`NV12toBGR ` -* :doc:`NV12toRGB ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`RandomUniform ` -* :doc:`Range ` -* :doc:`RDFT ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Roll ` -* :doc:`Round ` -* :doc:`ScaledDotProductAttention ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`Slice ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SoftSign ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unique ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`AdaptiveAvgPool <../operations-specifications/pooling/adaptive-avg-pool-8>` +* :doc:`AdaptiveMaxPool <../operations-specifications/pooling/adaptive-max-pool-8>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`BitwiseAnd <../operations-specifications/bitwise/bitwise-and-13>` +* :doc:`BitwiseOr <../operations-specifications/bitwise/bitwise-or-13>` +* :doc:`BitwiseXor <../operations-specifications/bitwise/bitwise-xor-13>` +* :doc:`BitwiseNot <../operations-specifications/bitwise/bitwise-not-13>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-8>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-8>` +* :doc:`DFT <../operations-specifications/signals/dft-7>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Einsum <../operations-specifications/matrix/einsum-7>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`Eye <../operations-specifications/generation/eye-9>` +* :doc:`FakeConvert <../operations-specifications/quantization/fake-convert-13>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-8>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND <../operations-specifications/movement/gather-nd-8>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-7>` +* :doc:`GenerateProposals <../operations-specifications/detection/generate-proposals-9>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GridSample <../operations-specifications/image/grid-sample-9>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GroupNormalization <../operations-specifications/normalization/group-normalization-12>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`IDFT <../operations-specifications/signals/idft-7>` +* :doc:`I420toBGR <../operations-specifications/image/i420-to-bgr-8>` +* :doc:`I420toRGB <../operations-specifications/image/i420-to-rgb-8>` +* :doc:`If <../operations-specifications/condition/if-8>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-11>` +* :doc:`Inverse <../operations-specifications/matrix/Inverse_14>` +* :doc:`IRDFT <../operations-specifications/signals/irdft-9>` +* :doc:`IsInf <../operations-specifications/comparison/isinf-10>` +* :doc:`IsNaN <../operations-specifications/comparison/isnan-10>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MatrixNMS <../operations-specifications/sort/matrix-non-max-suppression-8>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-8>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`MulticlassNMS <../operations-specifications/sort/multiclass-non-max-suppression-9>` +* :doc:`Multinomial <../operations-specifications/generation/multinomial-13>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NMSRotated <../operations-specifications/sort/nms-rotated-13>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/non-max-suppression-9>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`NV12toBGR <../operations-specifications/image/nv12-to-bgr-8>` +* :doc:`NV12toRGB <../operations-specifications/image/nv12-to-rgb-8>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-12>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-8>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`RandomUniform <../operations-specifications/generation/random-uniform-8>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`RDFT <../operations-specifications/signals/rdft-9>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-9>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Roll <../operations-specifications/movement/roll-7>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScaledDotProductAttention <../operations-specifications/sequence/scaled-dot-product-attention>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-12>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`Slice <../operations-specifications/movement/slice-8>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-8>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SoftSign <../operations-specifications/activation/softsign-9>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-11>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unique <../operations-specifications/movement/unique-10>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset2.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset2.rst index 59578ff198d..7c821f00007 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset2.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset2.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset2} +.. {#../available-opsets2} opset2 ====== @@ -19,117 +19,117 @@ declared in ``namespace opset2``. Table of Contents ###################### -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Atan ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`CTCGreedyDecoder ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`Divide ` -* :doc:`Elu ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`HardSigmoid ` -* :doc:`Interpolate ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`Range ` -* :doc:`ReLU ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`ROIPooling ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`SoftMax ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-1>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-1>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-1>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-1>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-1>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-2>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-1>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-1>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-1>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/non-max-suppression-1>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-1>` +* :doc:`Proposal <../operations-specifications/detection/proposal-1>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`Range <../operations-specifications/generation/range-1>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-1>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-1>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset3.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset3.rst index 8be90577427..4660adf7388 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset3.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset3.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset3} +.. {#../available-opsets3} opset3 ====== @@ -19,132 +19,132 @@ declared in ``namespace opset3``. Table of Contents ####################### -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`Divide ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExtractImagePatches ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`HardSigmoid ` -* :doc:`Interpolate ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`Range ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`Reverse ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`SoftMax ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-1>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-1>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-1>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-1>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-2>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-1>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-1>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-1>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/non-max-suppression-3>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-1>` +* :doc:`Proposal <../operations-specifications/detection/proposal-1>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`Range <../operations-specifications/generation/range-1>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`Reverse <../operations-specifications/movement/reverse-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-3>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-1>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-3>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset4.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset4.rst index 1ce36f17f27..70f24513c4f 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset4.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset4.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset4} +.. {#../available-opsets4} opset4 ====== @@ -19,142 +19,142 @@ declared in ``namespace opset4``. Table of Contents ####################### -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`Divide ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExtractImagePatches ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`HardSigmoid ` -* :doc:`HSwish ` -* :doc:`Interpolate ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`MatMul ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`Range ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`Reverse ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-1>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-1>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-1>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-1>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-2>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-4>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-1>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-1>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/non-max-suppression-4>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-1>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`Reverse <../operations-specifications/movement/reverse-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-3>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-1>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-3>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset5.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset5.rst index 511aed13c76..97bb31c93da 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset5.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset5.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset5} +.. {#../available-opsets5} opset5 ====== @@ -19,151 +19,151 @@ declared in ``namespace opset5``. Table of Contents ####################### -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`Divide ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExtractImagePatches ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherND_5 ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`Interpolate ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`Range ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`Reverse ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Round ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-1>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-1>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-1>` +* :doc:`GatherND_5 <../operations-specifications/movement/gather-nd-5>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-2>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-4>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-1>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-1>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/no-max-suppression-5>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-1>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`Reverse <../operations-specifications/movement/reverse-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-3>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-1>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-3>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset6.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset6.rst index 264b6738266..250331d5669 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset6.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset6.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset6} +.. {#../available-opsets6} opset6 ====== @@ -19,156 +19,156 @@ declared in ``namespace opset6``. Table of Contents ################### -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`Divide ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND_5 ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`Interpolate ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`Range ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Round ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-1>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-1>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-1>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND_5 <../operations-specifications/movement/gather-nd-5>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-2>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-4>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-1>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/no-max-suppression-5>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-1>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-3>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-1>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-3>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset7.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset7.rst index 800c995f866..d3c47edffe4 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset7.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset7.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset7} +.. {#../available-opsets7} opset7 ====== @@ -19,160 +19,160 @@ declared in ``namespace opset7``. Table of Contents ################## -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`DFT ` -* :doc:`Divide ` -* :doc:`Einsum ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND_5 ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`IDFT ` -* :doc:`Interpolate ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`Range ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Roll ` -* :doc:`Round ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-1>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-1>` +* :doc:`DFT <../operations-specifications/signals/dft-7>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Einsum <../operations-specifications/matrix/einsum-7>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-7>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND_5 <../operations-specifications/movement/gather-nd-5>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-7>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`IDFT <../operations-specifications/signals/idft-7>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-4>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-1>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/no-max-suppression-5>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-1>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-3>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Roll <../operations-specifications/movement/roll-7>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-1>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-3>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset8.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset8.rst index cae98900063..e24cb11b421 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset8.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset8.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset8} +.. {#../available-opsets8} opset8 ====== @@ -19,172 +19,172 @@ declared in ``namespace opset8``. Table of Contents ################### -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`AdaptiveAvgPool ` -* :doc:`AdaptiveMaxPool ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`DFT ` -* :doc:`Divide ` -* :doc:`Einsum ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`IDFT ` -* :doc:`I420toBGR ` -* :doc:`I420toRGB ` -* :doc:`If ` -* :doc:`Interpolate ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MatrixNMS ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`MulticlassNMS ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`NV12toBGR ` -* :doc:`NV12toRGB ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`RandomUniform ` -* :doc:`Range ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Roll ` -* :doc:`Round ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`Slice ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`AdaptiveAvgPool <../operations-specifications/pooling/adaptive-avg-pool-8>` +* :doc:`AdaptiveMaxPool <../operations-specifications/pooling/adaptive-max-pool-8>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-8>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-8>` +* :doc:`DFT <../operations-specifications/signals/dft-7>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Einsum <../operations-specifications/matrix/einsum-7>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-8>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND <../operations-specifications/movement/gather-nd-8>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-7>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`IDFT <../operations-specifications/signals/idft-7>` +* :doc:`I420toBGR <../operations-specifications/image/i420-to-bgr-8>` +* :doc:`I420toRGB <../operations-specifications/image/i420-to-rgb-8>` +* :doc:`If <../operations-specifications/condition/if-8>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-4>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MatrixNMS <../operations-specifications/sort/matrix-non-max-suppression-8>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-8>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`MulticlassNMS <../operations-specifications/sort/multiclass-non-max-suppression-8>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/no-max-suppression-5>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`NV12toBGR <../operations-specifications/image/nv12-to-bgr-8>` +* :doc:`NV12toRGB <../operations-specifications/image/nv12-to-rgb-8>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-8>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`RandomUniform <../operations-specifications/generation/random-uniform-8>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-3>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Roll <../operations-specifications/movement/roll-7>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`Slice <../operations-specifications/movement/slice-8>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-8>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-3>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset9.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset9.rst index cc5d3686b56..ed685b4c0e1 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset9.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset9.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_opset9} +.. {#../available-opsets9} opset9 ====== @@ -19,177 +19,177 @@ declared in ``namespace opset9``. Table of Contents ###################### -* :doc:`Abs ` -* :doc:`Acos ` -* :doc:`Acosh ` -* :doc:`AdaptiveAvgPool ` -* :doc:`AdaptiveMaxPool ` -* :doc:`Add ` -* :doc:`Asin ` -* :doc:`Asinh ` -* :doc:`Assign ` -* :doc:`Atan ` -* :doc:`Atanh ` -* :doc:`AvgPool ` -* :doc:`BatchNormInference ` -* :doc:`BatchToSpace ` -* :doc:`BinaryConvolution ` -* :doc:`Broadcast ` -* :doc:`Bucketize ` -* :doc:`CTCGreedyDecoder ` -* :doc:`CTCGreedyDecoderSeqLen ` -* :doc:`CTCLoss ` -* :doc:`Ceiling ` -* :doc:`Clamp ` -* :doc:`Concat ` -* :doc:`Constant ` -* :doc:`Convert ` -* :doc:`ConvertLike ` -* :doc:`Convolution ` -* :doc:`ConvolutionBackpropData ` -* :doc:`Cos ` -* :doc:`Cosh ` -* :doc:`CumSum ` -* :doc:`DeformableConvolution ` -* :doc:`DeformablePSROIPooling ` -* :doc:`DepthToSpace ` -* :doc:`DetectionOutput ` -* :doc:`DFT ` -* :doc:`Divide ` -* :doc:`Einsum ` -* :doc:`Elu ` -* :doc:`EmbeddingBagOffsetsSum ` -* :doc:`EmbeddingBagPackedSum ` -* :doc:`EmbeddingSegmentsSum ` -* :doc:`Equal ` -* :doc:`Erf ` -* :doc:`Exp ` -* :doc:`ExperimentalDetectronDetectionOutput_6 ` -* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 ` -* :doc:`ExperimentalDetectronPriorGridGenerator_6 ` -* :doc:`ExperimentalDetectronROIFeatureExtractor_6 ` -* :doc:`ExperimentalDetectronTopKROIs_6 ` -* :doc:`ExtractImagePatches ` -* :doc:`Eye ` -* :doc:`FakeQuantize ` -* :doc:`Floor ` -* :doc:`FloorMod ` -* :doc:`Gather ` -* :doc:`GatherElements ` -* :doc:`GatherND ` -* :doc:`GatherTree ` -* :doc:`Gelu ` -* :doc:`GenerateProposals ` -* :doc:`Greater ` -* :doc:`GreaterEqual ` -* :doc:`GridSample ` -* :doc:`GRN ` -* :doc:`GroupConvolution ` -* :doc:`GroupConvolutionBackpropData ` -* :doc:`GRUCell ` -* :doc:`GRUSequence ` -* :doc:`HardSigmoid ` -* :doc:`HSigmoid ` -* :doc:`HSwish ` -* :doc:`IDFT ` -* :doc:`I420toBGR ` -* :doc:`I420toRGB ` -* :doc:`If ` -* :doc:`Interpolate ` -* :doc:`IRDFT ` -* :doc:`Less ` -* :doc:`LessEqual ` -* :doc:`Log ` -* :doc:`LogicalAnd ` -* :doc:`LogicalNot ` -* :doc:`LogicalOr ` -* :doc:`LogicalXor ` -* :doc:`LogSoftmax ` -* :doc:`Loop ` -* :doc:`LRN ` -* :doc:`LSTMCell ` -* :doc:`LSTMSequence ` -* :doc:`MatMul ` -* :doc:`MatrixNMS ` -* :doc:`MaxPool ` -* :doc:`Maximum ` -* :doc:`Minimum ` -* :doc:`Mish ` -* :doc:`Mod ` -* :doc:`MVN ` -* :doc:`MulticlassNMS ` -* :doc:`Multiply ` -* :doc:`Negative ` -* :doc:`NonMaxSuppression ` -* :doc:`NonZero ` -* :doc:`NormalizeL2 ` -* :doc:`NotEqual ` -* :doc:`NV12toBGR ` -* :doc:`NV12toRGB ` -* :doc:`OneHot ` -* :doc:`Pad ` -* :doc:`Parameter ` -* :doc:`Power ` -* :doc:`PReLU ` -* :doc:`PriorBoxClustered ` -* :doc:`PriorBox ` -* :doc:`Proposal ` -* :doc:`PSROIPooling ` -* :doc:`RandomUniform ` -* :doc:`Range ` -* :doc:`RDFT ` -* :doc:`ReLU ` -* :doc:`ReadValue ` -* :doc:`ReduceL1 ` -* :doc:`ReduceL2 ` -* :doc:`ReduceLogicalAnd ` -* :doc:`ReduceLogicalOr ` -* :doc:`ReduceMax ` -* :doc:`ReduceMean ` -* :doc:`ReduceMin ` -* :doc:`ReduceProd ` -* :doc:`ReduceSum ` -* :doc:`RegionYolo ` -* :doc:`ReorgYolo ` -* :doc:`Reshape ` -* :doc:`Result ` -* :doc:`ReverseSequence ` -* :doc:`RNNCell ` -* :doc:`RNNSequence ` -* :doc:`ROIAlign ` -* :doc:`ROIPooling ` -* :doc:`Roll ` -* :doc:`Round ` -* :doc:`ScatterElementsUpdate ` -* :doc:`ScatterNDUpdate ` -* :doc:`ScatterUpdate ` -* :doc:`Select ` -* :doc:`Selu ` -* :doc:`ShapeOf ` -* :doc:`ShuffleChannels ` -* :doc:`Sigmoid ` -* :doc:`Sign ` -* :doc:`Sin ` -* :doc:`Sinh ` -* :doc:`Slice ` -* :doc:`SoftMax ` -* :doc:`SoftPlus ` -* :doc:`SoftSign ` -* :doc:`SpaceToBatch ` -* :doc:`SpaceToDepth ` -* :doc:`Split ` -* :doc:`Sqrt ` -* :doc:`SquaredDifference ` -* :doc:`Squeeze ` -* :doc:`StridedSlice ` -* :doc:`Subtract ` -* :doc:`Swish ` -* :doc:`Tan ` -* :doc:`Tanh ` -* :doc:`TensorIterator ` -* :doc:`Tile ` -* :doc:`TopK ` -* :doc:`Transpose ` -* :doc:`Unsqueeze ` -* :doc:`VariadicSplit ` +* :doc:`Abs <../operations-specifications/arithmetic/abs-1>` +* :doc:`Acos <../operations-specifications/arithmetic/acos-1>` +* :doc:`Acosh <../operations-specifications/arithmetic/acosh-3>` +* :doc:`AdaptiveAvgPool <../operations-specifications/pooling/adaptive-avg-pool-8>` +* :doc:`AdaptiveMaxPool <../operations-specifications/pooling/adaptive-max-pool-8>` +* :doc:`Add <../operations-specifications/arithmetic/add-1>` +* :doc:`Asin <../operations-specifications/arithmetic/asin-1>` +* :doc:`Asinh <../operations-specifications/arithmetic/asinh-3>` +* :doc:`Assign <../operations-specifications/infrastructure/assign-3>` +* :doc:`Atan <../operations-specifications/arithmetic/atan-1>` +* :doc:`Atanh <../operations-specifications/arithmetic/atanh-3>` +* :doc:`AvgPool <../operations-specifications/pooling/avg-pool-1>` +* :doc:`BatchNormInference <../operations-specifications/normalization/batch-norm-inference-5>` +* :doc:`BatchToSpace <../operations-specifications/movement/batch-to-space-2>` +* :doc:`BinaryConvolution <../operations-specifications/convolution/binary-convolution-1>` +* :doc:`Broadcast <../operations-specifications/movement/broadcast-3>` +* :doc:`Bucketize <../operations-specifications/condition/bucketize-3>` +* :doc:`CTCGreedyDecoder <../operations-specifications/sequence/ctc-greedy-decoder-1>` +* :doc:`CTCGreedyDecoderSeqLen <../operations-specifications/sequence/ctc-greedy-decoder-seq-len-6>` +* :doc:`CTCLoss <../operations-specifications/sequence/ctc-loss-4>` +* :doc:`Ceiling <../operations-specifications/arithmetic/ceiling-1>` +* :doc:`Clamp <../operations-specifications/activation/clamp-1>` +* :doc:`Concat <../operations-specifications/movement/concat-1>` +* :doc:`Constant <../operations-specifications/infrastructure/constant-1>` +* :doc:`Convert <../operations-specifications/type/convert-1>` +* :doc:`ConvertLike <../operations-specifications/type/convert-like-1>` +* :doc:`Convolution <../operations-specifications/convolution/convolution-1>` +* :doc:`ConvolutionBackpropData <../operations-specifications/convolution/convolution-backprop-data-1>` +* :doc:`Cos <../operations-specifications/arithmetic/cos-1>` +* :doc:`Cosh <../operations-specifications/arithmetic/cosh-1>` +* :doc:`CumSum <../operations-specifications/arithmetic/cumsum-3>` +* :doc:`DeformableConvolution <../operations-specifications/convolution/deformable-convolution-8>` +* :doc:`DeformablePSROIPooling <../operations-specifications/detection/deformable-psroi-pooling-1>` +* :doc:`DepthToSpace <../operations-specifications/movement/depth-to-space-1>` +* :doc:`DetectionOutput <../operations-specifications/detection/detectionoutput-8>` +* :doc:`DFT <../operations-specifications/signals/dft-7>` +* :doc:`Divide <../operations-specifications/arithmetic/divide-1>` +* :doc:`Einsum <../operations-specifications/matrix/einsum-7>` +* :doc:`Elu <../operations-specifications/activation/elu-1>` +* :doc:`EmbeddingBagOffsetsSum <../operations-specifications/sparse/embedding-bag-offsets-sum-3>` +* :doc:`EmbeddingBagPackedSum <../operations-specifications/sparse/embedding-bag-packed-sum-3>` +* :doc:`EmbeddingSegmentsSum <../operations-specifications/sparse/embedding-segments-sum-3>` +* :doc:`Equal <../operations-specifications/comparison/equal-1>` +* :doc:`Erf <../operations-specifications/arithmetic/erf-1>` +* :doc:`Exp <../operations-specifications/activation/exp-1>` +* :doc:`ExperimentalDetectronDetectionOutput_6 <../operations-specifications/detection/experimental-detectron-detection-output-6>` +* :doc:`ExperimentalDetectronGenerateProposalsSingleImage_6 <../operations-specifications/detection/experimental-detectron-generate-proposals-single-image-6>` +* :doc:`ExperimentalDetectronPriorGridGenerator_6 <../operations-specifications/detection/experimental-detectron-prior-grid-generator-6>` +* :doc:`ExperimentalDetectronROIFeatureExtractor_6 <../operations-specifications/detection/experimental-detectron-roi-feature-extractor-6>` +* :doc:`ExperimentalDetectronTopKROIs_6 <../operations-specifications/sort/experimental-detectron-top-krois-6>` +* :doc:`ExtractImagePatches <../operations-specifications/movement/extract-image-patches-3>` +* :doc:`Eye <../operations-specifications/generation/eye-9>` +* :doc:`FakeQuantize <../operations-specifications/quantization/fake-quantize-1>` +* :doc:`Floor <../operations-specifications/arithmetic/floor-1>` +* :doc:`FloorMod <../operations-specifications/arithmetic/floormod-1>` +* :doc:`Gather <../operations-specifications/movement/gather-8>` +* :doc:`GatherElements <../operations-specifications/movement/gather-elements-6>` +* :doc:`GatherND <../operations-specifications/movement/gather-nd-8>` +* :doc:`GatherTree <../operations-specifications/movement/gather-tree-1>` +* :doc:`Gelu <../operations-specifications/activation/gelu-7>` +* :doc:`GenerateProposals <../operations-specifications/detection/generate-proposals-9>` +* :doc:`Greater <../operations-specifications/comparison/greater-1>` +* :doc:`GreaterEqual <../operations-specifications/comparison/greater-equal-1>` +* :doc:`GridSample <../operations-specifications/image/grid-sample-9>` +* :doc:`GRN <../operations-specifications/normalization/grn-1>` +* :doc:`GroupConvolution <../operations-specifications/convolution/group-convolution-1>` +* :doc:`GroupConvolutionBackpropData <../operations-specifications/convolution/group-convolution-backprop-data-1>` +* :doc:`GRUCell <../operations-specifications/sequence/gru-cell-3>` +* :doc:`GRUSequence <../operations-specifications/sequence/gru-sequence-5>` +* :doc:`HardSigmoid <../operations-specifications/activation/hard-sigmoid-1>` +* :doc:`HSigmoid <../operations-specifications/activation/hsigmoid-5>` +* :doc:`HSwish <../operations-specifications/activation/hswish-4>` +* :doc:`IDFT <../operations-specifications/signals/idft-7>` +* :doc:`I420toBGR <../operations-specifications/image/i420-to-bgr-8>` +* :doc:`I420toRGB <../operations-specifications/image/i420-to-rgb-8>` +* :doc:`If <../operations-specifications/condition/if-8>` +* :doc:`Interpolate <../operations-specifications/image/interpolate-4>` +* :doc:`IRDFT <../operations-specifications/signals/irdft-9>` +* :doc:`Less <../operations-specifications/comparison/less-1>` +* :doc:`LessEqual <../operations-specifications/comparison/lessequal-1>` +* :doc:`Log <../operations-specifications/arithmetic/log-1>` +* :doc:`LogicalAnd <../operations-specifications/logical/logical-and-1>` +* :doc:`LogicalNot <../operations-specifications/logical/logical-not-1>` +* :doc:`LogicalOr <../operations-specifications/logical/logical-or-1>` +* :doc:`LogicalXor <../operations-specifications/logical/logical-xor-1>` +* :doc:`LogSoftmax <../operations-specifications/activation/log-soft-max-5>` +* :doc:`Loop <../operations-specifications/infrastructure/loop-5>` +* :doc:`LRN <../operations-specifications/normalization/lrn-1>` +* :doc:`LSTMCell <../operations-specifications/sequence/lstm-cell-1>` +* :doc:`LSTMSequence <../operations-specifications/sequence/lstm-sequence-1>` +* :doc:`MatMul <../operations-specifications/matrix/matmul-1>` +* :doc:`MatrixNMS <../operations-specifications/sort/matrix-non-max-suppression-8>` +* :doc:`MaxPool <../operations-specifications/pooling/max-pool-8>` +* :doc:`Maximum <../operations-specifications/arithmetic/maximum-1>` +* :doc:`Minimum <../operations-specifications/arithmetic/minimum-1>` +* :doc:`Mish <../operations-specifications/activation/mish-4>` +* :doc:`Mod <../operations-specifications/arithmetic/mod-1>` +* :doc:`MVN <../operations-specifications/normalization/mvn-6>` +* :doc:`MulticlassNMS <../operations-specifications/sort/multiclass-non-max-suppression-9>` +* :doc:`Multiply <../operations-specifications/arithmetic/multiply-1>` +* :doc:`Negative <../operations-specifications/arithmetic/negative-1>` +* :doc:`NonMaxSuppression <../operations-specifications/sort/no-max-suppression-5>` +* :doc:`NonZero <../operations-specifications/condition/nonzero-3>` +* :doc:`NormalizeL2 <../operations-specifications/normalization/normalize-l2-1>` +* :doc:`NotEqual <../operations-specifications/comparison/notequal-1>` +* :doc:`NV12toBGR <../operations-specifications/image/nv12-to-bgr-8>` +* :doc:`NV12toRGB <../operations-specifications/image/nv12-to-rgb-8>` +* :doc:`OneHot <../operations-specifications/sequence/one-hot-1>` +* :doc:`Pad <../operations-specifications/movement/pad-1>` +* :doc:`Parameter <../operations-specifications/infrastructure/parameter-1>` +* :doc:`Power <../operations-specifications/arithmetic/power-1>` +* :doc:`PReLU <../operations-specifications/activation/prelu-1>` +* :doc:`PriorBoxClustered <../operations-specifications/detection/prior-box-clustered-1>` +* :doc:`PriorBox <../operations-specifications/detection/prior-box-8>` +* :doc:`Proposal <../operations-specifications/detection/proposal-4>` +* :doc:`PSROIPooling <../operations-specifications/detection/psroi-pooling-1>` +* :doc:`RandomUniform <../operations-specifications/generation/random-uniform-8>` +* :doc:`Range <../operations-specifications/generation/range-4>` +* :doc:`RDFT <../operations-specifications/signals/rdft-9>` +* :doc:`ReLU <../operations-specifications/activation/relu-1>` +* :doc:`ReadValue <../operations-specifications/infrastructure/read-value-3>` +* :doc:`ReduceL1 <../operations-specifications/reduction/reduce-l1-4>` +* :doc:`ReduceL2 <../operations-specifications/reduction/reduce-l2-4>` +* :doc:`ReduceLogicalAnd <../operations-specifications/reduction/reduce-logical-and-1>` +* :doc:`ReduceLogicalOr <../operations-specifications/reduction/reduce-logical-or-1>` +* :doc:`ReduceMax <../operations-specifications/reduction/reduce-max-1>` +* :doc:`ReduceMean <../operations-specifications/reduction/reduce-mean-1>` +* :doc:`ReduceMin <../operations-specifications/reduction/reduce-min-1>` +* :doc:`ReduceProd <../operations-specifications/reduction/reduce-prod-1>` +* :doc:`ReduceSum <../operations-specifications/reduction/reduce-sum-1>` +* :doc:`RegionYolo <../operations-specifications/detection/region-yolo-1>` +* :doc:`ReorgYolo <../operations-specifications/detection/reorg-yolo-1>` +* :doc:`Reshape <../operations-specifications/shape/reshape-1>` +* :doc:`Result <../operations-specifications/infrastructure/result-1>` +* :doc:`ReverseSequence <../operations-specifications/movement/reverse-sequence-1>` +* :doc:`RNNCell <../operations-specifications/sequence/rnn-cell-3>` +* :doc:`RNNSequence <../operations-specifications/sequence/rnn-sequence-5>` +* :doc:`ROIAlign <../operations-specifications/detection/roi-align-9>` +* :doc:`ROIPooling <../operations-specifications/detection/roi-pooling-1>` +* :doc:`Roll <../operations-specifications/movement/roll-7>` +* :doc:`Round <../operations-specifications/arithmetic/round-5>` +* :doc:`ScatterElementsUpdate <../operations-specifications/movement/scatter-elements-update-3>` +* :doc:`ScatterNDUpdate <../operations-specifications/movement/scatter-nd-update-3>` +* :doc:`ScatterUpdate <../operations-specifications/movement/scatter-update-3>` +* :doc:`Select <../operations-specifications/condition/select-1>` +* :doc:`Selu <../operations-specifications/activation/selu-1>` +* :doc:`ShapeOf <../operations-specifications/shape/shape-of-3>` +* :doc:`ShuffleChannels <../operations-specifications/movement/shuffle-channels-1>` +* :doc:`Sigmoid <../operations-specifications/activation/sigmoid-1>` +* :doc:`Sign <../operations-specifications/arithmetic/sign-1>` +* :doc:`Sin <../operations-specifications/arithmetic/sin-1>` +* :doc:`Sinh <../operations-specifications/arithmetic/sinh-1>` +* :doc:`Slice <../operations-specifications/movement/slice-8>` +* :doc:`SoftMax <../operations-specifications/activation/softmax-8>` +* :doc:`SoftPlus <../operations-specifications/activation/softplus-4>` +* :doc:`SoftSign <../operations-specifications/activation/softsign-9>` +* :doc:`SpaceToBatch <../operations-specifications/movement/space-to-batch-2>` +* :doc:`SpaceToDepth <../operations-specifications/movement/space-to-depth-1>` +* :doc:`Split <../operations-specifications/movement/split-1>` +* :doc:`Sqrt <../operations-specifications/arithmetic/sqrt-1>` +* :doc:`SquaredDifference <../operations-specifications/arithmetic/squared-difference-1>` +* :doc:`Squeeze <../operations-specifications/shape/squeeze-1>` +* :doc:`StridedSlice <../operations-specifications/movement/strided-slice-1>` +* :doc:`Subtract <../operations-specifications/arithmetic/subtract-1>` +* :doc:`Swish <../operations-specifications/activation/swish-4>` +* :doc:`Tan <../operations-specifications/arithmetic/tan-1>` +* :doc:`Tanh <../operations-specifications/arithmetic/tanh-1>` +* :doc:`TensorIterator <../operations-specifications/infrastructure/tensor-iterator-1>` +* :doc:`Tile <../operations-specifications/movement/tile-1>` +* :doc:`TopK <../operations-specifications/sort/top-k-3>` +* :doc:`Transpose <../operations-specifications/movement/transpose-1>` +* :doc:`Unsqueeze <../operations-specifications/shape/unsqueeze-1>` +* :doc:`VariadicSplit <../operations-specifications/movement/variadic-split-1>` diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications.rst index da295e12b54..de35994558e 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications.rst @@ -10,221 +10,221 @@ Operation Specifications .. toctree:: :maxdepth: 1 - Abs-1 - Acos-1 - Acosh-3 - AdaptiveAvgPool-8 - AdaptiveMaxPool-8 - Add-1 - Asin-1 - Asinh-3 - Assign-3 - Assign-6 - Atan-1 - Atanh-3 - AvgPool-1 - BatchNormInference-1 - BatchNormInference-5 - BatchToSpace-2 - BinaryConvolution-1 - BitwiseAnd-13 - BitwiseNot-13 - BitwiseOr-13 - BitwiseXor-13 - Broadcast-1 - Broadcast-3 - Bucketize-3 - CTCGreedyDecoder-1 - CTCGreedyDecoderSeqLen-6 - Ceiling-1 - Clamp-1 - Concat-1 - Constant-1 - ConvertLike-1 - Convert-1 - ConvolutionBackpropData-1 - Convolution-1 - Cos-1 - Cosh-1 - CTCLoss-4 - CumSum-3 - DeformableConvolution-1 - DeformableConvolution-8 - DeformablePSROIPooling-1 - DepthToSpace-1 - DetectionOutput-1 - DetectionOutput-8 - DFT-7 - Divide-1 - Einsum-7 - Elu-1 - EmbeddingBagOffsetsSum-3 - EmbeddingBagPackedSum-3 - EmbeddingSegmentsSum-3 - Equal-1 - Erf-1 - Exp-1 - ExperimentalDetectronDetectionOutput-6 - ExperimentalDetectronGenerateProposalsSingleImage-6 - ExperimentalDetectronPriorGridGenerator-6 - ExperimentalDetectronROIFeatureExtractor-6 - ExperimentalDetectronTopKROIs-6 - ExtractImagePatches-3 - Eye-9 - FakeConvert-13 - FakeQuantize-1 - FloorMod-1 - Floor-1 - GridSample-9 - GRN-1 - GRUCell-3 - GRUSequence-5 - GatherTree-1 - Gather-1 - Gather-7 - Gather-8 - GatherElements-6 - GatherND-5 - GatherND-8 - GELU-2 - GELU-7 - GenerateProposals-9 - GreaterEqual-1 - Greater-1 - GroupConvolutionBackpropData-1 - GroupConvolution-1 - GroupNormalization-12 - HardSigmoid-1 - HSigmoid-5 - HSwish-4 - I420toBGR-8 - I420toRGB-8 - IDFT-7 - IRDFT-9 - If-8 - Interpolate-1 - Interpolate-4 - Interpolate-11 - Inverse-14 - IsFinite-10 - IsInf-10 - IsNaN-10 - LRN-1 - LSTMCell-1 - LSTMSequence-1 - LessEqual-1 - Less-1 - Log-1 - LogicalAnd-1 - LogicalNot-1 - LogicalOr-1 - LogicalXor-1 - LogSoftmax-5 - Loop-5 - MVN-1 - MVN-6 - MatMul-1 - MatrixNms-8 - MaxPool-1 - MaxPool-8 - Maximum-1 - Minimum-1 - Mish-4 - Mod-1 - MulticlassNonMaxSuppression-8 - MulticlassNonMaxSuppression-9 - Multinomial-13 - Multiply-1 - Negative-1 - NMSRotated-13 - NonMaxSuppression-1 - NonMaxSuppression-3 - NonMaxSuppression-4 - NonMaxSuppression-5 - NonMaxSuppression-9 - NonZero-3 - NormalizeL2-1 - NotEqual-1 - NV12toBGR-8 - NV12toRGB-8 - OneHot-1 - PReLU-1 - PSROIPooling-1 - Pad-1 - Pad-12 - Parameter-1 - Power-1 - PriorBoxClustered-1 - PriorBox-1 - PriorBox-8 - Proposal-1 - Proposal-4 - RandomUniform-8 - Range-1 - Range-4 - RDFT-9 - ReadValue-3 - ReadValue-6 - ReLU-1 - ReduceL1-4 - ReduceL2-4 - ReduceLogicalAnd-1 - ReduceLogicalOr-1 - ReduceMax-1 - ReduceMean-1 - ReduceMin-1 - ReduceProd-1 - ReduceSum-1 - RegionYolo-1 - ReorgYolo-1 - Reshape-1 - Result-1 - Reverse-1 - ReverseSequence-1 - RNNCell-3 - RNNSequence-5 - ROIAlign-3 - ROIAlign-9 - ROIPooling-1 - Roll-7 - Round-5 - ScaledDotProductAttention-13 - ScatterElementsUpdate-3 - ScatterElementsUpdate-12 - ScatterNDUpdate-3 - ScatterUpdate-3 - Select-1 - Selu-1 - ShapeOf-1 - ShapeOf-3 - ShuffleChannels-1 - Sigmoid-1 - Sign-1 - Sin-1 - Sinh-1 - Slice-8 - SoftMax-1 - SoftMax-8 - SoftPlus-4 - SoftSign-9 - SpaceToBatch-2 - SpaceToDepth-1 - Split-1 - Sqrt-1 - SquaredDifference-1 - Squeeze-1 - StridedSlice-1 - Subtract-1 - Swish-4 - Tan-1 - Tanh-1 - TensorIterator-1 - Tile-1 - TopK-1 - TopK-3 - TopK-11 - Transpose-1 - Unique-10 - Unsqueeze-1 - VariadicSplit-1 + Abs-1 + Acos-1 + Acosh-3 + AdaptiveAvgPool-8 + AdaptiveMaxPool-8 + Add-1 + Asin-1 + Asinh-3 + Assign-3 + Assign-6 + Atan-1 + Atanh-3 + AvgPool-1 + BatchNormInference-1 + BatchNormInference-5 + BatchToSpace-2 + BinaryConvolution-1 + BitwiseAnd-13 + BitwiseNot-13 + BitwiseOr-13 + BitwiseXor-13 + Broadcast-1 + Broadcast-3 + Bucketize-3 + CTCGreedyDecoder-1 + CTCGreedyDecoderSeqLen-6 + Ceiling-1 + Clamp-1 + Concat-1 + Constant-1 + ConvertLike-1 + Convert-1 + ConvolutionBackpropData-1 + Convolution-1 + Cos-1 + Cosh-1 + CTCLoss-4 + CumSum-3 + DeformableConvolution-1 + DeformableConvolution-8 + DeformablePSROIPooling-1 + DepthToSpace-1 + DetectionOutput-1 + DetectionOutput-8 + DFT-7 + Divide-1 + Einsum-7 + Elu-1 + EmbeddingBagOffsetsSum-3 + EmbeddingBagPackedSum-3 + EmbeddingSegmentsSum-3 + Equal-1 + Erf-1 + Exp-1 + ExperimentalDetectronDetectionOutput-6 + ExperimentalDetectronGenerateProposalsSingleImage-6 + ExperimentalDetectronPriorGridGenerator-6 + ExperimentalDetectronROIFeatureExtractor-6 + ExperimentalDetectronTopKROIs-6 + ExtractImagePatches-3 + Eye-9 + FakeConvert-13 + FakeQuantize-1 + FloorMod-1 + Floor-1 + GridSample-9 + GRN-1 + GRUCell-3 + GRUSequence-5 + GatherTree-1 + Gather-1 + Gather-7 + Gather-8 + GatherElements-6 + GatherND-5 + GatherND-8 + GELU-2 + GELU-7 + GenerateProposals-9 + GreaterEqual-1 + Greater-1 + GroupConvolutionBackpropData-1 + GroupConvolution-1 + GroupNormalization-12 + HardSigmoid-1 + HSigmoid-5 + HSwish-4 + I420toBGR-8 + I420toRGB-8 + IDFT-7 + IRDFT-9 + If-8 + Interpolate-1 + Interpolate-4 + Interpolate-11 + Inverse-14 + IsFinite-10 + IsInf-10 + IsNaN-10 + LRN-1 + LSTMCell-1 + LSTMSequence-1 + LessEqual-1 + Less-1 + Log-1 + LogicalAnd-1 + LogicalNot-1 + LogicalOr-1 + LogicalXor-1 + LogSoftmax-5 + Loop-5 + MVN-1 + MVN-6 + MatMul-1 + MatrixNms-8 + MaxPool-1 + MaxPool-8 + Maximum-1 + Minimum-1 + Mish-4 + Mod-1 + MulticlassNonMaxSuppression-8 + MulticlassNonMaxSuppression-9 + Multinomial-13 + Multiply-1 + Negative-1 + NMSRotated-13 + NonMaxSuppression-1 + NonMaxSuppression-3 + NonMaxSuppression-4 + NonMaxSuppression-5 + NonMaxSuppression-9 + NonZero-3 + NormalizeL2-1 + NotEqual-1 + NV12toBGR-8 + NV12toRGB-8 + OneHot-1 + PReLU-1 + PSROIPooling-1 + Pad-1 + Pad-12 + Parameter-1 + Power-1 + PriorBoxClustered-1 + PriorBox-1 + PriorBox-8 + Proposal-1 + Proposal-4 + RandomUniform-8 + Range-1 + Range-4 + RDFT-9 + ReadValue-3 + ReadValue-6 + ReLU-1 + ReduceL1-4 + ReduceL2-4 + ReduceLogicalAnd-1 + ReduceLogicalOr-1 + ReduceMax-1 + ReduceMean-1 + ReduceMin-1 + ReduceProd-1 + ReduceSum-1 + RegionYolo-1 + ReorgYolo-1 + Reshape-1 + Result-1 + Reverse-1 + ReverseSequence-1 + RNNCell-3 + RNNSequence-5 + ROIAlign-3 + ROIAlign-9 + ROIPooling-1 + Roll-7 + Round-5 + ScaledDotProductAttention-13 + ScatterElementsUpdate-3 + ScatterElementsUpdate-12 + ScatterNDUpdate-3 + ScatterUpdate-3 + Select-1 + Selu-1 + ShapeOf-1 + ShapeOf-3 + ShuffleChannels-1 + Sigmoid-1 + Sign-1 + Sin-1 + Sinh-1 + Slice-8 + SoftMax-1 + SoftMax-8 + SoftPlus-4 + SoftSign-9 + SpaceToBatch-2 + SpaceToDepth-1 + Split-1 + Sqrt-1 + SquaredDifference-1 + Squeeze-1 + StridedSlice-1 + Subtract-1 + Swish-4 + Tan-1 + Tanh-1 + TensorIterator-1 + Tile-1 + TopK-1 + TopK-3 + TopK-11 + Transpose-1 + Unique-10 + Unsqueeze-1 + VariadicSplit-1 diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/activation/prelu-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/activation/prelu-1.rst index 42e2f3033a4..5ecfa245c32 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/activation/prelu-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/activation/prelu-1.rst @@ -42,7 +42,7 @@ Another mathematical representation that may be found in other references: * **1**: ``data``. A tensor of type *T* and arbitrary shape. **Required.** * **2**: ``slope``. A tensor of type *T* and rank greater or equal to 1. Tensor with negative slope values. **Required.** -* **Note**: Channels dimension corresponds to the second dimension of ``data`` input tensor. If ``slope`` input rank is 1 and its dimension is equal to the second dimension of ``data`` input, then per channel broadcast is applied. Otherwise ``slope`` input is broadcasted with numpy rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `. +* **Note**: Channels dimension corresponds to the second dimension of ``data`` input tensor. If ``slope`` input rank is 1 and its dimension is equal to the second dimension of ``data`` input, then per channel broadcast is applied. Otherwise ``slope`` input is broadcasted with numpy rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. **Outputs** diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/add-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/add-1.rst index 84583ae7372..f8aea591e51 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/add-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/add-1.rst @@ -30,8 +30,8 @@ After broadcasting *Add* performs addition operation for the input tensors *a* a * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/divide-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/divide-1.rst index 30f4928d159..267f56469e4 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/divide-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/divide-1.rst @@ -43,8 +43,8 @@ The result of division by zero is undefined. * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: ``string`` * **Default value**: "numpy" * **Required**: *no* diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/floormod-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/floormod-1.rst index 228f4ed0896..2448de8f88b 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/floormod-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/floormod-1.rst @@ -33,7 +33,7 @@ Python programming language: :math:`floor(x / y) * y + floor\_mod(x, y) = x`. Th * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/maximum-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/maximum-1.rst index 7d2a43211af..6a61b3e0c3a 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/maximum-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/maximum-1.rst @@ -32,7 +32,7 @@ After broadcasting *Maximum* does the following with the input tensors *a* and * * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/minimum-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/minimum-1.rst index 5aee64f9345..ecc6804b604 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/minimum-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/minimum-1.rst @@ -30,7 +30,7 @@ As a first step input tensors *a* and *b* are broadcasted if their shapes differ * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/mod-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/mod-1.rst index 64b813bdb4f..c1ff165d71c 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/mod-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/mod-1.rst @@ -32,7 +32,7 @@ As a first step input tensors *a* and *b* are broadcasted if their shapes differ * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/multiply-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/multiply-1.rst index 6841cb806fd..5b0b6ea81b2 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/multiply-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/multiply-1.rst @@ -31,8 +31,8 @@ After broadcasting *Multiply* performs multiplication operation for the input te * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/power-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/power-1.rst index e61c3d2b5cd..cd37b8593ad 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/power-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/power-1.rst @@ -29,7 +29,7 @@ As a first step input tensors *a* and *b* are broadcasted if their shapes differ * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: string * **Default value**: "numpy" * **Required**: *no* diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/squared-difference-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/squared-difference-1.rst index 53bcca495b6..e4efbbd6a6c 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/squared-difference-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/squared-difference-1.rst @@ -30,7 +30,7 @@ As a first step input tensors *a* and *b* are broadcasted if their shapes differ * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: string * **Default value**: "numpy" * **Required**: *no* diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/subtract-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/subtract-1.rst index 4f680463b23..3853deca96c 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/subtract-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/arithmetic/subtract-1.rst @@ -31,8 +31,8 @@ After broadcasting *Subtract* performs subtraction operation for the input tenso * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" * **Required**: *no* diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-and-13.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-and-13.rst index d7d225b1fed..ba10e483781 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-and-13.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-and-13.rst @@ -17,7 +17,7 @@ BitwiseAnd After broadcasting input tensors *a* and *b*, *BitwiseAnd* performs a bitwise logical AND operation for each corresponding element in the given tensors, based on the following algorithm. -For ``boolean`` type tensors, BitwiseAnd is equivalent to :doc:`LogicalAnd `. +For ``boolean`` type tensors, BitwiseAnd is equivalent to :doc:`LogicalAnd <../logical/logical-and-1>`. If tensor is of ``any supported integer`` type, for each element of the tensor: @@ -60,8 +60,8 @@ Example 2 - *BitwiseAnd* output for uint8 tensor: * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-not-13.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-not-13.rst index 147f0d63d6e..44db05f80c2 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-not-13.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-not-13.rst @@ -15,7 +15,7 @@ BitwiseNot **Detailed description**: *BitwiseNot* performs a bitwise logical negation operation for each element in the given tensor, based on the following algorithm. -For ``boolean`` type tensors, BitwiseNot is equivalent to :doc:`LogicalNot `. +For ``boolean`` type tensors, BitwiseNot is equivalent to :doc:`LogicalNot <../logical/logical-not-1>`. If tensor is of ``any supported integer`` type, for each element of the tensor: diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-or-13.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-or-13.rst index 91048e9dc8b..e951463d1d3 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-or-13.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-or-13.rst @@ -17,7 +17,7 @@ BitwiseOr After broadcasting input tensors *a* and *b*, *BitwiseOr* performs a bitwise logical OR operation for each corresponding element in the given tensors, based on the following algorithm. -For ``boolean`` type tensors, BitwiseOr is equivalent to :doc:`LogicalOr `. +For ``boolean`` type tensors, BitwiseOr is equivalent to :doc:`LogicalOr <../logical/logical-or-1>`. If tensor is of ``any supported integer`` type, for each element of the tensor: @@ -60,8 +60,8 @@ Example 2 - *BitwiseOr* output for uint8 tensor: * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-xor-13.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-xor-13.rst index cfd589f6a56..73938ef481c 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-xor-13.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/bitwise/bitwise-xor-13.rst @@ -17,7 +17,7 @@ BitwiseXor After broadcasting input tensors *a* and *b*, *BitwiseXor* performs a bitwise logical XOR operation for each corresponding element in the given tensors, based on the following algorithm. -For ``boolean`` type tensors, BitwiseXor is equivalent to :doc:`LogicalXor `. +For ``boolean`` type tensors, BitwiseXor is equivalent to :doc:`LogicalXor <../logical/logical-xor-1>`. If tensor is of ``any supported integer`` type, for each element of the tensor: @@ -60,8 +60,8 @@ Example 2 - *BitwiseXor* output for uint8 tensor: * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/equal-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/equal-1.rst index c8fc21928e2..32bf8c20cb7 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/equal-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/equal-1.rst @@ -31,8 +31,8 @@ After broadcasting *Equal* does the following with the input tensors *a* and *b* * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes should match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: ``string`` * **Default value**: "numpy" * **Required**: *no* diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/greater-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/greater-1.rst index 3fc645d5846..10599b1dc46 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/greater-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/greater-1.rst @@ -35,8 +35,8 @@ After broadcasting, *Greater* does the following with the input tensors *a* and * **Range of values**: * * *none* - no auto-broadcasting is allowed, all input shapes should match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/greater-equal-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/greater-equal-1.rst index a9857c7b72d..63ee9dd24e8 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/greater-equal-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/greater-equal-1.rst @@ -34,8 +34,8 @@ After broadcasting, *GreaterEqual* does the following with the input tensors *a* * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes should match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/less-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/less-1.rst index a2c9b437011..7542411e444 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/less-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/less-1.rst @@ -32,8 +32,8 @@ After broadcasting *Less* does the following with the input tensors *a* and *b*: * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes should match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: ``string`` * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/lessequal-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/lessequal-1.rst index 21f5d3e58f0..425ba110a2b 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/lessequal-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/lessequal-1.rst @@ -32,8 +32,8 @@ After broadcasting *LessEqual* does the following with the input tensors *a* and * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes should match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/notequal-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/notequal-1.rst index 728b2bf0bad..9fa4392f481 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/notequal-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/comparison/notequal-1.rst @@ -35,8 +35,8 @@ After broadcasting, *NotEqual* does the following with the input tensors *a* and * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes should match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/condition/select-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/condition/select-1.rst index 2d093126a11..5f7dc348741 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/condition/select-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/condition/select-1.rst @@ -26,8 +26,8 @@ Select * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations ` - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations ` + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>` * **Type**: ``string`` * **Default value**: "numpy" * **Required**: *no* diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/convolution/convolution-backprop-data-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/convolution/convolution-backprop-data-1.rst index b39df77e94b..3f6ecb3f2a7 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/convolution/convolution-backprop-data-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/convolution/convolution-backprop-data-1.rst @@ -18,7 +18,7 @@ ConvolutionBackpropData ConvolutionBackpropData takes the input tensor, weights tensor and output shape and computes the output tensor of a given shape. The shape of the output can be specified as an input 1D integer tensor explicitly or determined by other attributes implicitly. If output shape is specified as an explicit input, shape of the output exactly matches the specified size and required amount of padding is computed. More thorough explanation can be found in `Transposed Convolutions `__. -ConvolutionBackpropData accepts the same set of attributes as a regular Convolution operation and additionally ``output_padding`` attribute, but they are interpreted in a "backward way", so they are applied to the output of ConvolutionBackpropData, but not to the input. Refer to a regular :doc:`Convolution ` operation for detailed description of each Convolution attribute. +ConvolutionBackpropData accepts the same set of attributes as a regular Convolution operation and additionally ``output_padding`` attribute, but they are interpreted in a "backward way", so they are applied to the output of ConvolutionBackpropData, but not to the input. Refer to a regular :doc:`Convolution ` operation for detailed description of each Convolution attribute. When output shape is specified as an input tensor ``output_shape`` then it specifies only spatial dimensions. No batch or channel dimension should be passed along with spatial dimensions. If ``output_shape`` is omitted, then ``pads_begin``, ``pads_end`` or ``auto_pad`` are used to determine output spatial shape ``[O_z, O_y, O_x]`` by input spatial shape ``[I_z, I_y, I_x]`` in the following way: diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/detection/detectionoutput-8.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/detection/detectionoutput-8.rst index 7a85e306b44..00d3526d1d2 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/detection/detectionoutput-8.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/detection/detectionoutput-8.rst @@ -23,7 +23,7 @@ At each feature map cell, *DetectionOutput* predicts the offsets relative to the .. note:: - *num_classes*, a number of classes attribute, presents in :doc:`DetectionOutput_1 ` has been removed. It can be computed as ``cls_pred_shape[-1] // num_prior_boxes`` where ``cls_pred_shape`` and ``num_prior_boxes`` are class predictions tensor shape and a number of prior boxes. + *num_classes*, a number of classes attribute, presents in :doc:`DetectionOutput_1 ` has been removed. It can be computed as ``cls_pred_shape[-1] // num_prior_boxes`` where ``cls_pred_shape`` and ``num_prior_boxes`` are class predictions tensor shape and a number of prior boxes. * *background_label_id* diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/detection/experimental-detectron-roi-feature-extractor-6.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/detection/experimental-detectron-roi-feature-extractor-6.rst index 5aa054bc77b..c6a45c7f82e 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/detection/experimental-detectron-roi-feature-extractor-6.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/detection/experimental-detectron-roi-feature-extractor-6.rst @@ -13,7 +13,7 @@ ExperimentalDetectronROIFeatureExtractor **Category**: *Object detection* -**Short description**: *ExperimentalDetectronROIFeatureExtractor* is the :doc:`ROIAlign ` operation applied over a feature pyramid. +**Short description**: *ExperimentalDetectronROIFeatureExtractor* is the :doc:`ROIAlign ` operation applied over a feature pyramid. **Detailed description**: *ExperimentalDetectronROIFeatureExtractor* maps input ROIs to the levels of the pyramid depending on the sizes of ROIs and parameters of the operation, and then extracts features via ROIAlign from corresponding pyramid levels. diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/i420-to-bgr-8.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/i420-to-bgr-8.rst index a3df192c305..22ec6a534a2 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/i420-to-bgr-8.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/i420-to-bgr-8.rst @@ -16,11 +16,11 @@ I420toBGR **Detailed description**: -Similar to *I420toRGB* but output channels for each pixel are reversed so that the first channel is ``blue``, the second one is ``green``, the last one is ``red``. See detailed conversion formulas in the :doc:`I420toRGB description `. +Similar to *I420toRGB* but output channels for each pixel are reversed so that the first channel is ``blue``, the second one is ``green``, the last one is ``red``. See detailed conversion formulas in the :doc:`I420toRGB description `. **Inputs:** -Same as specified for :doc:`I420toRGB ` operation. +Same as specified for :doc:`I420toRGB ` operation. **Outputs:** diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/i420-to-rgb-8.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/i420-to-rgb-8.rst index 8d37f583503..bfb2c0da906 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/i420-to-rgb-8.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/i420-to-rgb-8.rst @@ -16,7 +16,7 @@ I420toRGB **Detailed description:** -Conversion of each pixel from I420 (YUV) to RGB space is represented by the following formulas (same as in :doc:`NV12toRGB `): +Conversion of each pixel from I420 (YUV) to RGB space is represented by the following formulas (same as in :doc:`NV12toRGB `): .. math:: diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/interpolate-11.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/interpolate-11.rst index 281607f2504..a92d091ee47 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/interpolate-11.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/interpolate-11.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_image_Interpolate_11} +.. {#interpolate-11} Interpolate =========== diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/nv12-to-bgr-8.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/nv12-to-bgr-8.rst index 5320ecd4fe4..918bff34390 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/nv12-to-bgr-8.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/image/nv12-to-bgr-8.rst @@ -16,11 +16,11 @@ NV12toBGR **Detailed description**: -Similar to *NV12toRGB* but output channels for each pixel are reversed so that the first channel is ``blue``, the second one is ``green``, the last one is ``red``. See detailed conversion formulas in the :doc:`NV12toRGB description `. +Similar to *NV12toRGB* but output channels for each pixel are reversed so that the first channel is ``blue``, the second one is ``green``, the last one is ``red``. See detailed conversion formulas in the :doc:`NV12toRGB description `. **Inputs:** -Same as specified for :doc:`NV12toRGB ` operation. +Same as specified for :doc:`NV12toRGB ` operation. **Outputs:** diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/assign-6.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/assign-6.rst index c580e1dc032..de1fd412cff 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/assign-6.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/assign-6.rst @@ -18,7 +18,7 @@ Assign ReadValue, Assign, and Variable define a coherent mechanism for reading, writing and storing a memory buffer between inference calls. More details can be found on the -:doc:`StateAPI` documentation page. +:doc:`StateAPI<../../../../../openvino-workflow/running-inference/stateful-models-intro>` ../../../../../documentation page. *Assign* sets an input value to the ``variable_id`` variable. This value will be read by the *ReadValue* operation on the next inference call if it has not been reset. diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/read-value-6.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/read-value-6.rst index dda2f143041..b015761622c 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/read-value-6.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/read-value-6.rst @@ -19,7 +19,7 @@ ReadValue *ReadValue*, *Assign*, and *Variable* define a coherent mechanism for reading, writing, and storing some memory buffer between inference calls. More details can be found on the -:doc:`StateAPI` documentation page. +:doc:`StateAPI<../../../../../openvino-workflow/running-inference/stateful-models-intro>` ../../../../../documentation page. If the 1st input is provided and this is the first inference or reset has been called, *ReadValue* returns the value from the 1st input. diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-and-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-and-1.rst index 6b84add1486..4c6db916553 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-and-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-and-1.rst @@ -31,8 +31,8 @@ After broadcasting *LogicalAnd* does the following with the input tensors *a* an * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match, - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-or-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-or-1.rst index 119ccfa96ce..a7da97321ec 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-or-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-or-1.rst @@ -31,8 +31,8 @@ After broadcasting *LogicalOr* does the following with the input tensors *a* and * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-xor-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-xor-1.rst index a27de362b21..abf93d076a3 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-xor-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/logical/logical-xor-1.rst @@ -31,8 +31,8 @@ After broadcasting *LogicalXor* does the following with the input tensors *a* an * **Range of values**: * *none* - no auto-broadcasting is allowed, all input shapes must match - * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations `, - * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations `. + * *numpy* - numpy broadcasting rules, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, + * *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. * **Type**: string * **Default value**: "numpy" diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/matrix/einsum-7.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/matrix/einsum-7.rst index bc21e29b2b6..d58998266b6 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/matrix/einsum-7.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/matrix/einsum-7.rst @@ -113,7 +113,7 @@ Example 5 shows how *Einsum* transposes input tensor: [[3.0, 6.0, 9.0]]] -In addition to an alphabetic label, ellipsis ``...`` can be used as a label in a subscript to cover broadcasted dimensions. Each input subscript can contain at most one ellipsis. For example, the ellipsis in input subscript ``a...bc`` for five rank tensor covers the second and third dimensions. In case input subscripts contain ellipsis for several operands, the dimensions covered by the ellipsis must be broadcastable to satisfy numpy broadcasting (or multidirectional broadcasting) rules available in :doc:`Broadcast Rules For Elementwise Operations `. If at least one input subscript contains an ellipsis, the output subscript must always contain one ellipsis. For example, *Einsum* operation on two inputs of shapes ``[9, 1, 4, 3]`` and ``[3, 11, 7, 1]`` with ``equation="a...b,b...->a..."`` has ellipsis for both operands covering dimensions with sizes ``[1, 4]`` and ``[11, 7, 1]`` that are broadcasted to ``[11, 7, 4]``. The resulted shape of *Einsum* operation will be ``[9, 11, 7, 4]`` since the dimension labeled with ``a`` is left with broadcasted dimensions. +In addition to an alphabetic label, ellipsis ``...`` can be used as a label in a subscript to cover broadcasted dimensions. Each input subscript can contain at most one ellipsis. For example, the ellipsis in input subscript ``a...bc`` for five rank tensor covers the second and third dimensions. In case input subscripts contain ellipsis for several operands, the dimensions covered by the ellipsis must be broadcastable to satisfy numpy broadcasting (or multidirectional broadcasting) rules available in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`. If at least one input subscript contains an ellipsis, the output subscript must always contain one ellipsis. For example, *Einsum* operation on two inputs of shapes ``[9, 1, 4, 3]`` and ``[3, 11, 7, 1]`` with ``equation="a...b,b...->a..."`` has ellipsis for both operands covering dimensions with sizes ``[1, 4]`` and ``[11, 7, 1]`` that are broadcasted to ``[11, 7, 4]``. The resulted shape of *Einsum* operation will be ``[9, 11, 7, 4]`` since the dimension labeled with ``a`` is left with broadcasted dimensions. Example 6 shows how *Einsum* operates on the single input with an equation containing ellipsis: diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/broadcast-1.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/broadcast-1.rst index 583a1826094..019fa69c801 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/broadcast-1.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/broadcast-1.rst @@ -18,7 +18,7 @@ Broadcast *Broadcast* takes the first tensor ``data`` and, following broadcasting rules that are specified by ``mode`` attribute and the 3rd input ``axes_mapping``, builds a new tensor with shape matching the 2nd input tensor ``target_shape``. ``target_shape`` input is a 1D integer tensor that represents required shape of the output. -Attribute ``mode`` and the 3rd input ``axes_mapping`` are relevant for cases when rank of the input ``data`` tensor doesn't match the size of the ``target_shape`` input. They both define how axes from ``data`` shape are mapped to the output axes. If ``mode`` is set to ``numpy``, it means that the standard one-directional numpy broadcasting rules are applied. These rules are described in :doc:`Broadcast Rules For Elementwise Operations `, when only one-directional broadcasting is applied: input tensor ``data`` is broadcasted to ``target_shape`` but not vice-versa. +Attribute ``mode`` and the 3rd input ``axes_mapping`` are relevant for cases when rank of the input ``data`` tensor doesn't match the size of the ``target_shape`` input. They both define how axes from ``data`` shape are mapped to the output axes. If ``mode`` is set to ``numpy``, it means that the standard one-directional numpy broadcasting rules are applied. These rules are described in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, when only one-directional broadcasting is applied: input tensor ``data`` is broadcasted to ``target_shape`` but not vice-versa. In case if ``mode`` is set to ``explicit``, then 3rd input ``axes_mapping`` comes to play. It contains a list of axis indices, each index maps an axis from the 1st input tensor ``data`` to axis in the output. The size of ``axis_mapping`` should match the rank of input ``data`` tensor, so all axes from ``data`` tensor should be mapped to axes of the output. diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/broadcast-3.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/broadcast-3.rst index e13946f4780..2e32017fa27 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/broadcast-3.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/broadcast-3.rst @@ -18,9 +18,9 @@ Broadcast *Broadcast* takes the first tensor ``data`` and, following broadcasting rules that are specified by ``mode`` attribute and the 3rd input ``axes_mapping``, builds a new tensor with shape matching the 2nd input tensor ``target_shape``. ``target_shape`` input is a 1D integer tensor that represents required shape of the output. -Attribute ``mode`` and the 3rd input ``axes_mapping`` are relevant for cases when rank of the input ``data`` tensor doesn't match the size of the ``target_shape`` input. They both define how axes from ``data`` shape are mapped to the output axes. If ``mode`` is set to ``numpy``, it means that the standard one-directional numpy broadcasting rules are applied. These rules are described in :doc:`Broadcast Rules For Elementwise Operations `, when only one-directional broadcasting is applied: input tensor ``data`` is broadcasted to ``target_shape`` but not vice-versa. +Attribute ``mode`` and the 3rd input ``axes_mapping`` are relevant for cases when rank of the input ``data`` tensor doesn't match the size of the ``target_shape`` input. They both define how axes from ``data`` shape are mapped to the output axes. If ``mode`` is set to ``numpy``, it means that the standard one-directional numpy broadcasting rules are applied. These rules are described in :doc:`Broadcast Rules For Elementwise Operations <../../broadcast-rules>`, when only one-directional broadcasting is applied: input tensor ``data`` is broadcasted to ``target_shape`` but not vice-versa. -In case if ``mode`` is set to ``bidirectional``, then the broadcast rule is similar to ``numpy.array(input) * numpy.ones(target_shape)``. Dimensions are right alignment. Two corresponding dimension must have the same value, or one of them is equal to 1. If this attribute value is used, then the 3rd input for the operation shouldn't be provided. The behaviour is described in :doc:`Bidirectional Broadcast Rules `. +In case if ``mode`` is set to ``bidirectional``, then the broadcast rule is similar to ``numpy.array(input) * numpy.ones(target_shape)``. Dimensions are right alignment. Two corresponding dimension must have the same value, or one of them is equal to 1. If this attribute value is used, then the 3rd input for the operation shouldn't be provided. The behaviour is described in :doc:`Bidirectional Broadcast Rules <../../broadcast-rules>`. In case if ``mode`` is set to ``explicit``, then 3rd input ``axes_mapping`` comes to play. It contains a list of axis indices, each index maps an axis from the 1st input tensor ``data`` to axis in the output. The size of ``axis_mapping`` should match the rank of input ``data`` tensor, so all axes from ``data`` tensor should be mapped to axes of the output. diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/gather-nd-5.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/gather-nd-5.rst index 02e99aeb4b3..8333581bb85 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/gather-nd-5.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/gather-nd-5.rst @@ -74,7 +74,7 @@ Example 3 shows how *GatherND* operates when `indices` tensor has leading dimens .. note:: The calculation of output shape is incorrect for non-default *batch_dims* value greater than one. - For correct calculations use the :doc:`GatherND_8 ` operation. + For correct calculations use the :doc:`GatherND_8 ` operation. * **Range of values**: integer number and belongs to ``[0; min(data.rank, indices.rank))`` * **Type**: int diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/pad-12.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/pad-12.rst index 1c214393d6c..0538e5e14a6 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/pad-12.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/pad-12.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_movement_Pad_12} +.. {#pad-12} Pad === diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/unique-10.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/unique-10.rst index 38e8bd103a0..ec60d8c54bc 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/unique-10.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/movement/unique-10.rst @@ -54,7 +54,7 @@ The operator can either work in elementwise mode searching for unique values in **Outputs** -* **1**: The output tensor containing unique elements (individual values or subtensors). This tensor's type matches the type of the first input tensor: *T*. The values in this tensor are either sorted ascendingly or maintain the same order as in the input tensor. The shape of this output depends on the values of the input tensor and will very often be dynamic. Please refer to the article describing how :doc:`Dynamic Shapes ` are handled in OpenVINO. +* **1**: The output tensor containing unique elements (individual values or subtensors). This tensor's type matches the type of the first input tensor: *T*. The values in this tensor are either sorted ascendingly or maintain the same order as in the input tensor. The shape of this output depends on the values of the input tensor and will very often be dynamic. Please refer to the article describing how :doc:`Dynamic Shapes <../../../../../openvino-workflow/running-inference/dynamic-shapes>` are handled in OpenVINO. * **2**: The output tensor containing indices of the locations of unique elements. The indices map the elements in the first output tensor to their locations in the input tensor. The index always points to the first occurrence of a given unique output element in the input tensor. This is a 1D tensor with type controlled by the ``index_element_type`` attribute. * **3**: The output tensor containing indices of the locations of elements of the input tensor in the first output tensor. This means that for each element of the input tensor this output will point to the unique value in the first output tensor of this operator. This is a 1D tensor with type controlled by the ``index_element_type`` attribute. * **4**: The output tensor containing the number of occurrences of each unique value produced by this operator in the first output tensor. This is a 1D tensor with type controlled by the ``count_element_type`` attribute. diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/ctc-greedy-decoder-seq-len-6.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/ctc-greedy-decoder-seq-len-6.rst index 6ff19be0776..c9f864e568a 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/ctc-greedy-decoder-seq-len-6.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/ctc-greedy-decoder-seq-len-6.rst @@ -27,7 +27,7 @@ Decoding is done in two steps: Sequences in the batch can have different length. The lengths of sequences are coded in the second input integer tensor ``sequence_length``. -The main difference between :doc:`CTCGreedyDecoder ` and CTCGreedyDecoderSeqLen is in the second input. CTCGreedyDecoder uses 2D input floating-point tensor with sequence masks for each sequence in the batch while CTCGreedyDecoderSeqLen uses 1D integer tensor with sequence lengths. +The main difference between :doc:`CTCGreedyDecoder ` and CTCGreedyDecoderSeqLen is in the second input. CTCGreedyDecoder uses 2D input floating-point tensor with sequence masks for each sequence in the batch while CTCGreedyDecoderSeqLen uses 1D integer tensor with sequence lengths. **Attributes** diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/gru-cell-3.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/gru-cell-3.rst index 9fe62051dce..9b650dfb789 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/gru-cell-3.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/gru-cell-3.rst @@ -66,7 +66,7 @@ GRUCell * *linear_before_reset* * **Description**: *linear_before_reset* flag denotes if the layer behaves according to the modification - of *GRUCell* described in the formula in the `ONNX documentation `__. + of *GRUCell* described in the formula in the `ONNX ../../../../../documentation `__. * **Range of values**: true or false * **Type**: ``boolean`` * **Default value**: false diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/gru-sequence-5.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/gru-sequence-5.rst index cde02fe919f..6c7f2ea8471 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/gru-sequence-5.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/gru-sequence-5.rst @@ -71,7 +71,7 @@ are in sync with the specification of ONNX GRU operator defined * *linear_before_reset* * **Description**: *linear_before_reset* flag denotes if the layer behaves according to the modification - of *GRUCell* described in the formula in the `ONNX documentation `__. + of *GRUCell* described in the formula in the `ONNX ../../../../../documentation `__. * **Range of values**: True or False * **Type**: ``boolean`` * **Default value**: False diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/rnn-cell-3.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/rnn-cell-3.rst index 3d4625f77b2..be5b222ca55 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/rnn-cell-3.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sequence/rnn-cell-3.rst @@ -16,7 +16,7 @@ RNNCell **Detailed description**: -*RNNCell* represents a single RNN cell and is part of :doc:`RNNSequence ` operation. +*RNNCell* represents a single RNN cell and is part of :doc:`RNNSequence ` operation. .. code-block:: cpp diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sort/top-k-11.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sort/top-k-11.rst index 1abb648351d..cfc3977645c 100644 --- a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sort/top-k-11.rst +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/sort/top-k-11.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_ops_sort_TopK_11} +.. {#top-k-11} TopK ==== diff --git a/docs/articles_en/documentation/openvino-security.rst b/docs/articles_en/documentation/openvino-security.rst index a2b1c74c259..da8a4427c21 100644 --- a/docs/articles_en/documentation/openvino-security.rst +++ b/docs/articles_en/documentation/openvino-security.rst @@ -8,7 +8,7 @@ OpenVINO Security :maxdepth: 1 :hidden: - openvino_docs_OV_UG_protecting_model_guide + openvino-security/openvino-encrypted-models Deploying deep learning models for OpenVINO may raise security and privacy issues. @@ -16,6 +16,6 @@ Trained models are often valuable intellectual property and you may choose to pr Actual security and privacy requirements depend on your unique deployment scenario. This section provides general guidance on using OpenVINO tools and libraries securely. -The main security measure for OpenVINO is its :doc:`Security Add-on `. You can find its description in the Ecosystem section. +The main security measure for OpenVINO is its :doc:`Security Add-on `. You can find its description in the Ecosystem section. diff --git a/docs/articles_en/documentation/openvino-security/openvino-encrypted-models.rst b/docs/articles_en/documentation/openvino-security/openvino-encrypted-models.rst index 4a5a4a74596..dfdc05e66d9 100644 --- a/docs/articles_en/documentation/openvino-security/openvino-encrypted-models.rst +++ b/docs/articles_en/documentation/openvino-security/openvino-encrypted-models.rst @@ -22,7 +22,7 @@ After a model is optimized by model conversion API, it's deployed to target devi Encrypting and optimizing model before deploying it to the edge device can be used to protect deep-learning models. The edge device should keep the stored model protected all the time and have the model decrypted **in runtime only** for use by the OpenVINO Runtime. -.. image:: _static/images/deploy_encrypted_model.svg +.. image:: ../../_static/images/deploy_encrypted_model.svg Loading Encrypted Models ######################## @@ -47,10 +47,10 @@ Additional Resources #################### - Intel® Distribution of OpenVINO™ toolkit `home page `__. -- :doc:`Convert a Model `. -- :doc:`OpenVINO™ Runtime User Guide `. -- For more information on Sample Applications, see the :doc:`OpenVINO Samples Overview ` -- For information on a set of pre-trained models, see the :doc:`Overview of OpenVINO™ Toolkit Pre-Trained Models `. +- :doc:`Convert a Model <../legacy-features/transition-legacy-conversion-api/legacy-conversion-api>`. +- :doc:`OpenVINO™ Runtime User Guide <../../openvino-workflow/running-inference>`. +- For more information on Sample Applications, see the :doc:`OpenVINO Samples Overview <../../learn-openvino/openvino-samples>` +- For information on a set of pre-trained models, see the :doc:`Overview of OpenVINO™ Toolkit Pre-Trained Models <../../omz_models_group_intel>`. - For IoT Libraries and Code Samples, see the `Intel® IoT Developer Kit `__. diff --git a/docs/articles_en/get-started.rst b/docs/articles_en/get-started.rst index 1ffb9b28314..84574b17f26 100644 --- a/docs/articles_en/get-started.rst +++ b/docs/articles_en/get-started.rst @@ -13,10 +13,10 @@ GET STARTED :maxdepth: 1 :hidden: - Install OpenVINO - Additional Hardware Setup - Troubleshooting - System Requirements + Install OpenVINO + Additional Hardware Setup + Troubleshooting + System Requirements .. raw:: html @@ -25,7 +25,7 @@ GET STARTED

Welcome to OpenVINO! This guide introduces installation and learning materials for Intel® Distribution of OpenVINO™ toolkit. The guide walks through the following steps:
Quick Start Example - Install OpenVINO + Install OpenVINO Learn OpenVINO

@@ -45,9 +45,9 @@ Try out OpenVINO's capabilities with this `quick start example ` for options to install OpenVINO and set up a development environment on your device. +See the :doc:`installation overview page ` for options to install OpenVINO and set up a development environment on your device. -.. _get-started-tutorials: +.. _get-started-learn-openvino/interactive-tutorials-python: 3. Learn OpenVINO ################# @@ -63,12 +63,12 @@ OpenVINO Basics Learn the basics of working with models and inference in OpenVINO. Begin with “Hello World” Interactive Tutorials that show how to prepare models, run inference, and retrieve results using the OpenVINO API. Then, explore other examples from the Open Model Zoo and OpenVINO Code Samples that can be adapted for your own application. -.. _interactive-tutorials: +.. _interactive-learn-openvino/interactive-tutorials-python: Interactive Tutorials - Jupyter Notebooks ----------------------------------------- -Start with :doc:`interactive Python tutorials ` that show the basics of model inferencing, the OpenVINO API, how to convert models to OpenVINO format, and more. +Start with :doc:`interactive Python learn-openvino/interactive-tutorials-python ` that show the basics of model inferencing, the OpenVINO API, how to convert models to OpenVINO format, and more. * `Hello Image Classification `__ - Load an image classification model in OpenVINO and use it to apply a label to an image * `OpenVINO Runtime API Tutorial `__ - Learn the basic Python API for working with models in OpenVINO @@ -80,14 +80,14 @@ Start with :doc:`interactive Python tutorials ` that show the basics OpenVINO Code Samples --------------------- -View :doc:`sample code ` for various C++ and Python applications that can be used as a starting point for your own application. For C++ developers, step through the :doc:`Get Started with C++ Samples ` to learn how to build and run an image classification program that uses OpenVINO’s C++ API. +View :doc:`sample code ` for various C++ and Python applications that can be used as a starting point for your own application. For C++ developers, step through the :doc:`Get Started with C++ Samples ` to learn how to build and run an image classification program that uses OpenVINO’s C++ API. .. _integrate-openvino: Integrate OpenVINO With Your Application ---------------------------------------- -Learn how to :doc:`use the OpenVINO API to implement an inference pipeline ` in your application. +Learn how to :doc:`use the OpenVINO API to implement an inference pipeline ` in your application. .. _openvino-advanced-features: @@ -104,33 +104,33 @@ Use OpenVINO’s model compression tools to reduce your model’s latency and me * Tutorial - `OpenVINO Post-Training Model Quantization `__ * Tutorial - `Quantization-Aware Training in TensorFlow with OpenVINO NNCF `__ * Tutorial - `Quantization-Aware Training in PyTorch with NNCF `__ -* :doc:`Model Optimization Guide ` +* :doc:`Model Optimization Guide ` Automated Device Configuration ------------------------------ OpenVINO’s hardware device configuration options enable you to write an application once and deploy it anywhere with optimal performance. -* Increase application portability with :doc:`Automatic Device Selection (AUTO) ` -* Perform parallel inference across processors with :doc:`Multi-Device Execution (MULTI) ` -* Efficiently split inference between hardware cores with :doc:`Heterogeneous Execution (HETERO) ` +* Increase application portability with :doc:`Automatic Device Selection (AUTO) ` +* Perform parallel inference across processors with :doc:`Multi-Device Execution (MULTI) ` +* Efficiently split inference between hardware cores with :doc:`Heterogeneous Execution (HETERO) ` Flexible Model and Pipeline Configuration ----------------------------------------- Pipeline and model configuration features in OpenVINO Runtime allow you to easily optimize your application’s performance on any target hardware. -* :doc:`Automatic Batching ` performs on-the-fly grouping of inference requests to maximize utilization of the target hardware’s memory and processing cores. -* :doc:`Performance Hints ` automatically adjust runtime parameters to prioritize for low latency or high throughput -* :doc:`Dynamic Shapes ` reshapes models to accept arbitrarily-sized inputs, increasing flexibility for applications that encounter different data shapes -* :doc:`Benchmark Tool ` characterizes model performance in various hardware and pipeline configurations +* :doc:`Automatic Batching ` performs on-the-fly grouping of inference requests to maximize utilization of the target hardware’s memory and processing cores. +* :doc:`Performance Hints ` automatically adjust runtime parameters to prioritize for low latency or high throughput +* :doc:`Dynamic Shapes ` reshapes models to accept arbitrarily-sized inputs, increasing flexibility for applications that encounter different data shapes +* :doc:`Benchmark Tool ` characterizes model performance in various hardware and pipeline configurations -.. _additional-resources: +.. _additional-about-openvino/additional-resources: Additional Resources ==================== * `OpenVINO Success Stories `__ - See how Intel partners have successfully used OpenVINO in production applications to solve real-world problems. -* :doc:`OpenVINO Supported Models ` - Check which models OpenVINO supports on your hardware. -* :doc:`Performance Benchmarks ` - View results from benchmarking models with OpenVINO on Intel hardware. +* :doc:`OpenVINO Supported Models ` - Check which models OpenVINO supports on your hardware. +* :doc:`Performance Benchmarks ` - View results from benchmarking models with OpenVINO on Intel hardware. diff --git a/docs/articles_en/get-started/configurations-header.rst b/docs/articles_en/get-started/configurations-header.rst index b92039c2ae6..10c5617223e 100644 --- a/docs/articles_en/get-started/configurations-header.rst +++ b/docs/articles_en/get-started/configurations-header.rst @@ -14,8 +14,8 @@ Additional Configurations For Hardware :maxdepth: 2 :hidden: - For GPU - For NPU + For GPU + For NPU For certain use cases, you may need to install additional software, to use the full potential of OpenVINO™. Check the following list for components for elements used in @@ -23,14 +23,14 @@ your workflow: | **GPU drivers** | If you want to run inference on a GPU, make sure your GPU's drivers are properly installed. - See the :doc:`guide on GPU configuration ` + See the :doc:`guide on GPU configuration ` for details. | **NPU drivers** | Intel's Neural Processing Unit introduced with the Intel® Core™ Ultra generation of CPUs (formerly known as Meteor Lake), is a low-power solution for offloading neural network computation. If you want to run inference on an NPU, make sure your NPU's drivers are properly installed. - See the :doc:`guide on NPU configuration ` + See the :doc:`guide on NPU configuration ` for details. | **Open Computer Vision Library** diff --git a/docs/articles_en/get-started/configurations-header/configurations-intel-gpu.rst b/docs/articles_en/get-started/configurations-header/configurations-intel-gpu.rst index 9ffb70e3891..40a32c6562b 100644 --- a/docs/articles_en/get-started/configurations-header/configurations-intel-gpu.rst +++ b/docs/articles_en/get-started/configurations-header/configurations-intel-gpu.rst @@ -22,7 +22,7 @@ To use a GPU device for OpenVINO inference, you must install OpenCL runtime pack If you are using a discrete GPU (for example Arc 770), you must also be using a supported Linux kernel as per `documentation. `__ - For Arc GPU, kernel 6.2 or higher is recommended. -- For Max and Flex GPU, or Arc with kernel version lower than 6.2, you must also install the ``intel-i915-dkms`` and ``xpu-smi`` kernel modules as described in the installation documentation for `Max/Flex `__ or `Arc. `__ +- For Max and Flex GPU, or Arc with kernel version lower than 6.2, you must also install the ``intel-i915-dkms`` and ``xpu-smi`` kernel modules as described in the installation ../../documentation for `Max/Flex `__ or `Arc. `__ Below are the instructions on how to install the OpenCL packages on supported Linux distributions. These instructions install the `Intel(R) Graphics Compute Runtime for oneAPI Level Zero and OpenCL(TM) Driver `__ and its dependencies: @@ -87,13 +87,13 @@ To check if the driver has been installed: 1. Type **device manager** in the **Search Windows** field and press Enter. **Device Manager** will open. 2. Click the drop-down arrow to display **Display Adapters**. You can see the adapter that is installed in your computer: - .. image:: _static/images/DeviceManager.PNG + .. image:: ../../_static/images/DeviceManager.PNG :width: 400 3. Right-click on the adapter name and select **Properties**. 4. Click the **Driver** tab to view the driver version. - .. image:: _static/images/DeviceDriverVersion.svg + .. image:: ../../_static/images/DeviceDriverVersion.svg :width: 400 Your device driver has been updated and is now ready to use your GPU. @@ -148,8 +148,8 @@ The following Intel® Graphics Driver versions were used during OpenVINO's inter What’s Next? ############ -* :doc:`GPU Device ` -* :doc:`Install Intel® Distribution of OpenVINO™ toolkit from a Docker Image ` +* :doc:`GPU Device <../../openvino-workflow/running-inference/inference-devices-and-modes/gpu-device>` +* :doc:`Install Intel® Distribution of OpenVINO™ toolkit from a Docker Image <../install-openvino-overview/install-openvino-linux-header/install-openvino-archive-linux>` * `Docker CI framework for Intel® Distribution of OpenVINO™ toolkit `__ * `Get Started with DockerHub CI for Intel® Distribution of OpenVINO™ toolkit `__ * `Dockerfiles with Intel® Distribution of OpenVINO™ toolkit `__ diff --git a/docs/articles_en/get-started/install-openvino-overview.rst b/docs/articles_en/get-started/install-openvino-overview.rst index 637b97e1680..5b681e83c5a 100644 --- a/docs/articles_en/get-started/install-openvino-overview.rst +++ b/docs/articles_en/get-started/install-openvino-overview.rst @@ -13,16 +13,16 @@ Install OpenVINO™ 2024.0 :maxdepth: 3 :hidden: - OpenVINO Runtime on Linux - OpenVINO Runtime on Windows - OpenVINO Runtime on macOS + OpenVINO Runtime on Linux + OpenVINO Runtime on Windows + OpenVINO Runtime on macOS .. raw:: html - + - + .. warning:: @@ -31,7 +31,7 @@ Install OpenVINO™ 2024.0 all necessary components. The OpenVINO Development Tools is still available for older versions of OpenVINO, - as well as the current one, from the GitHub repository and PyPI. :doc:`Learn more `. + as well as the current one, from the GitHub repository and PyPI. :doc:`Learn more <../documentation/legacy-features/install-dev-tools>`. .. tip:: diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header.rst index a1e6bba8743..6d4de38a5be 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header.rst @@ -14,28 +14,28 @@ Install OpenVINO™ Runtime on Linux :maxdepth: 3 :hidden: - Use Archive - Use PyPI - Use APT - Use YUM - Use Conda Forge - Use vcpkg - Use Homebrew - Use Conan - Use Docker + Use Archive + Use PyPI + Use APT + Use YUM + Use Conda Forge + Use vcpkg + Use Homebrew + Use Conan + Use Docker If you want to install OpenVINO™ Runtime on Linux, you have the following options: -* :doc:`Install OpenVINO using an Archive File ` -* :doc:`Install OpenVINO using PyPI ` -* :doc:`Install OpenVINO using APT ` -* :doc:`Install OpenVINO using YUM ` -* :doc:`Install OpenVINO using Conda Forge ` -* :doc:`Install OpenVINO using vcpkg ` -* :doc:`Install OpenVINO using Homebrew ` -* :doc:`Install OpenVINO using Docker ` -* :doc:`Install OpenVINO using Conan Package Manager ` +* :doc:`Install OpenVINO using an Archive File ` +* :doc:`Install OpenVINO using PyPI ` +* :doc:`Install OpenVINO using APT ` +* :doc:`Install OpenVINO using YUM ` +* :doc:`Install OpenVINO using Conda Forge ` +* :doc:`Install OpenVINO using vcpkg ` +* :doc:`Install OpenVINO using Homebrew ` +* :doc:`Install OpenVINO using Docker ` +* :doc:`Install OpenVINO using Conan Package Manager ` diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-apt.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-apt.rst index 7d593d907ee..968c8ebbfd4 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-apt.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-apt.rst @@ -23,7 +23,7 @@ Install Intel® Distribution of OpenVINO™ Toolkit for Linux Using APT Reposito :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. tab-item:: Processor Notes :sync: processor-notes @@ -167,11 +167,11 @@ Run the following command: Congratulations! You've just Installed OpenVINO! For some use cases you may still need to install additional components. Check the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. With the APT distribution, you can build OpenVINO sample files, as explained in the -:doc:`guide for OpenVINO sample applications `. +:doc:`guide for OpenVINO sample applications <../../../learn-openvino/openvino-samples>`. For C++ and C, just run the ``build_samples.sh`` script: .. tab-set:: @@ -228,9 +228,9 @@ What's Next? ####################################### Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! -Learn more about how to integrate a model in OpenVINO applications by trying out the following tutorials: +Learn more about how to integrate a model in OpenVINO applications by trying out the following ../../../learn-openvino/interactive-tutorials-python: -* Try the `C++ Quick Start Example `_ for step-by-step +* Try the `C++ Quick Start Example <../../../learn-openvino/openvino-samples/get-started-demos.html>`_ for step-by-step instructions on building and running a basic image classification C++ application. .. image:: https://user-images.githubusercontent.com/36741649/127170593-86976dc3-e5e4-40be-b0a6-206379cd7df5.jpg @@ -238,16 +238,16 @@ Learn more about how to integrate a model in OpenVINO applications by trying out * Visit the :ref:`Samples ` page for other C++ example applications to get you started with OpenVINO, such as: - * `Basic object detection with the Hello Reshape SSD C++ sample `_ - * `Object classification sample `_ + * `Basic object detection with the Hello Reshape SSD C++ sample <../../../learn-openvino/openvino-samples/hello-reshape-ssd.html>`_ + * `Object classification sample <../../../learn-openvino/openvino-samples/hello-classification.html>`_ You can also try the following: -* Learn more about :doc:`OpenVINO Workflow `. -* To prepare your models for working with OpenVINO, see :doc:`Model Preparation `. -* See pre-trained deep learning models in our :doc:`Open Model Zoo `. -* Learn more about :doc:`Inference with OpenVINO Runtime `. -* See sample applications in :doc:`OpenVINO toolkit Samples Overview `. +* Learn more about :doc:`OpenVINO Workflow <../../../openvino-workflow>`. +* To prepare your models for working with OpenVINO, see :doc:`Model Preparation <../../../openvino-workflow/model-preparation>`. +* See pre-trained deep learning models in our :doc:`Open Model Zoo <../../../documentation/legacy-features/model-zoo>`. +* Learn more about :doc:`Inference with OpenVINO Runtime <../../../openvino-workflow/running-inference>`. +* See sample applications in :doc:`OpenVINO toolkit Samples Overview <../../../learn-openvino/openvino-samples>`. * Take a glance at the OpenVINO product home page: https://software.intel.com/en-us/openvino-toolkit. diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-archive-linux.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-archive-linux.rst index 351ca99aeb0..6d5e6dbb007 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-archive-linux.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-archive-linux.rst @@ -40,7 +40,7 @@ Install OpenVINO™ Runtime on Linux from an Archive File :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. tab-item:: Processor Notes :sync: processor-notes @@ -236,7 +236,7 @@ Step 1: Download and Install the OpenVINO Core Components Congratulations, you have finished the installation! For some use cases you may still need to install additional components. Check the description below, as well as the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. The ``/opt/intel/openvino_2023`` folder now contains the core components for OpenVINO. @@ -276,39 +276,39 @@ What's Next? ############################################################ Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! -Learn more about how to integrate a model in OpenVINO applications by trying out the following tutorials. +Learn more about how to integrate a model in OpenVINO applications by trying out the following ../../../learn-openvino/interactive-tutorials-python. .. tab-set:: .. tab-item:: Get started with Python :sync: get-started-py - Try the `Python Quick Start Example `_ + Try the `Python Quick Start Example <../../../notebooks/201-vision-monodepth-with-output.html>`_ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif :width: 400 - Visit the :doc:`Tutorials ` page for more Jupyter Notebooks to get you started with OpenVINO, such as: + Visit the :doc:`Tutorials <../../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: - * `OpenVINO Python API Tutorial `__ - * `Basic image classification program with Hello Image Classification `__ - * `Convert a PyTorch model and use it for image background removal `__ + * `OpenVINO Python API Tutorial <../../../notebooks/002-openvino-api-with-output.html>`__ + * `Basic image classification program with Hello Image Classification <../../../notebooks/001-hello-world-with-output.html>`__ + * `Convert a PyTorch model and use it for image background removal <../../../notebooks/205-vision-background-removal-with-output.html>`__ .. tab-item:: Get started with C++ :sync: get-started-cpp - Try the :doc:`C++ Quick Start Example ` for step-by-step instructions + Try the :doc:`C++ Quick Start Example <../../../learn-openvino/openvino-samples/get-started-demos>` for step-by-step instructions on building and running a basic image classification C++ application. .. image:: https://user-images.githubusercontent.com/36741649/127170593-86976dc3-e5e4-40be-b0a6-206379cd7df5.jpg :width: 400 - Visit the :doc:`Samples ` page for other C++ example applications to get you started with OpenVINO, such as: + Visit the :doc:`Samples <../../../learn-openvino/openvino-samples>` page for other C++ example applications to get you started with OpenVINO, such as: - * `Basic object detection with the Hello Reshape SSD C++ sample `__ - * `Object classification sample `__ + * `Basic object detection with the Hello Reshape SSD C++ sample <../../../learn-openvino/openvino-samples/hello-reshape-ssd.html>`__ + * `Object classification sample <../../../learn-openvino/openvino-samples/hello-classification.html>`__ @@ -338,11 +338,11 @@ To delete the files: Additional Resources ########################################################### -* :doc:`Troubleshooting Guide for OpenVINO Installation & Configuration ` -* Converting models for use with OpenVINO™: :doc:`Convert a Model ` -* Writing your own OpenVINO™ applications: :doc:`OpenVINO™ Runtime User Guide ` -* Sample applications: :doc:`OpenVINO™ Toolkit Samples Overview ` -* Pre-trained deep learning models: :doc:`Overview of OpenVINO™ Toolkit Pre-Trained Models ` +* :doc:`Troubleshooting Guide for OpenVINO Installation & Configuration <../../troubleshooting-install-config>` +* Converting models for use with OpenVINO™: :doc:`Convert a Model <../../../openvino-workflow/model-preparation>` +* Writing your own OpenVINO™ applications: :doc:`OpenVINO™ Runtime User Guide <../../../openvino-workflow/running-inference>` +* Sample applications: :doc:`OpenVINO™ Toolkit Samples Overview <../../../learn-openvino/openvino-samples>` +* Pre-trained deep learning models: :doc:`Overview of OpenVINO™ Toolkit Pre-Trained Models <../../../documentation/legacy-features/model-zoo>` * IoT libraries and code samples in the GitHub repository: `Intel® IoT Developer Kit `__ diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-yum.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-yum.rst index ea29564c487..73cc2633624 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-yum.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-yum.rst @@ -23,7 +23,7 @@ Install OpenVINO™ Runtime on Linux From YUM Repository :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. note:: @@ -144,15 +144,15 @@ Run the following command: .. note:: - You can additionally install Python API using one of the alternative methods (:doc:`conda ` or :doc:`pip `). + You can additionally install Python API using one of the alternative methods (:doc:`conda <../install-openvino-shared/install-openvino-conda>` or :doc:`pip <../install-openvino-shared/install-openvino-pip>`). Congratulations! You've just Installed OpenVINO! For some use cases you may still need to install additional components. Check the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. With the YUM distribution, you can build OpenVINO sample files, as explained in the -:doc:`guide for OpenVINO sample applications `. +:doc:`guide for OpenVINO sample applications <../../../learn-openvino/openvino-samples>`. For C++ and C, just run the ``build_samples.sh`` script: .. tab-set:: @@ -208,9 +208,9 @@ What's Next? ############# Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! -Learn more about how to integrate a model in OpenVINO applications by trying out the following tutorials: +Learn more about how to integrate a model in OpenVINO applications by trying out the following ../../../learn-openvino/interactive-tutorials-python: -* Try the `C++ Quick Start Example `_ +* Try the `C++ Quick Start Example <../../../learn-openvino/openvino-samples/get-started-demos.html>`_ for step-by-step instructions on building and running a basic image classification C++ application. .. image:: https://user-images.githubusercontent.com/36741649/127170593-86976dc3-e5e4-40be-b0a6-206379cd7df5.jpg @@ -218,16 +218,16 @@ Learn more about how to integrate a model in OpenVINO applications by trying out * Visit the :ref:`Samples ` page for other C++ example applications to get you started with OpenVINO, such as: - * `Basic object detection with the Hello Reshape SSD C++ sample `_ - * `Object classification sample `_ + * `Basic object detection with the Hello Reshape SSD C++ sample <../../../learn-openvino/openvino-samples/hello-reshape-ssd.html>`_ + * `Object classification sample <../../../learn-openvino/openvino-samples/hello-classification.html>`_ You can also try the following things: -* Learn more about :doc:`OpenVINO Workflow `. -* To prepare your models for working with OpenVINO, see :doc:`Model Preparation `. -* See pre-trained deep learning models in our :doc:`Open Model Zoo `. -* Learn more about :doc:`Inference with OpenVINO Runtime `. -* See sample applications in :doc:`OpenVINO toolkit Samples Overview `. +* Learn more about :doc:`OpenVINO Workflow <../../../openvino-workflow>`. +* To prepare your models for working with OpenVINO, see :doc:`Model Preparation <../../../openvino-workflow/model-preparation>`. +* See pre-trained deep learning models in our :doc:`Open Model Zoo <../../../documentation/legacy-features/model-zoo>`. +* Learn more about :doc:`Inference with OpenVINO Runtime <../../../openvino-workflow/running-inference>`. +* See sample applications in :doc:`OpenVINO toolkit Samples Overview <../../../learn-openvino/openvino-samples>`. * Take a glance at the OpenVINO product home page: https://software.intel.com/en-us/openvino-toolkit. diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-macos-header.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-macos-header.rst index 157a3b19829..f128d82fa2a 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-macos-header.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-macos-header.rst @@ -14,23 +14,23 @@ Install OpenVINO™ Runtime for macOS :maxdepth: 3 :hidden: - Use Archive - Use Homebrew - Use PyPI - Use Conda Forge - Use vcpkg - Use Conan + Use Archive + Use Homebrew + Use PyPI + Use Conda Forge + Use vcpkg + Use Conan If you want to install OpenVINO™ Runtime on macOS, you have the following options: -* :doc:`Install OpenVINO using an Archive File ` -* :doc:`Install OpenVINO using PyPI ` -* :doc:`Install OpenVINO using Conda Forge ` -* :doc:`Install OpenVINO using Homebrew ` -* :doc:`Install OpenVINO using vcpkg ` -* :doc:`Install OpenVINO using Conan Package Manager ` +* :doc:`Install OpenVINO using an Archive File ` +* :doc:`Install OpenVINO using PyPI ` +* :doc:`Install OpenVINO using Conda Forge ` +* :doc:`Install OpenVINO using Homebrew ` +* :doc:`Install OpenVINO using vcpkg ` +* :doc:`Install OpenVINO using Conan Package Manager ` diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-macos-header/install-openvino-archive-macos.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-macos-header/install-openvino-archive-macos.rst index 252154750cf..6e009ba3097 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-macos-header/install-openvino-archive-macos.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-macos-header/install-openvino-archive-macos.rst @@ -25,7 +25,7 @@ Install OpenVINO™ Runtime on macOS from an Archive File :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. tab-item:: Software Requirements :sync: software-requirements @@ -116,13 +116,13 @@ Step 1: Install OpenVINO Core Components Congratulations, you have finished the installation! For some use cases you may still need to install additional components. Check the description below, as well as the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. The ``/opt/intel/openvino_2023`` folder now contains the core components for OpenVINO. If you used a different path in Step 2, for example, ``/home//intel/``, OpenVINO is now in ``/home//intel/openvino_2023``. The path to the ``openvino_2023`` -directory is also referred as ```` throughout the OpenVINO documentation. +directory is also referred as ```` throughout the OpenVINO ../../../documentation. Step 2: Configure the Environment @@ -149,19 +149,19 @@ If you have more than one OpenVINO™ version on your machine, you can easily sw What's Next? #################### -Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! Learn more about how to integrate a model in OpenVINO applications by trying out the following tutorials. +Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! Learn more about how to integrate a model in OpenVINO applications by trying out the following ../../../learn-openvino/interactive-tutorials-python. .. tab-set:: .. tab-item:: Get started with Python :sync: get-started-py - Try the `Python Quick Start Example `__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. + Try the `Python Quick Start Example <../../../notebooks/201-vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif :width: 400 - Visit the :ref:`Tutorials ` page for more Jupyter Notebooks to get you started with OpenVINO, such as: + Visit the :ref:`Tutorials <../../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: * `OpenVINO Python API Tutorial `__ * `Basic image classification program with Hello Image Classification `__ @@ -170,15 +170,15 @@ Now that you've installed OpenVINO Runtime, you're ready to run your own machine .. tab-item:: Get started with C++ :sync: get-started-cpp - Try the `C++ Quick Start Example `_ for step-by-step instructions on building and running a basic image classification C++ application. + Try the `C++ Quick Start Example <../../../learn-openvino/openvino-samples/get-started-demos.html>`_ for step-by-step instructions on building and running a basic image classification C++ application. .. image:: https://user-images.githubusercontent.com/36741649/127170593-86976dc3-e5e4-40be-b0a6-206379cd7df5.jpg :width: 400 Visit the :ref:`Samples ` page for other C++ example applications to get you started with OpenVINO, such as: - * `Basic object detection with the Hello Reshape SSD C++ sample `_ - * `Object classification sample `_ + * `Basic object detection with the Hello Reshape SSD C++ sample <../../../learn-openvino/openvino-samples/hello-reshape-ssd.html>`_ + * `Object classification sample <../../../learn-openvino/openvino-samples/hello-classification.html>`_ Uninstalling Intel® Distribution of OpenVINO™ Toolkit ##################################################### @@ -202,7 +202,7 @@ To delete the files: Additional Resources #################### -* :doc:`Troubleshooting Guide for OpenVINO Installation & Configuration ` +* :doc:`Troubleshooting Guide for OpenVINO Installation & Configuration <../../install-openvino-overview>` * Converting models for use with OpenVINO™: :ref:`Model Optimizer User Guide ` * Writing your own OpenVINO™ applications: :ref:`OpenVINO™ Runtime User Guide ` * Sample applications: :ref:`OpenVINO™ Toolkit Samples Overview ` diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-brew.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-brew.rst index 0940d68969a..33ad777cf29 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-brew.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-brew.rst @@ -23,7 +23,7 @@ Install OpenVINO™ Runtime via Homebrew :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. tab-item:: Processor Notes :sync: processor-notes @@ -74,7 +74,7 @@ Installing OpenVINO Runtime Congratulations! You've just Installed OpenVINO! For some use cases you may still need to install additional components. Check the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. @@ -94,11 +94,11 @@ What's Next? Now that you've installed OpenVINO Runtime, you can try the following things: -* Learn more about :doc:`OpenVINO Workflow `. -* To prepare your models for working with OpenVINO, see :doc:`Model Preparation `. -* See pre-trained deep learning models in our :doc:`Open Model Zoo `. -* Learn more about :doc:`Inference with OpenVINO Runtime `. -* See sample applications in :doc:`OpenVINO toolkit Samples Overview `. +* Learn more about :doc:`OpenVINO Workflow <../../../openvino-workflow>`. +* To prepare your models for working with OpenVINO, see :doc:`Model Preparation <../../../openvino-workflow/model-preparation>`. +* See pre-trained deep learning models in our :doc:`Open Model Zoo <../../../documentation/legacy-features/model-zoo>`. +* Learn more about :doc:`Inference with OpenVINO Runtime <../../../openvino-workflow/running-inference>`. +* See sample applications in :doc:`OpenVINO toolkit Samples Overview <../../../learn-openvino/openvino-samples>`. * Check out the OpenVINO product home page: https://software.intel.com/en-us/openvino-toolkit. diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-conan.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-conan.rst index 8bb322092f3..2f8f4dd5b0b 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-conan.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-conan.rst @@ -24,7 +24,7 @@ Install OpenVINO™ Runtime from Conan Package Manager :sync: system-requirements Full requirement listing is available in: - :doc:`System Requirements Page ` + :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. tab-item:: Processor Notes :sync: processor-notes @@ -89,10 +89,10 @@ Additional Resources ######################## * `Conan Package Manager `__. -* Learn more about :doc:`OpenVINO Workflow `. -* To prepare your models for working with OpenVINO, see :doc:`Model Preparation `. -* Learn more about :doc:`Inference with OpenVINO Runtime `. -* See sample applications in :doc:`OpenVINO toolkit Samples Overview `. +* Learn more about :doc:`OpenVINO Workflow <../../../openvino-workflow>`. +* To prepare your models for working with OpenVINO, see :doc:`Model Preparation <../../../openvino-workflow/model-preparation>`. +* Learn more about :doc:`Inference with OpenVINO Runtime <../../../openvino-workflow/running-inference>`. +* See sample applications in :doc:`OpenVINO toolkit Samples Overview <../../../learn-openvino/openvino-samples>`. * Check out the OpenVINO product `home page `__. diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-conda.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-conda.rst index 8eb83745d88..af5ea4dd8f4 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-conda.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-conda.rst @@ -24,7 +24,7 @@ Install OpenVINO™ Runtime from Conda Forge :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. tab-item:: Processor Notes @@ -68,7 +68,7 @@ Installing OpenVINO Runtime with Anaconda Package Manager Congratulations! You've just Installed OpenVINO! For some use cases you may still need to install additional components. Check the description below, as well as the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. Compiling with OpenVINO Runtime from Conda-Forge on Linux @@ -110,18 +110,18 @@ What's Next? ############################################################ Now that you've installed OpenVINO Runtime, you are ready to run your own machine learning applications! -To learn more about how to integrate a model in OpenVINO applications, try out some tutorials and sample applications. +To learn more about how to integrate a model in OpenVINO applications, try out some ../../../learn-openvino/interactive-tutorials-python and sample applications. -Try the :doc:`C++ Quick Start Example ` for step-by-step instructions +Try the :doc:`C++ Quick Start Example <../../../learn-openvino/openvino-samples/get-started-demos>` for step-by-step instructions on building and running a basic image classification C++ application. .. image:: https://user-images.githubusercontent.com/36741649/127170593-86976dc3-e5e4-40be-b0a6-206379cd7df5.jpg :width: 400 -Visit the :doc:`Samples ` page for other C++ example applications to get you started with OpenVINO, such as: +Visit the :doc:`Samples <../../../learn-openvino/openvino-samples>` page for other C++ example applications to get you started with OpenVINO, such as: -* `Basic object detection with the Hello Reshape SSD C++ sample `__ -* `Object classification sample `__ +* `Basic object detection with the Hello Reshape SSD C++ sample <../../../learn-openvino/openvino-samples/hello-reshape-ssd.html>`__ +* `Object classification sample <../../../learn-openvino/openvino-samples/hello-classification.html>`__ diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-docker-linux.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-docker-linux.rst index 12b94142615..29836973ed7 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-docker-linux.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-docker-linux.rst @@ -39,8 +39,8 @@ To start using Dockerfiles the following conditions must be met: .. note:: - OpenVINO's `Docker `__ and :doc:`Bare Metal ` - distributions are identical, so the documentation applies to both. + OpenVINO's `Docker `__ and :doc:`Bare Metal <../../install-openvino-overview>` + distributions are identical, so the ../../../documentation applies to both. .. note:: diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-pip.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-pip.rst index 1a80152624a..7b9c5acab22 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-pip.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-pip.rst @@ -24,7 +24,7 @@ Install Intel® Distribution of OpenVINO™ Toolkit from PyPI Repository :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` | `PyPI OpenVINO page `__ @@ -121,7 +121,7 @@ If installation was successful, you will see the list of available devices. Congratulations! You've just Installed OpenVINO! For some use cases you may still need to install additional components. Check the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. @@ -130,7 +130,7 @@ to see if your case needs any of them. What's Next? #################### -Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! Learn more about how to integrate a model in OpenVINO applications by trying out the following tutorials. +Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! Learn more about how to integrate a model in OpenVINO applications by trying out the following ../../../learn-openvino/interactive-tutorials-python. .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif :width: 400 @@ -140,7 +140,7 @@ Try the `Python Quick Start Example ` page for more Jupyter Notebooks to get you started with OpenVINO, such as: +Visit the :doc:`Tutorials <../../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: * `OpenVINO Python API Tutorial `__ * `Basic image classification program with Hello Image Classification `__ diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-vcpkg.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-vcpkg.rst index e7bfba2850e..d8c7af208e0 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-vcpkg.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-shared/install-openvino-vcpkg.rst @@ -23,7 +23,7 @@ Install OpenVINO™ Runtime via vcpkg :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. tab-item:: Processor Notes :sync: processor-notes @@ -81,7 +81,7 @@ And running from terminal: Congratulations! You've just Installed and used OpenVINO in your project! For some use cases you may still need to install additional components. Check the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. Uninstalling OpenVINO @@ -99,11 +99,11 @@ What's Next? Now that you've installed OpenVINO Runtime, you can try the following things: -* Learn more about :doc:`OpenVINO Workflow `. -* To prepare your models for working with OpenVINO, see :doc:`Model Preparation `. -* See pre-trained deep learning models in our :doc:`Open Model Zoo `. -* Learn more about :doc:`Inference with OpenVINO Runtime `. -* See sample applications in :doc:`OpenVINO toolkit Samples Overview `. +* Learn more about :doc:`OpenVINO Workflow <../../../openvino-workflow>`. +* To prepare your models for working with OpenVINO, see :doc:`Model Preparation <../../../openvino-workflow/model-preparation>`. +* See pre-trained deep learning models in our :doc:`Open Model Zoo <../../../documentation/legacy-features/model-zoo>`. +* Learn more about :doc:`Inference with OpenVINO Runtime <../../../openvino-workflow/running-inference>`. +* See sample applications in :doc:`OpenVINO toolkit Samples Overview <../../../learn-openvino/openvino-samples>`. * Check out the OpenVINO product home page: https://software.intel.com/en-us/openvino-toolkit. diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-windows-header.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-windows-header.rst index 468cde8b0b3..5c4647a1b8e 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-windows-header.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-windows-header.rst @@ -14,22 +14,22 @@ Install OpenVINO™ Runtime on Windows :maxdepth: 3 :hidden: - Use Archive - Use PyPI - Use Conda Forge - Use vcpkg - Use Docker - Use Conan + Use Archive + Use PyPI + Use Conda Forge + Use vcpkg + Use Docker + Use Conan If you want to install OpenVINO™ Runtime on Windows, you have the following options: -* :doc:`Install OpenVINO using an Archive File ` -* :doc:`Install OpenVINO using PyPI ` -* :doc:`Install OpenVINO using Conda Forge ` -* :doc:`Install OpenVINO using vcpkg ` -* :doc:`Install OpenVINO using Docker ` -* :doc:`Install OpenVINO using Conan Package Manager ` +* :doc:`Install OpenVINO using an Archive File ` +* :doc:`Install OpenVINO using PyPI ` +* :doc:`Install OpenVINO using Conda Forge ` +* :doc:`Install OpenVINO using vcpkg ` +* :doc:`Install OpenVINO using Docker ` +* :doc:`Install OpenVINO using Conan Package Manager ` diff --git a/docs/articles_en/get-started/install-openvino-overview/install-openvino-windows-header/install-openvino-archive-windows.rst b/docs/articles_en/get-started/install-openvino-overview/install-openvino-windows-header/install-openvino-archive-windows.rst index 29d8c06e8f4..f25755c2792 100644 --- a/docs/articles_en/get-started/install-openvino-overview/install-openvino-windows-header/install-openvino-archive-windows.rst +++ b/docs/articles_en/get-started/install-openvino-overview/install-openvino-windows-header/install-openvino-archive-windows.rst @@ -27,7 +27,7 @@ System Requirements :sync: system-requirements | Full requirement listing is available in: - | :doc:`System Requirements Page ` + | :doc:`System Requirements Page <../../../about-openvino/system-requirements>` .. tab-item:: Processor Notes :sync: processor-notes @@ -133,13 +133,13 @@ Step 1: Download and Install OpenVINO Core Components Congratulations, you have finished the installation! For some use cases you may still need to install additional components. Check the description below, as well as the -:doc:`list of additional configurations ` +:doc:`list of additional configurations <../../configurations-header>` to see if your case needs any of them. The ``C:\Program Files (x86)\Intel\openvino_2023`` folder now contains the core components for OpenVINO. If you used a different path in Step 1, you will find the ``openvino_2023`` folder there. The path to the ``openvino_2023`` directory is also referred as ```` -throughout the OpenVINO documentation. +throughout the OpenVINO ../../../documentation. @@ -187,19 +187,19 @@ You must update several environment variables before you can compile and run Ope What's Next? #################### -Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! Learn more about how to integrate a model in OpenVINO applications by trying out the following tutorials. +Now that you've installed OpenVINO Runtime, you're ready to run your own machine learning applications! Learn more about how to integrate a model in OpenVINO applications by trying out the following ../../../learn-openvino/interactive-tutorials-python. .. tab-set:: .. tab-item:: Get started with Python :sync: get-started-py - Try the `Python Quick Start Example `__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. + Try the `Python Quick Start Example <../../../notebooks/201-vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif :width: 400 - Visit the :ref:`Tutorials ` page for more Jupyter Notebooks to get you started with OpenVINO, such as: + Visit the :ref:`Tutorials ` page for more Jupyter Notebooks to get you started with OpenVINO, such as: * `OpenVINO Python API Tutorial `__ * `Basic image classification program with Hello Image Classification `__ @@ -208,15 +208,15 @@ Now that you've installed OpenVINO Runtime, you're ready to run your own machine .. tab-item:: Get started with C++ :sync: get-started-cpp - Try the `C++ Quick Start Example `_ for step-by-step instructions on building and running a basic image classification C++ application. + Try the `C++ Quick Start Example <../../../learn-openvino/openvino-samples/get-started-demos.html>`_ for step-by-step instructions on building and running a basic image classification C++ application. .. image:: https://user-images.githubusercontent.com/36741649/127170593-86976dc3-e5e4-40be-b0a6-206379cd7df5.jpg :width: 400 Visit the :ref:`Samples ` page for other C++ example applications to get you started with OpenVINO, such as: - * `Basic object detection with the Hello Reshape SSD C++ sample `_ - * `Object classification sample `_ + * `Basic object detection with the Hello Reshape SSD C++ sample <../../../learn-openvino/openvino-samples/hello-reshape-ssd.html>`_ + * `Object classification sample <../../../learn-openvino/openvino-samples/hello-classification.html>`_ .. _uninstall-from-windows: @@ -247,7 +247,7 @@ Use either of the following methods to delete the files: Additional Resources #################### -* :doc:`Troubleshooting Guide for OpenVINO Installation & Configuration ` +* :doc:`Troubleshooting Guide for OpenVINO Installation & Configuration <../../install-openvino-overview>` * Converting models for use with OpenVINO™: :ref:`Model Optimizer Developer Guide ` * Writing your own OpenVINO™ applications: :ref:`OpenVINO™ Runtime User Guide ` * Sample applications: :ref:`OpenVINO™ Toolkit Samples Overview ` diff --git a/docs/articles_en/get-started/troubleshooting-install-config.rst b/docs/articles_en/get-started/troubleshooting-install-config.rst index fcdb6bda2c9..cdb839b16ec 100644 --- a/docs/articles_en/get-started/troubleshooting-install-config.rst +++ b/docs/articles_en/get-started/troubleshooting-install-config.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_get_started_guide_troubleshooting} +.. {#openvino_docs_../get-started_guide_troubleshooting} Troubleshooting Guide for OpenVINO™ Installation & Configuration ================================================================ @@ -122,10 +122,10 @@ Troubleshooting Guide for OpenVINO™ Installation & Configuration .. dropdown:: Check if proper drivers are installed - :doc:`Additional configurations ` may be + :doc:`Additional configurations ` may be required in order to use OpenVINO with different hardware, such as Intel® GPU and NPU. Make sure that the device you want to use for inference has the required driver installed, - as described in :doc:`additional configurations for GPU `. + as described in :doc:`additional configurations for GPU `. .. dropdown:: Check firewall and network settings diff --git a/docs/articles_en/learn-openvino.rst b/docs/articles_en/learn-openvino.rst index a4715c88f81..61537f8fe34 100644 --- a/docs/articles_en/learn-openvino.rst +++ b/docs/articles_en/learn-openvino.rst @@ -6,7 +6,7 @@ Learn OpenVINO .. meta:: :description: Explore learning materials, including interactive - Python tutorials and sample console applications that explain + Python learn-openvino/interactive-tutorials-python and sample console applications that explain how to use OpenVINO features. @@ -14,9 +14,9 @@ Learn OpenVINO :maxdepth: 1 :hidden: - Interactive Tutorials (Python) - Sample Applications (Python & C++) - Generative AI Optimization and Deployment + Interactive Tutorials (Python) + Sample Applications (Python & C++) + Generative AI Optimization and Deployment This section will help you get a hands-on experience with OpenVINO even if you are just starting @@ -24,11 +24,11 @@ to learn what OpenVINO is and how it works. It includes various types of learnin accommodating different learning needs, which means you should find it useful if you are a beginning, as well as an experienced user. -| :doc:`Tutorials ` -| A collection of interactive Python tutorials. It introduces you to the OpenVINO™ toolkit explaining how to use the Python API and tools for optimized deep learning inference. The tutorials are available in Jupyter notebooks and can be run in your browser. No installation required. +| :doc:`Tutorials ` +| A collection of interactive Python learn-openvino/interactive-tutorials-python. It introduces you to the OpenVINO™ toolkit explaining how to use the Python API and tools for optimized deep learning inference. The learn-openvino/interactive-tutorials-python are available in Jupyter notebooks and can be run in your browser. No installation required. -| :doc:`OpenVINO Samples ` +| :doc:`OpenVINO Samples ` | The OpenVINO samples (Python and C++) are simple console applications that show how to use specific OpenVINO API features. They can assist you in executing tasks such as loading a model, running inference, querying particular device capabilities, etc. -| :doc:`Optimize and Deploy Generative AI Models ` +| :doc:`Optimize and Deploy Generative AI Models ` | Detailed information on how OpenVINO accelerates Generative AI use cases and what models it supports. This tutorial provides instructions for running Generative AI models using Hugging Face Optimum Intel and Native OpenVINO APIs. diff --git a/docs/articles_en/learn-openvino/interactive-tutorials-python.rst b/docs/articles_en/learn-openvino/interactive-tutorials-python.rst index 8a9e5801198..b0656649119 100644 --- a/docs/articles_en/learn-openvino/interactive-tutorials-python.rst +++ b/docs/articles_en/learn-openvino/interactive-tutorials-python.rst @@ -15,7 +15,7 @@ Interactive Tutorials (Python) :caption: Notebooks :hidden: - notebooks_installation + interactive-tutorials-python/notebooks-installation Jupyter notebooks show how to use various OpenVINO features to run optimized deep learning @@ -25,7 +25,7 @@ browser, no installation required. Just choose a tutorial and click the button. `Binder `__ and `Google Colab `__ are free online services with limited resources. For the best performance and more control, you should run the notebooks locally. Follow the -:doc:`Installation Guide ` in order to get information +:doc:`Installation Guide ` in order to get information on how to run and manage the notebooks on your system. .. raw:: html @@ -36,7 +36,7 @@ on how to run and manage the notebooks on your system. .. note:: If you have any issues with the notebooks, refer to the **Troubleshooting** and **FAQ** - sections in the :doc:`Installation Guide ` or start a GitHub + sections in the :doc:`Installation Guide ` or start a GitHub `discussion `__. @@ -48,10 +48,10 @@ Additional Resources * `Google Colab `__ -.. |binder logo| image:: _static/images/launch_in_binder.svg +.. |binder logo| image:: ../_static/images/launch_in_binder.svg :class: notebook-badge-p :alt: Binder button -.. |colab logo| image:: _static/images/open_in_colab.svg +.. |colab logo| image:: ../_static/images/open_in_colab.svg :class: notebook-badge-p :alt: Google Colab button diff --git a/docs/articles_en/learn-openvino/openvino-samples.rst b/docs/articles_en/learn-openvino/openvino-samples.rst index a0398568b23..1c59edca7c7 100644 --- a/docs/articles_en/learn-openvino/openvino-samples.rst +++ b/docs/articles_en/learn-openvino/openvino-samples.rst @@ -16,17 +16,17 @@ OpenVINO™ Samples :maxdepth: 1 :hidden: - Get Started with C++ Samples - openvino_sample_hello_classification - openvino_sample_hello_nv12_input_classification - openvino_sample_hello_query_device - openvino_sample_hello_reshape_ssd - openvino_sample_image_classification_async - openvino_sample_model_creation - openvino_sample_sync_benchmark - openvino_sample_throughput_benchmark - openvino_sample_bert_benchmark - openvino_sample_benchmark_tool + Get Started with C++ Samples + openvino-samples/hello-classification + openvino-samples/hello-nv12-input-classification + openvino-samples/hello-query-device + openvino-samples/hello-reshape-ssd + openvino-samples/image-classification-async + openvino-samples/model-creation + openvino-samples/sync-benchmark + openvino-samples/throughput-benchmark + openvino-samples/bert-benchmark + openvino-samples/benchmark-tool The OpenVINO™ samples are simple console applications that show how to utilize @@ -41,38 +41,38 @@ The applications include: All C++ samples support input paths containing only ASCII characters, except for the Hello Classification Sample, which supports Unicode. -- :doc:`Hello Classification Sample ` - +- :doc:`Hello Classification Sample ` - Inference of image classification networks like AlexNet and GoogLeNet using Synchronous Inference Request API. Input of any size and layout can be set to an infer request which will be pre-processed automatically during inference. The sample supports only images as input and supports input paths containing only Unicode characters. -- :doc:`Hello NV12 Input Classification Sample ` - +- :doc:`Hello NV12 Input Classification Sample ` - Input of any size and layout can be provided to an infer request. The sample transforms the input to the NV12 color format and pre-process it automatically during inference. The sample supports only images as input. -- :doc:`Hello Query Device Sample ` - +- :doc:`Hello Query Device Sample ` - Query of available OpenVINO devices and their metrics, configuration values. -- :doc:`Hello Reshape SSD Sample ` - +- :doc:`Hello Reshape SSD Sample ` - Inference of SSD networks resized by ShapeInfer API according to an input size. -- :doc:`Image Classification Async Sample ` - +- :doc:`Image Classification Async Sample ` - Inference of image classification networks like AlexNet and GoogLeNet using Asynchronous Inference Request API. The sample supports only images as inputs. -- :doc:`OpenVINO Model Creation Sample ` - +- :doc:`OpenVINO Model Creation Sample ` - Construction of the LeNet model using the OpenVINO model creation sample. - **Benchmark Samples** - Simple estimation of a model inference performance - - :doc:`Sync Samples ` - - :doc:`Throughput Samples ` - - :doc:`Bert Python Sample ` + - :doc:`Sync Samples ` + - :doc:`Throughput Samples ` + - :doc:`Bert Python Sample ` -- :doc:`Benchmark Application ` - Estimates deep +- :doc:`Benchmark Application ` - Estimates deep learning inference performance on supported devices for synchronous and asynchronous modes. @@ -87,5 +87,5 @@ The applications include: Additional Resources #################### -* :doc:`Get Started with Samples ` -* :doc:`OpenVINO Runtime User Guide ` +* :doc:`Get Started with Samples ` +* :doc:`OpenVINO Runtime User Guide <../openvino-workflow/running-inference>` diff --git a/docs/articles_en/learn-openvino/openvino-samples/benchmark-tool.rst b/docs/articles_en/learn-openvino/openvino-samples/benchmark-tool.rst index dde23b5d47e..5c638c82e8c 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/benchmark-tool.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/benchmark-tool.rst @@ -29,13 +29,13 @@ Basic Usage :sync: python The Python ``benchmark_app`` is automatically installed when you install OpenVINO - using :doc:`PyPI `. + using :doc:`PyPI <../../get-started/install-openvino-overview/install-openvino-shared/install-openvino-pip>`. Before running ``benchmark_app``, make sure the ``openvino_env`` virtual environment is activated, and navigate to the directory where your model is located. The benchmarking application works with models in the OpenVINO IR (``model.xml`` and ``model.bin``) and ONNX (``model.onnx``) formats. - Make sure to :doc:`convert your models ` + Make sure to :doc:`convert your models <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` if necessary. To run benchmarking with default options on a model, use the following command: @@ -50,18 +50,18 @@ Basic Usage To use the C++ ``benchmark_app``, you must first build it following the :ref:`Build the Sample Applications ` instructions and then set up paths and environment variables by following the - :doc:`Get Ready for Running the Sample Applications ` + :doc:`Get Ready for Running the Sample Applications <../openvino-samples>` instructions. Navigate to the directory where the ``benchmark_app`` C++ sample binary was built. .. note:: If you installed OpenVINO Runtime using PyPI or Anaconda Cloud, only the - :doc:`Benchmark Python Tool ` is available, + :doc:`Benchmark Python Tool ` is available, and you should follow the usage instructions on that page instead. The benchmarking application works with models in the OpenVINO IR, TensorFlow, TensorFlow Lite, PaddlePaddle, PyTorch and ONNX formats. If you need it, - OpenVINO also allows you to :doc:`convert your models `. + OpenVINO also allows you to :doc:`convert your models <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>`. To run benchmarking with default options on a model, use the following command: @@ -159,7 +159,7 @@ Latency is the amount of time it takes to process a single inference request. In applications where data needs to be inferenced and acted on as quickly as possible (such as autonomous driving), low latency is desirable. For conventional devices, lower latency is achieved by reducing the amount of parallel processing -streams so the system can utilize as many resources as possible to quickly calculate +streams so the system can utilize as many ../../about-openvino/additional-resources as possible to quickly calculate each inference request. However, advanced devices like multi-socket CPUs and modern GPUs are capable of running multiple inference requests while delivering the same latency. @@ -184,10 +184,10 @@ parallel inference requests to utilize all the threads available on the device. On GPU, it automatically sets the inference batch size to fill up the GPU memory available. For more information on performance hints, see the -:doc:`High-level Performance Hints ` page. +:doc:`High-level Performance Hints <../../openvino-workflow/running-inference/optimize-inference/high-level-performance-hints>` page. For more details on optimal runtime configurations and how they are automatically determined using performance hints, see -:doc:`Runtime Inference Optimizations `. +:doc:`Runtime Inference Optimizations <../../openvino-workflow/running-inference/optimize-inference>`. Device @@ -222,7 +222,7 @@ You may also specify ``AUTO`` as the device, in which case the ``benchmark_app`` automatically select the best device for benchmarking and support it with the CPU at the model loading stage. This may result in increased performance, thus, should be used purposefully. For more information, see the -:doc:`Automatic device selection ` page. +:doc:`Automatic device selection <../../openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection>` page. .. note:: @@ -926,6 +926,6 @@ using ``benchmark_app`` with dynamic networks and a portion of the resulting out Additional Resources #################### -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO Samples ` -- :doc:`Convert a Model ` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` diff --git a/docs/articles_en/learn-openvino/openvino-samples/bert-benchmark.rst b/docs/articles_en/learn-openvino/openvino-samples/bert-benchmark.rst index 691e6cbfc8f..43c703a47be 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/bert-benchmark.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/bert-benchmark.rst @@ -28,7 +28,7 @@ resulting model, downloads a dataset and runs a benchmark on the dataset. You can see the explicit description of each sample step at -:doc:`Integration Steps ` +:doc:`Integration Steps <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` section of "Integrate OpenVINO™ Runtime with Your Application" guide. Running @@ -62,8 +62,8 @@ The sample outputs how long it takes to process a dataset. Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO Samples ` -- :doc:`Convert a Model ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` - `Bert Benchmark Python Sample on Github `__ 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 0725be59611..be460c59346 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 @@ -1,4 +1,4 @@ -.. {#openvino_docs_get_started_get_started_demos} +.. {#openvino_docs_../../get-started_../../get-started_demos} Get Started with Samples ======================== @@ -11,9 +11,9 @@ Get Started with Samples To use OpenVINO samples, install OpenVINO using one of the following distributions: -* Archive files (recommended) - :doc:`Linux ` | :doc:`Windows ` | :doc:`macOS ` -* :doc:`APT ` or :doc:`YUM ` for Linux -* :doc:`Docker image ` +* Archive files (recommended) - :doc:`Linux <../../get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-archive-linux>` | :doc:`Windows <../../get-started/install-openvino-overview/install-openvino-windows-header/install-openvino-archive-windows>` | :doc:`macOS <../../get-started/install-openvino-overview/install-openvino-macos-header/install-openvino-archive-macos>` +* :doc:`APT <../../get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-apt>` or :doc:`YUM <../../get-started/install-openvino-overview/install-openvino-linux-header/install-openvino-yum>` for Linux +* :doc:`Docker image <../../get-started/install-openvino-overview/install-openvino-shared/install-openvino-docker-linux>` * `Build from source `__ If you install OpenVINO Runtime via archive files, sample applications are created in the following directories: @@ -25,7 +25,7 @@ If you install OpenVINO Runtime via archive files, sample applications are creat .. note:: If you install OpenVINO without samples, you can still get them directly from `the OpenVINO repository `__. -Before you build samples, refer to the :doc:`system requirements ` page and make sure that all the prerequisites have been installed. Next, you can perform the following steps: +Before you build samples, refer to the :doc:`system requirements <../../about-openvino/system-requirements>` page and make sure that all the prerequisites have been installed. Next, you can perform the following steps: 1. :ref:`Build Samples `. 2. :ref:`Select a Sample `. @@ -39,7 +39,7 @@ Once you perform all the steps, you can :ref:`run inference with the chosen samp Build the Sample Applications ================================ -Select a sample you want to use from the :doc:`OpenVINO Samples ` page, and follow the instructions below to build it in your operating system. +Select a sample you want to use from the :doc:`OpenVINO Samples <../openvino-samples>` page, and follow the instructions below to build it in your operating system. .. note:: @@ -251,7 +251,7 @@ Instructions below show how to build sample applications with CMake. If you are Sample Application Setup ================================ -First, select a sample from the :doc:`Sample Overview ` and read the dedicated article to learn how to run it. +First, select a sample from the :doc:`Sample Overview <../openvino-samples>` and read the dedicated article to learn how to run it. .. _download-model: @@ -264,7 +264,7 @@ You need a model that is specific for your inference task. You can get it from o Convert the Model -------------------- -If Your model requires conversion, check the `article `__ for information how to do it. +If Your model requires conversion, check the `article `__ for information how to do it. .. _download-media: @@ -412,7 +412,7 @@ The following command shows how to run the Image Classification Code Sample usin .. note:: - * Running inference on Intel® Processor Graphics (GPU) requires :doc:`additional hardware configuration steps `, as described earlier on this page. + * Running inference on Intel® Processor Graphics (GPU) requires :doc:`additional hardware configuration steps <../../get-started/configurations-header/configurations-intel-gpu>`, as described earlier on this page. * Running on GPU is not compatible with macOS. .. tab-set:: @@ -472,7 +472,7 @@ The following command shows how to run the Image Classification Code Sample usin When the sample application is complete, you are given the label and confidence for the top 10 categories. The input image and sample output of the inference results is shown below: -.. image:: _static/images/dog.png +.. image:: ../../_static/images/dog.png .. code-block:: sh diff --git a/docs/articles_en/learn-openvino/openvino-samples/hello-classification.rst b/docs/articles_en/learn-openvino/openvino-samples/hello-classification.rst index c51b4545b49..e64e0ad5bb9 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/hello-classification.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/hello-classification.rst @@ -54,7 +54,7 @@ inference, and processes output data, logging each step in a standard output str You can see the explicit description of each sample step at -:doc:`Integration Steps ` +:doc:`Integration Steps <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` section of "Integrate OpenVINO™ Runtime with Your Application" guide. Running @@ -98,10 +98,10 @@ To run the sample, you need to specify a model and an image: application or reconvert your model using model conversion API with ``reverse_input_channels`` argument specified. For more information about the argument, refer to **When to Reverse Input Channels** section of - :doc:`Embedding Preprocessing Computation `. + :doc:`Embedding Preprocessing Computation <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes>`. - Before running the sample with a trained model, make sure the model is converted to the intermediate representation (IR) format (\*.xml + \*.bin) - using the :doc:`model conversion API `. + using the :doc:`model conversion API <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>`. - The sample accepts models in ONNX format (.onnx) that do not require preprocessing. Example @@ -257,10 +257,10 @@ Sample Output Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO Samples ` -- :doc:`Convert a Model ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` - `OpenVINO Runtime C API `__ - `Hello Classification Python Sample on Github `__ - `Hello Classification C++ Sample on Github `__ diff --git a/docs/articles_en/learn-openvino/openvino-samples/hello-nv12-input-classification.rst b/docs/articles_en/learn-openvino/openvino-samples/hello-nv12-input-classification.rst index 183535feddd..35b3c30be9e 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/hello-nv12-input-classification.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/hello-nv12-input-classification.rst @@ -49,7 +49,7 @@ You can place labels in ``.labels`` file near the model to get pretty output. You can see the explicit description of each sample step at -:doc:`Integration Steps ` +:doc:`Integration Steps <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` section of "Integrate OpenVINO™ Runtime with Your Application" guide. Running @@ -100,10 +100,10 @@ the following command, you can convert an ordinary image to an uncompressed NV12 you trained your model to work with RGB order, you need to reconvert your model using model conversion API with ``reverse_input_channels`` argument specified. For more information about the argument, refer to **When to Reverse - Input Channels** section of :doc:`Embedding Preprocessing Computation `. + Input Channels** section of :doc:`Embedding Preprocessing Computation <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes>`. - Before running the sample with a trained model, make sure the model is converted to the intermediate representation (IR) format (\*.xml + \*.bin) - using the :doc:`model conversion API `. + using the :doc:`model conversion API <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>`. - The sample accepts models in ONNX format (.onnx) that do not require preprocessing. Example @@ -209,10 +209,10 @@ Sample Output Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO Samples ` -- :doc:`Convert a Model ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` - `API Reference `__ - `Hello NV12 Input Classification C++ Sample on Github `__ - `Hello NV12 Input Classification C Sample on Github `__ diff --git a/docs/articles_en/learn-openvino/openvino-samples/hello-query-device.rst b/docs/articles_en/learn-openvino/openvino-samples/hello-query-device.rst index 3dc1deb6e2b..586ff65bb87 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/hello-query-device.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/hello-query-device.rst @@ -11,7 +11,7 @@ Hello Query Device Sample This sample demonstrates how to show OpenVINO™ Runtime devices and prints their -metrics and default configuration values using :doc:`Query Device API feature `. +metrics and default configuration values using :doc:`Query Device API feature <../../openvino-workflow/running-inference/inference-devices-and-modes/query-device-properties>`. To build the sample, use instructions available at :ref:`Build the Sample Applications ` section in "Get Started with Samples" guide. @@ -132,8 +132,8 @@ For example: Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO™ Toolkit Samples ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO™ Toolkit Samples <../openvino-samples>` - `Hello Query Device Python Sample on Github `__ - `Hello Query Device C++ Sample on Github `__ diff --git a/docs/articles_en/learn-openvino/openvino-samples/hello-reshape-ssd.rst b/docs/articles_en/learn-openvino/openvino-samples/hello-reshape-ssd.rst index 3272a6d1014..2f019f6077e 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/hello-reshape-ssd.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/hello-reshape-ssd.rst @@ -11,7 +11,7 @@ Hello Reshape SSD Sample This sample demonstrates how to do synchronous inference of object detection models -using :doc:`Shape Inference feature `. Before +using :doc:`Shape Inference feature <../../openvino-workflow/running-inference/changing-input-shape>`. Before using the sample, refer to the following requirements: - Models with only one input and output are supported. @@ -49,7 +49,7 @@ As a result, the program creates an output image, logging each step in a standar You can see the explicit description of -each sample step at :doc:`Integration Steps ` section of "Integrate OpenVINO™ Runtime with Your Application" guide. +each sample step at :doc:`Integration Steps <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` section of "Integrate OpenVINO™ Runtime with Your Application" guide. Running #################### @@ -87,10 +87,10 @@ To run the sample, you need to specify a model and an image: reconvert your model using model conversion API with ``reverse_input_channels`` argument specified. For more information about the argument, refer to **When to Reverse Input Channels** section of - :doc:`Embedding Preprocessing Computation `. + :doc:`Embedding Preprocessing Computation <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes>`. - Before running the sample with a trained model, make sure the model is converted to the intermediate representation (IR) format (\*.xml + \*.bin) - using :doc:`model conversion API `. + using :doc:`model conversion API <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>`. - The sample accepts models in ONNX format (.onnx) that do not require preprocessing. Example @@ -204,10 +204,10 @@ Sample Output Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO Samples ` -- :doc:`Convert a Model ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` - `Hello Reshape SSD Python Sample on Github `__ - `Hello Reshape SSD C++ Sample on Github `__ diff --git a/docs/articles_en/learn-openvino/openvino-samples/image-classification-async.rst b/docs/articles_en/learn-openvino/openvino-samples/image-classification-async.rst index 18a8136d760..fc25998f79f 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/image-classification-async.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/image-classification-async.rst @@ -60,7 +60,7 @@ You can place labels in ``.labels`` file near the model to get pretty output. You can see the explicit description of each sample step at -:doc:`Integration Steps ` +:doc:`Integration Steps <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` section of "Integrate OpenVINO™ Runtime with Your Application" guide. @@ -133,9 +133,9 @@ To run the sample, you need to specify a model and an image: .. note:: - - By default, OpenVINO™ Toolkit Samples and demos expect input with BGR channels order. If you trained your model to work with RGB order, you need to manually rearrange the default channels order in the sample or demo application or reconvert your model using model conversion API with ``reverse_input_channels`` argument specified. For more information about the argument, refer to **When to Reverse Input Channels** section of :doc:`Embedding Preprocessing Computation `. + - By default, OpenVINO™ Toolkit Samples and demos expect input with BGR channels order. If you trained your model to work with RGB order, you need to manually rearrange the default channels order in the sample or demo application or reconvert your model using model conversion API with ``reverse_input_channels`` argument specified. For more information about the argument, refer to **When to Reverse Input Channels** section of :doc:`Embedding Preprocessing Computation <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes>`. - - Before running the sample with a trained model, make sure the model is converted to the intermediate representation (IR) format (\*.xml + \*.bin) using :doc:`model conversion API `. + - Before running the sample with a trained model, make sure the model is converted to the intermediate representation (IR) format (\*.xml + \*.bin) using :doc:`model conversion API <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>`. - The sample accepts models in ONNX format (.onnx) that do not require preprocessing. @@ -327,9 +327,9 @@ Sample Output Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO™ Toolkit Samples ` -- :doc:`Convert a Model ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO™ Toolkit Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` - `Image Classification Async Python Sample on Github `__ - `Image Classification Async C++ Sample on Github `__ diff --git a/docs/articles_en/learn-openvino/openvino-samples/model-creation.rst b/docs/articles_en/learn-openvino/openvino-samples/model-creation.rst index b80aaf3c8ec..7c51d1fa7b2 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/model-creation.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/model-creation.rst @@ -10,7 +10,7 @@ Model Creation Sample Inference Request API (Python, C++). -This sample demonstrates how to run inference using a :doc:`model ` +This sample demonstrates how to run inference using a :doc:`model <../../openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation>` built on the fly that uses weights from the LeNet classification model, which is known to work well on digit classification tasks. You do not need an XML file, the model is created from the source code on the fly. Before using the sample, @@ -25,7 +25,7 @@ refer to the following requirements: How It Works #################### -At startup, the sample application reads command-line parameters, :doc:`builds a model ` +At startup, the sample application reads command-line parameters, :doc:`builds a model <../../openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation>` and passes the weights file. Then, it loads the model and input data to the OpenVINO™ Runtime plugin. Finally, it performs synchronous inference and processes output data, logging each step in a standard output stream. @@ -49,7 +49,7 @@ data, logging each step in a standard output stream. :language: cpp -You can see the explicit description of each sample step at :doc:`Integration Steps ` section of "Integrate OpenVINO™ Runtime with Your Application" guide. +You can see the explicit description of each sample step at :doc:`Integration Steps <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` section of "Integrate OpenVINO™ Runtime with Your Application" guide. Running #################### @@ -78,7 +78,7 @@ To run the sample, you need to specify model weights and a device. - This sample supports models with FP32 weights only. - The ``lenet.bin`` weights file is generated by - :doc:`model conversion API ` + :doc:`model conversion API <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` from the public LeNet model, with the ``input_shape [64,1,28,28]`` parameter specified. - The original model is available in the `Caffe repository `__ on GitHub. @@ -291,9 +291,9 @@ Sample Output Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO Samples ` -- :doc:`Convert a Model ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` - `Model Creation Python Sample on Github `__ - `Model Creation C++ Sample on Github `__ diff --git a/docs/articles_en/learn-openvino/openvino-samples/sync-benchmark.rst b/docs/articles_en/learn-openvino/openvino-samples/sync-benchmark.rst index f2da10f6579..b89dfd01f85 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/sync-benchmark.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/sync-benchmark.rst @@ -50,7 +50,7 @@ Then, it processes and reports performance results. You can see the explicit description of -each sample step at :doc:`Integration Steps ` +each sample step at :doc:`Integration Steps <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` section of "Integrate OpenVINO™ Runtime with Your Application" guide. Running @@ -167,9 +167,9 @@ Sample Output Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO Samples ` -- :doc:`Convert a Model ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` - `Sync Benchmark Python Sample on Github `__ - `Sync Benchmark C++ Sample on Github `__ diff --git a/docs/articles_en/learn-openvino/openvino-samples/throughput-benchmark.rst b/docs/articles_en/learn-openvino/openvino-samples/throughput-benchmark.rst index a2545361f7e..f03cbbd8aca 100644 --- a/docs/articles_en/learn-openvino/openvino-samples/throughput-benchmark.rst +++ b/docs/articles_en/learn-openvino/openvino-samples/throughput-benchmark.rst @@ -13,7 +13,7 @@ Inference Request API in throughput mode. Unlike `demos ` +The reported results may deviate from what :doc:`benchmark_app ` reports. One example is model input precision for computer vision tasks. benchmark_app sets ``uint8``, while the sample uses default model precision which is usually ``float32``. @@ -54,7 +54,7 @@ Then, it processes and reports performance results. You can see the explicit description of each sample step at -:doc:`Integration Steps ` +:doc:`Integration Steps <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` section of "Integrate OpenVINO™ Runtime with Your Application" guide. Running @@ -172,9 +172,9 @@ Sample Output Additional Resources #################### -- :doc:`Integrate the OpenVINO™ Runtime with Your Application ` -- :doc:`Get Started with Samples ` -- :doc:`Using OpenVINO Samples ` -- :doc:`Convert a Model ` +- :doc:`Integrate the OpenVINO™ Runtime with Your Application <../../openvino-workflow/running-inference/integrate-openvino-with-your-application>` +- :doc:`Get Started with Samples ` +- :doc:`Using OpenVINO Samples <../openvino-samples>` +- :doc:`Convert a Model <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` - `Throughput Benchmark Python Sample on Github `__ - `Throughput Benchmark C++ Sample on Github `__ diff --git a/docs/articles_en/openvino-workflow.rst b/docs/articles_en/openvino-workflow.rst index 814bfb466e6..b9a7162f478 100644 --- a/docs/articles_en/openvino-workflow.rst +++ b/docs/articles_en/openvino-workflow.rst @@ -14,19 +14,19 @@ OpenVINO Workflow :maxdepth: 1 :hidden: - Model Preparation - Model Optimization and Compression - Running Inference - Deployment on a Local System + Model Preparation + Model Optimization and Compression + Running Inference + Deployment on a Local System Deployment on a Model Server - pytorch_2_0_torch_compile + openvino-workflow/torch-compile OpenVINO offers multiple workflows, depending on the use case and personal or project preferences. This section will give you a detailed view of how you can go from preparing your model, through optimizing it, to executing inference, and deploying your solution. -Once you obtain a model in one of the :doc:`supported model formats `, +Once you obtain a model in one of the :doc:`supported model formats `, you can decide how to proceed: .. tab-set:: @@ -78,26 +78,26 @@ OpenVINO uses the following functions for reading, converting, and saving models * This method is only available in the Python API. -| :doc:`Model Preparation ` +| :doc:`Model Preparation ` | Learn how to convert pre-trained models to OpenVINO IR. -| :doc:`Model Optimization and Compression ` +| :doc:`Model Optimization and Compression ` | Find out how to optimize a model to achieve better inference performance, utilizing multiple optimization methods for both in-training compression and post-training quantization. -| :doc:`Running Inference ` +| :doc:`Running Inference ` | See how to run inference with OpenVINO, which is the most basic form of deployment, and the quickest way of running a deep learning model. -| :doc:`Deployment Option 1. Using OpenVINO Runtime ` -| Deploy a model locally, reading the file directly from your application and utilizing resources available to the system. +| :doc:`Deployment Option 1. Using OpenVINO Runtime ` +| Deploy a model locally, reading the file directly from your application and utilizing about-openvino/additional-resources available to the system. | Deployment on a local system uses the steps described in the section on running inference. | :doc:`Deployment Option 2. Using Model Server ` -| Deploy a model remotely, connecting your application to an inference server and utilizing external resources, with no impact on the app's performance. +| Deploy a model remotely, connecting your application to an inference server and utilizing external about-openvino/additional-resources, with no impact on the app's performance. | Deployment on OpenVINO Model Server is quick and does not require any additional steps described in the section on running inference. -| :doc:`Deployment Option 3. Using torch.compile for PyTorch 2.0 ` +| :doc:`Deployment Option 3. Using torch.compile for PyTorch 2.0 ` | Deploy a PyTorch model using OpenVINO in a PyTorch-native application. diff --git a/docs/articles_en/openvino-workflow/deployment-locally.rst b/docs/articles_en/openvino-workflow/deployment-locally.rst index b86bf64d564..79ffd30e2b2 100644 --- a/docs/articles_en/openvino-workflow/deployment-locally.rst +++ b/docs/articles_en/openvino-workflow/deployment-locally.rst @@ -8,8 +8,8 @@ Deploy Locally :maxdepth: 1 :hidden: - Local Distribution Libraries - Optimize Binaries Size + Local Distribution Libraries + Optimize Binaries Size .. meta:: :description: There are several ways of deploying OpenVINO™ application once @@ -18,7 +18,7 @@ Deploy Locally .. note:: - Note that :doc:`running inference in OpenVINO Runtime ` is the most basic form of deployment. Before moving forward, make sure you know how to create a proper Inference configuration and :doc:`develop your application properly `. + Note that :doc:`running inference in OpenVINO Runtime ` is the most basic form of deployment. Before moving forward, make sure you know how to create a proper Inference configuration and :doc:`develop your application properly `. Local Deployment Options ######################## @@ -27,12 +27,12 @@ Local Deployment Options - using Debian / RPM packages - a recommended way for Linux operating systems; - using PIP package manager on PyPI - the default approach for Python-based applications; - - using Docker images - if the application should be deployed as a Docker image, use a pre-built OpenVINO™ Runtime Docker image as a base image in the Dockerfile for the application container image. For more information about OpenVINO Docker images, refer to :doc:`Installing OpenVINO from Docker ` + - using Docker images - if the application should be deployed as a Docker image, use a pre-built OpenVINO™ Runtime Docker image as a base image in the Dockerfile for the application container image. For more information about OpenVINO Docker images, refer to :doc:`Installing OpenVINO from Docker <../get-started/install-openvino-overview/install-openvino-shared/install-openvino-docker-linux>` - Furthermore, to customize your OpenVINO Docker image, use the `Docker CI Framework `__ to generate a Dockerfile and build the image. - Grab a necessary functionality of OpenVINO together with your application, also called "local distribution": - - using the :doc:`local distribution ` approach; + - using the :doc:`local distribution ` approach; - using `a static version of OpenVINO Runtime linked to the final app `__. The table below shows which distribution type can be used for what target operating system: @@ -50,7 +50,7 @@ The table below shows which distribution type can be used for what target operat - Ubuntu 22.04 long-term support (LTS), 64-bit; Ubuntu 20.04 long-term support (LTS), 64-bit; Red Hat Enterprise Linux 8, 64-bit * - PyPI (PIP package manager) - See https://pypi.org/project/openvino - * - :doc:`Libraries for Local Distribution ` + * - :doc:`Libraries for Local Distribution ` - All operating systems * - `Build OpenVINO statically and link to the final app `__ - All operating systems @@ -59,20 +59,20 @@ The table below shows which distribution type can be used for what target operat Granularity of Major Distribution Types ####################################### -The granularity of OpenVINO packages may vary for different distribution types. For example, the PyPI distribution of OpenVINO has a `single 'openvino' package `__ that contains all the runtime libraries and plugins, while a :doc:`local distribution ` is a more configurable type providing higher granularity. Below are important details of the set of libraries included in the OpenVINO Runtime package: +The granularity of OpenVINO packages may vary for different distribution types. For example, the PyPI distribution of OpenVINO has a `single 'openvino' package `__ that contains all the runtime libraries and plugins, while a :doc:`local distribution ` is a more configurable type providing higher granularity. Below are important details of the set of libraries included in the OpenVINO Runtime package: -.. image:: _static/images/deployment_simplified.svg +.. image:: ../_static/images/deployment_simplified.svg -- The main library ``openvino`` is used by users' C++ applications to link against with. For C language applications, ``openvino_c`` is additionally required for distribution. The library includes OpenVINO API. -- The "optional" plugin libraries like ``openvino_intel_cpu_plugin`` (matching the ``openvino_.+_plugin`` pattern) are used to provide inference capabilities on specific devices or additional capabilities like :doc:`Hetero Execution ` and :doc:`Multi-Device Execution `. -- The "optional" plugin libraries like ``openvino_ir_frontend`` (matching ``openvino_.+_frontend``) are used to provide capabilities to read models of different file formats such as OpenVINO IR, TensorFlow, ONNX, and PaddlePaddle. +- The main library ``openvino`` is used by users' C++ applications to link against with. For C language applications, ``openvino_c`` is additionally required for distribution. The library includes OpenVINO API 2.0. +- The "optional" plugin libraries like ``openvino_intel_cpu_plugin`` (matching the ``openvino_.+_plugin`` pattern) are used to provide inference capabilities on specific devices or additional capabilities like :doc:`Hetero Execution ` and :doc:`Multi-Device Execution `. +- The "optional" plugin libraries like ``../documentation/openvino-ir-format_frontend`` (matching ``openvino_.+_frontend``) are used to provide capabilities to read models of different file formats such as OpenVINO IR, TensorFlow, ONNX, and PaddlePaddle. Here the term "optional" means that if the application does not use the capability enabled by the plugin, the plugin library or a package with the plugin is not needed in the final distribution. -Building a local distribution will require more detailed information, and you will find it in the dedicated :doc:`Libraries for Local Distribution ` article. +Building a local distribution will require more detailed information, and you will find it in the dedicated :doc:`Libraries for Local Distribution ` article. .. note:: - Depending on your target OpenVINO devices, the following configuration might be needed for deployed machines: :doc:`Configurations for GPU `. + Depending on your target OpenVINO devices, the following configuration might be needed for deployed machines: :doc:`Configurations for GPU <../get-started/configurations-header/configurations-intel-gpu>`. diff --git a/docs/articles_en/openvino-workflow/deployment-locally/local-distribution-libraries.rst b/docs/articles_en/openvino-workflow/deployment-locally/local-distribution-libraries.rst index 5b82226b8cc..9f3d8415129 100644 --- a/docs/articles_en/openvino-workflow/deployment-locally/local-distribution-libraries.rst +++ b/docs/articles_en/openvino-workflow/deployment-locally/local-distribution-libraries.rst @@ -35,16 +35,16 @@ Libraries for Pluggable Components The picture below presents dependencies between the OpenVINO Runtime core and pluggable libraries: -.. image:: _static/images/deployment_full.svg +.. image:: ../../_static/images/deployment_full.svg Libraries for Compute Devices +++++++++++++++++++++++++++++ For each inference device, OpenVINO Runtime has its own plugin library: -- ``openvino_intel_cpu_plugin`` for :doc:`Intel® CPU devices ` -- ``openvino_intel_gpu_plugin`` for :doc:`Intel® GPU devices ` -- ``openvino_arm_cpu_plugin`` for :doc:`ARM CPU devices ` +- ``openvino_intel_cpu_plugin`` for :doc:`Intel® CPU devices <../running-inference/inference-devices-and-modes/cpu-device>` +- ``openvino_intel_gpu_plugin`` for :doc:`Intel® GPU devices <../running-inference/inference-devices-and-modes/gpu-device>` +- ``openvino_arm_cpu_plugin`` for :doc:`ARM CPU devices <../running-inference/inference-devices-and-modes/cpu-device>` Depending on which devices are used in the app, the corresponding libraries should be included in the distribution package. @@ -114,25 +114,25 @@ Libraries for Execution Modes The ``HETERO``, ``MULTI``, ``BATCH``, and ``AUTO`` execution modes can also be used by the application explicitly or implicitly. Use the following recommendation scheme to decide whether to add the appropriate libraries to the distribution package: -- If :doc:`AUTO ` is used explicitly in the application or `ov::Core::compile_model `__ is used without specifying a device, put ``openvino_auto_plugin`` to the distribution. +- If :doc:`AUTO <../running-inference/inference-devices-and-modes/auto-device-selection>` is used explicitly in the application or `ov::Core::compile_model `__ is used without specifying a device, put ``openvino_auto_plugin`` to the distribution. .. note:: - Automatic Device Selection relies on :doc:`inference device plugins `. + Automatic Device Selection relies on :doc:`inference device plugins <../running-inference/inference-devices-and-modes>`. If you are not sure which inference devices are available on the target system, put all inference plugin libraries in the distribution. If `ov::device::priorities `__ is used for `AUTO` to specify a limited device list, grab the corresponding device plugins only. -- If :doc:`MULTI ` is used explicitly, put ``openvino_auto_plugin`` in the distribution. -- If :doc:`HETERO ` is either used explicitly or `ov::hint::performance_mode `__ is used with GPU, put ``openvino_hetero_plugin`` in the distribution. -- If :doc:`BATCH ` is either used explicitly or ``ov::hint::performance_mode`` is used with GPU, put ``openvino_batch_plugin`` in the distribution. +- If :doc:`MULTI <../running-inference/inference-devices-and-modes/multi-device>` is used explicitly, put ``openvino_auto_plugin`` in the distribution. +- If :doc:`HETERO <../running-inference/inference-devices-and-modes/hetero-execution>` is either used explicitly or `ov::hint::performance_mode `__ is used with GPU, put ``openvino_hetero_plugin`` in the distribution. +- If :doc:`BATCH <../running-inference/inference-devices-and-modes/automatic-batching>` is either used explicitly or ``ov::hint::performance_mode`` is used with GPU, put ``openvino_batch_plugin`` in the distribution. Frontend Libraries for Reading Models +++++++++++++++++++++++++++++++++++++ OpenVINO Runtime uses frontend libraries dynamically to read models in different formats: -- ``openvino_ir_frontend`` is used to read OpenVINO IR. +- ``../../documentation/openvino-ir-format_frontend`` is used to read OpenVINO IR. - ``openvino_tensorflow_frontend`` is used to read the TensorFlow file format. - ``openvino_tensorflow_lite_frontend`` is used to read the TensorFlow Lite file format. - ``openvino_onnx_frontend`` is used to read the ONNX file format. @@ -143,7 +143,7 @@ Depending on the model format types that are used in the application in `ov::Cor .. note:: - To optimize the size of the final distribution package, it is recommended to convert models to OpenVINO IR by using :doc:`model conversion API `. This way you do not have to keep TensorFlow, TensorFlow Lite, ONNX, PaddlePaddle, and other frontend libraries in the distribution package. + To optimize the size of the final distribution package, it is recommended to convert models to OpenVINO IR by using :doc:`model conversion API <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>`. This way you do not have to keep TensorFlow, TensorFlow Lite, ONNX, PaddlePaddle, and other frontend libraries in the distribution package. Examples #################### @@ -152,28 +152,28 @@ Examples In this example, the application is written in C, performs inference on CPU, and reads models stored in the OpenVINO IR format. -The following libraries are used: ``openvino_c``, ``openvino``, ``openvino_intel_cpu_plugin``, and ``openvino_ir_frontend``. +The following libraries are used: ``openvino_c``, ``openvino``, ``openvino_intel_cpu_plugin``, and ``../../documentation/openvino-ir-format_frontend``. - The ``openvino_c`` library is a main dependency of the application. The app links against this library. - The ``openvino`` library is used as a private dependency for ``openvino_c`` and is also used in the deployment. - ``openvino_intel_cpu_plugin`` is used for inference. -- ``openvino_ir_frontend`` is used to read source models. +- ``../../documentation/openvino-ir-format_frontend`` is used to read source models. **MULTI execution on GPU and CPU in `tput` mode** -In this example, the application is written in C++, performs inference :doc:`simultaneously on GPU and CPU devices ` with the `ov::hint::PerformanceMode::THROUGHPUT `__ property set, and reads models stored in the ONNX format. +In this example, the application is written in C++, performs inference :doc:`simultaneously on GPU and CPU devices <../running-inference/inference-devices-and-modes/multi-device>` with the `ov::hint::PerformanceMode::THROUGHPUT `__ property set, and reads models stored in the ONNX format. The following libraries are used: ``openvino``, ``openvino_intel_gpu_plugin``, ``openvino_intel_cpu_plugin``, ``openvino_auto_plugin``, ``openvino_auto_batch_plugin``, and ``openvino_onnx_frontend``. - The ``openvino`` library is a main dependency of the application. The app links against this library. - ``openvino_intel_gpu_plugin`` and ``openvino_intel_cpu_plugin`` are used for inference. - ``openvino_auto_plugin`` is used for Multi-Device Execution. -- ``openvino_auto_batch_plugin`` can be also put in the distribution to improve the saturation of :doc:`Intel® GPU ` device. If there is no such plugin, :doc:`Automatic Batching ` is turned off. +- ``openvino_auto_batch_plugin`` can be also put in the distribution to improve the saturation of :doc:`Intel® GPU <../running-inference/inference-devices-and-modes/gpu-device>` device. If there is no such plugin, :doc:`Automatic Batching <../running-inference/inference-devices-and-modes/automatic-batching>` is turned off. - ``openvino_onnx_frontend`` is used to read source models. **Auto-Device Selection between GPU and CPU** -In this example, the application is written in C++, performs inference with the :doc:`Automatic Device Selection ` mode, limiting device list to GPU and CPU, and reads models :doc:`created using C++ code `. +In this example, the application is written in C++, performs inference with the :doc:`Automatic Device Selection <../running-inference/inference-devices-and-modes/auto-device-selection>` mode, limiting device list to GPU and CPU, and reads models :doc:`created using C++ code <../running-inference/integrate-openvino-with-your-application/model-representation>`. The following libraries are used: ``openvino``, ``openvino_auto_plugin``, ``openvino_intel_gpu_plugin``, and ``openvino_intel_cpu_plugin``. diff --git a/docs/articles_en/openvino-workflow/generative-ai-models-guide.rst b/docs/articles_en/openvino-workflow/generative-ai-models-guide.rst index 4c639cc9f50..f9997264352 100644 --- a/docs/articles_en/openvino-workflow/generative-ai-models-guide.rst +++ b/docs/articles_en/openvino-workflow/generative-ai-models-guide.rst @@ -163,7 +163,7 @@ also available for CLI interface as the ``--int8`` option. The optimized model can be saved as usual with a call to ``save_pretrained()``. -For more details on compression options, refer to the :doc:`weight compression guide `. +For more details on compression options, refer to the :doc:`weight compression guide `. .. note:: @@ -203,7 +203,7 @@ Enabling OpenVINO Runtime Optimizations +++++++++++++++++++++++++++++++++++++++ OpenVINO runtime provides a set of optimizations for more efficient LLM inference. This includes **Dynamic quantization** of activations of 4/8-bit quantized MatMuls and **KV-cache quantization**. -* **Dynamic quantization** enables quantization of activations of MatMul operations that have 4 or 8-bit quantized weights (see :doc:`LLM Weight Compression `). +* **Dynamic quantization** enables quantization of activations of MatMul operations that have 4 or 8-bit quantized weights (see :doc:`LLM Weight Compression `). It improves inference latency and throughput of LLMs, though it may cause insignificant deviation in generation accuracy. Quantization is performed in a group-wise manner, with configurable group size. It means that values in a group share quantization parameters. Larger group sizes lead to faster inference but lower accuracy. Recommended group size values are: ``32``, ``64``, or ``128``. To enable Dynamic quantization, use the corresponding inference property as follows: @@ -265,7 +265,7 @@ The conversion process is significantly simplified as Optimum-Intel provides the Moreover, Optimum-Intel applies several model optimizations, such as weight compression and using stateful form by default, that further simplify the model exporting flow. You can still use the regular conversion path if the model comes from outside the Hugging Face ecosystem, such as in its source framework format (PyTorch, TensorFlow, etc.). -Model optimization can be performed within Hugging Face or directly using NNCF as described in the :doc:`weight compression guide `. +Model optimization can be performed within Hugging Face or directly using NNCF as described in the :doc:`weight compression guide `. Inference code that uses native API cannot benefit from Hugging Face pipelines. You need to write your custom code or take it from the available examples. Below are some examples of popular Generative AI scenarios: @@ -277,9 +277,9 @@ Additional Resources ##################### * `Optimum Intel documentation `__ -* :doc:`LLM Weight Compression ` +* :doc:`LLM Weight Compression ` * `Neural Network Compression Framework `__ * `GenAI Pipeline Repository `__ * `OpenVINO Tokenizers `__ -* :doc:`Stateful Models Low-Level Details ` -* :doc:`Working with Textual Data ` +* :doc:`Stateful Models Low-Level Details ` +* :doc:`Working with Textual Data ` diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training.rst index 536b65eb2ba..962ff9121ee 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training.rst @@ -8,14 +8,14 @@ Compressing Models During Training :maxdepth: 1 :hidden: - qat_introduction - filter_pruning + compressing-models-during-training/quantization-aware-training + compressing-models-during-training/filter-pruning Introduction #################### -Training-time model compression improves model performance by applying optimizations (such as quantization) during the training. The training process minimizes the loss associated with the lower-precision optimizations, so it is able to maintain the model’s accuracy while reducing its latency and memory footprint. Generally, training-time model optimization results in better model performance and accuracy than :doc:`post-training optimization `, but it can require more effort to set up. +Training-time model compression improves model performance by applying optimizations (such as quantization) during the training. The training process minimizes the loss associated with the lower-precision optimizations, so it is able to maintain the model’s accuracy while reducing its latency and memory footprint. Generally, training-time model optimization results in better model performance and accuracy than :doc:`post-training optimization `, but it can require more effort to set up. OpenVINO provides the Neural Network Compression Framework (NNCF) tool for implementing compression algorithms on models to improve their performance. NNCF is a Python library that integrates into PyTorch and TensorFlow training pipelines to add training-time compression methods to the pipeline. To apply training-time compression methods with NNCF, you need: @@ -64,7 +64,7 @@ Working with NNCF The figure below shows a common workflow of applying training-time compressions with NNCF. The NNCF optimizations are added to the TensorFlow or PyTorch training script, and then the model undergoes fine-tuning. The optimized model can then be exported to OpenVINO IR format for accelerated performance with OpenVINO Runtime. -.. image:: _static/images/nncf_workflow.svg +.. image:: ../../_static/images/nncf_workflow.svg Training-Time Compression Methods @@ -78,12 +78,12 @@ Quantization is the process of converting the weights and activation values in a Quantization-aware training inserts nodes into the neural network during training that simulate the effect of lower precision. This allows the training algorithm to consider quantization errors as part of the overall training loss that gets minimized during training. The network is then able to achieve enhanced accuracy when quantized. -The officially supported method of quantization in NNCF is uniform 8-bit quantization. This means all the weights and activation functions in the neural network are converted to 8-bit values. See the :doc:`Quantization-aware Training guide ` to learn more. +The officially supported method of quantization in NNCF is uniform 8-bit quantization. This means all the weights and activation functions in the neural network are converted to 8-bit values. See the :doc:`Quantization-aware Training guide ` to learn more. Filter pruning -------------------- -Filter pruning algorithms compress models by zeroing out the output filters of convolutional layers based on a certain filter importance criterion. During fine-tuning, an importance criteria is used to search for redundant filters that don’t significantly contribute to the network’s output and zero them out. After fine-tuning, the zeroed-out filters are removed from the network. For more information, see the :doc:`Filter Pruning ` page. +Filter pruning algorithms compress models by zeroing out the output filters of convolutional layers based on a certain filter importance criterion. During fine-tuning, an importance criteria is used to search for redundant filters that don’t significantly contribute to the network’s output and zero them out. After fine-tuning, the zeroed-out filters are removed from the network. For more information, see the :doc:`Filter Pruning ` page. Experimental methods -------------------- @@ -99,16 +99,16 @@ To learn more about these methods, visit the `NNCF repository on GitHub ` on your model and then compare performance to the original model. -2. If the accuracy is too degraded, use :doc:`Quantization-aware Training ` to increase accuracy while still achieving faster inference time. -3. If the quantized model is still too slow, use :doc:`Filter Pruning ` to further improve the model’s inference speed. +1. :doc:`Perform post-training quantization ` on your model and then compare performance to the original model. +2. If the accuracy is too degraded, use :doc:`Quantization-aware Training ` to increase accuracy while still achieving faster inference time. +3. If the quantized model is still too slow, use :doc:`Filter Pruning ` to further improve the model’s inference speed. Additional Resources #################### -- :doc:`Quantizing Models Post-training ` +- :doc:`Quantizing Models Post-training ` - `NNCF GitHub repository `__ - `NNCF FAQ `__ - `Quantization Aware Training with NNCF and PyTorch `__ diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/filter-pruning.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/filter-pruning.rst index 22679fcd935..3275a0885aa 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/filter-pruning.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/filter-pruning.rst @@ -229,18 +229,18 @@ To restore the model from checkpoint you should use the following API: :fragment: [load_checkpoint] For more details on saving/loading checkpoints in the NNCF, see the following -`documentation `__. +`../../../documentation `__. Deploying pruned model ###################### The pruned model requres an extra step that should be done to get performance improvement. This step involves removal of the -zero filters from the model. This is done at the model conversion step using :doc:`model conversion API ` tool when model is converted from the framework representation (ONNX, TensorFlow, etc.) to OpenVINO Intermediate Representation. +zero filters from the model. This is done at the model conversion step using :doc:`model conversion API <../../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` tool when model is converted from the framework representation (ONNX, TensorFlow, etc.) to OpenVINO Intermediate Representation. * To remove zero filters from the pruned model add the following parameter to the model conversion command: ``transform=Pruning`` After that, the model can be deployed with OpenVINO in the same way as the baseline model. -For more details about model deployment with OpenVINO, see the corresponding :doc:`documentation `. +For more details about model deployment with OpenVINO, see the corresponding :doc:`../../../documentation <../../running-inference>`. Examples diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/quantization-aware-training.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/quantization-aware-training.rst index cbb594f45c7..85339940977 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/quantization-aware-training.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/quantization-aware-training.rst @@ -217,13 +217,13 @@ To restore the model from checkpoint you should use the following API: :fragment: [load_checkpoint] -For more details on saving/loading checkpoints in the NNCF, see the following `documentation `__. +For more details on saving/loading checkpoints in the NNCF, see the following `../../../documentation `__. Deploying quantized model ######################### The quantized model can be deployed with OpenVINO in the same way as the baseline model. No extra steps or options are -required in this case. For more details, see the corresponding :doc:`documentation `. +required in this case. For more details, see the corresponding :doc:`../../../documentation <../../running-inference>`. Examples #################### diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training.rst index 983ffd9232a..f76f9a62957 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training.rst @@ -8,8 +8,8 @@ Quantizing Models Post-training :maxdepth: 1 :hidden: - basic_quantization_flow - quantization_w_accuracy_control + quantizing-models-post-training/basic-quantization-flow + quantizing-models-post-training/quantizing-with-accuracy-control Post-training model optimization is the process of applying special methods that transform the model into a more hardware-friendly representation without retraining or fine-tuning. The most popular and widely-spread method here is 8-bit post-training quantization because it is: @@ -21,18 +21,18 @@ Post-training model optimization is the process of applying special methods that 8-bit integer quantization lowers the precision of weights and activations to 8 bits, which leads to almost 4x reduction in the model footprint and significant improvements in inference speed, mostly due to lower throughput required for the inference. This lowering step is done offline, before the actual inference, so that the model gets transformed into the quantized representation. The process does not require a training dataset or a training pipeline in the source DL framework. -.. image:: _static/images/quantization_picture.svg +.. image:: ../../_static/images/quantization_picture.svg `Neural Network Compression Framework (NNCF) `__ provides a post-training quantization API available in Python that is aimed at reusing the code for model training or validation that is usually available with the model in the source framework, for example, PyTorch or TensroFlow. The NNCF API is cross-framework and currently supports models in the following frameworks: OpenVINO, PyTorch, TensorFlow 2.x, and ONNX. Currently, post-training quantization for models in OpenVINO Intermediate Representation is the most mature in terms of supported methods and models coverage. NNCF API has two main capabilities to apply 8-bit post-training quantization: -* :doc:`Basic quantization ` - the simplest quantization flow that allows applying 8-bit integer quantization to the model. A representative calibration dataset is only needed in this case. -* :doc:`Quantization with accuracy control ` - the most advanced quantization flow that allows applying 8-bit quantization to the model with accuracy control. Calibration and validation datasets, and a validation function to calculate the accuracy metric are needed in this case. +* :doc:`Basic quantization ` - the simplest quantization flow that allows applying 8-bit integer quantization to the model. A representative calibration dataset is only needed in this case. +* :doc:`Quantization with accuracy control ` - the most advanced quantization flow that allows applying 8-bit quantization to the model with accuracy control. Calibration and validation datasets, and a validation function to calculate the accuracy metric are needed in this case. Additional Resources #################### -* :doc:`Optimizing Models at Training Time ` +* :doc:`Optimizing Models at Training Time ` * `NNCF GitHub `__ diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training/basic-quantization-flow.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training/basic-quantization-flow.rst index 6148b21f3dc..6865869071f 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training/basic-quantization-flow.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training/basic-quantization-flow.rst @@ -201,7 +201,7 @@ Tune quantization parameters * ``advanced_parameters`` - used to specify advanced quantization parameters for fine-tuning the quantization algorithm. Defined by `nncf.quantization.advanced_parameters `__ NNCF submodule. ``None`` is default. -If the accuracy of the quantized model is not satisfactory, you can try to use the :doc:`Quantization with accuracy control ` flow. +If the accuracy of the quantized model is not satisfactory, you can try to use the :doc:`Quantization with accuracy control ` flow. Examples of how to apply NNCF post-training quantization: ############################################################ diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training/quantizing-with-accuracy-control.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training/quantizing-with-accuracy-control.rst index eddde03eb6b..8672a3ea04e 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training/quantizing-with-accuracy-control.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/quantizing-models-post-training/quantizing-with-accuracy-control.rst @@ -7,12 +7,12 @@ Quantizing with Accuracy Control Introduction #################### -This is the advanced quantization flow that allows to apply 8-bit quantization to the model with control of accuracy metric. This is achieved by keeping the most impactful operations within the model in the original precision. The flow is based on the :doc:`Basic 8-bit quantization ` and has the following differences: +This is the advanced quantization flow that allows to apply 8-bit quantization to the model with control of accuracy metric. This is achieved by keeping the most impactful operations within the model in the original precision. The flow is based on the :doc:`Basic 8-bit quantization ` and has the following differences: * Besides the calibration dataset, a **validation dataset** is required to compute the accuracy metric. Both datasets can refer to the same data in the simplest case. * **Validation function**, used to compute accuracy metric is required. It can be a function that is already available in the source framework or a custom function. -* Since accuracy validation is run several times during the quantization process, quantization with accuracy control can take more time than the :doc:`Basic 8-bit quantization ` flow. -* The resulted model can provide smaller performance improvement than the :doc:`Basic 8-bit quantization ` flow because some of the operations are kept in the original precision. +* Since accuracy validation is run several times during the quantization process, quantization with accuracy control can take more time than the :doc:`Basic 8-bit quantization ` flow. +* The resulted model can provide smaller performance improvement than the :doc:`Basic 8-bit quantization ` flow because some of the operations are kept in the original precision. .. note:: Currently, 8-bit quantization with accuracy control is available only for models in OpenVINO representation. @@ -27,7 +27,7 @@ If the original model is converted to OpenVINO and saved through ``openvino.save Prepare calibration and validation datasets ############################################ -This step is similar to the :doc:`Basic 8-bit quantization ` flow. The only difference is that two datasets, calibration and validation, are required. +This step is similar to the :doc:`Basic 8-bit quantization ` flow. The only difference is that two datasets, calibration and validation, are required. .. tab-set:: @@ -92,9 +92,9 @@ To save the model in the OpenVINO Intermediate Representation (IR), use ``openvi :language: python :fragment: [save] -``nncf.quantize_with_accuracy_control()`` API supports all the parameters from :doc:`Basic 8-bit quantization ` API, to quantize a model with accuracy control and a custom configuration. +``nncf.quantize_with_accuracy_control()`` API supports all the parameters from :doc:`Basic 8-bit quantization ` API, to quantize a model with accuracy control and a custom configuration. -If the accuracy or performance of the quantized model is not satisfactory, you can try :doc:`Training-time Optimization ` as the next step. +If the accuracy or performance of the quantized model is not satisfactory, you can try :doc:`Training-time Optimization <../compressing-models-during-training>` as the next step. Examples of NNCF post-training quantization with control of accuracy metric: ############################################################################# @@ -105,6 +105,6 @@ Examples of NNCF post-training quantization with control of accuracy metric: See also #################### -* :doc:`Optimizing Models at Training Time ` +* :doc:`Optimizing Models at Training Time <../compressing-models-during-training>` diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/weight-compression.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/weight-compression.rst index 2c67f1a9fa1..895bc9f571f 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/weight-compression.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/weight-compression.rst @@ -206,6 +206,6 @@ Additional Resources - `Tune Weight Compression Parameters Example `__ - `WhoWhatBench `__ - `NNCF GitHub `__ -- :doc:`Post-training Quantization ` -- :doc:`Training-time Optimization ` +- :doc:`Post-training Quantization ` +- :doc:`Training-time Optimization ` diff --git a/docs/articles_en/openvino-workflow/model-optimization.rst b/docs/articles_en/openvino-workflow/model-optimization.rst index c1c2fa48bc0..1203b99f648 100644 --- a/docs/articles_en/openvino-workflow/model-optimization.rst +++ b/docs/articles_en/openvino-workflow/model-optimization.rst @@ -8,18 +8,18 @@ Model Optimization Guide :maxdepth: 1 :hidden: - ptq_introduction - tmo_introduction - weight_compression + model-optimization-guide/quantizing-models-post-training + model-optimization-guide/compressing-models-during-training + model-optimization-guide/weight-compression Model optimization is an optional offline step of improving the final model performance and reducing the model size by applying special optimization methods, such as 8-bit quantization, pruning, etc. OpenVINO offers three optimization paths implemented in `Neural Network Compression Framework (NNCF) `__: -- :doc:`Post-training Quantization ` is designed to optimize the inference of deep learning models by applying the post-training 8-bit integer quantization that does not require model retraining or fine-tuning. +- :doc:`Post-training Quantization ` is designed to optimize the inference of deep learning models by applying the post-training 8-bit integer quantization that does not require model retraining or fine-tuning. -- :doc:`Training-time Optimization `, a suite of advanced methods for training-time model optimization within the DL framework, such as PyTorch and TensorFlow 2.x. It supports methods like Quantization-aware Training, Structured and Unstructured Pruning, etc. +- :doc:`Training-time Optimization `, a suite of advanced methods for training-time model optimization within the DL framework, such as PyTorch and TensorFlow 2.x. It supports methods like Quantization-aware Training, Structured and Unstructured Pruning, etc. -- :doc:`Weight Compression `, an easy-to-use method for Large Language Models footprint reduction and inference acceleration. +- :doc:`Weight Compression `, an easy-to-use method for Large Language Models footprint reduction and inference acceleration. .. note:: OpenVINO also supports optimized models (for example, quantized) from source frameworks such as PyTorch, TensorFlow, and ONNX (in Q/DQ; Quantize/DeQuantize format). No special steps are required in this case and optimized models can be converted to the OpenVINO Intermediate Representation format (IR) right away. @@ -27,18 +27,18 @@ Post-training Quantization is the fastest way to optimize an arbitrary DL model In case of unsatisfactory accuracy or performance after Post-training Quantization, Training-time Optimization can be used as an option. -.. image:: _static/images/DEVELOPMENT_FLOW_V3_crunch.svg +.. image:: ../_static/images/DEVELOPMENT_FLOW_V3_crunch.svg Once the model is optimized using the aforementioned methods, it can be used for inference using the regular OpenVINO inference workflow. No changes to the inference code are required. -.. image:: _static/images/WHAT_TO_USE.svg +.. image:: ../_static/images/WHAT_TO_USE.svg Additional Resources #################### -- :doc:`Post-training Quantization ` -- :doc:`Training-time Optimization ` -- :doc:`Weight Compression ` -- :doc:`Deployment optimization ` +- :doc:`Post-training Quantization ` +- :doc:`Training-time Optimization ` +- :doc:`Weight Compression ` +- :doc:`Deployment optimization ` - `HuggingFace Optimum Intel `__ diff --git a/docs/articles_en/openvino-workflow/model-preparation.rst b/docs/articles_en/openvino-workflow/model-preparation.rst index 88caefb8bf5..1485fb82341 100644 --- a/docs/articles_en/openvino-workflow/model-preparation.rst +++ b/docs/articles_en/openvino-workflow/model-preparation.rst @@ -12,9 +12,9 @@ Model Preparation :maxdepth: 1 :hidden: - Convert to OpenVINO Model - Conversion Parameters - Setting Input Shapes + Convert to OpenVINO Model + Conversion Parameters + Setting Input Shapes OpenVINO supports the following model formats: @@ -30,13 +30,13 @@ The easiest way to obtain a model is to download it from an online database, suc `TensorFlow Hub `__, `Hugging Face `__, and `Torchvision models `__. Now you have two options: -* Skip model conversion and :doc:`run inference ` +* Skip model conversion and :doc:`run inference ` directly from the **TensorFlow, TensorFlow Lite, ONNX, or PaddlePaddle** source format. Conversion will still be performed but it will happen automatically and "under the hood". This option, while convenient, offers lower performance and stability, as well as fewer optimization options. -* Explicitly :doc:`convert the model to OpenVINO IR `. +* Explicitly :doc:`convert the model to OpenVINO IR `. This approach offers the best possible results and is the recommended one, especially for production-ready solutions. Consider storing your model in this format to minimize first-inference latency, perform model optimizations, and save space on your drive, in some @@ -46,10 +46,10 @@ The easiest way to obtain a model is to download it from an online database, suc (``openvino.convert_model`` and ``openvino.save_model``) * the `ovc <#convert-a-model-in-cli-ovc>`__ command line tool. - Once saved as :doc:`OpenVINO IR ` + Once saved as :doc:`OpenVINO IR ` (a set of ``.xml`` and ``.bin`` files), the model may be deployed with maximum performance. Because it is already optimized for - :doc:`OpenVINO inference `, + :doc:`OpenVINO inference `, it can be read, compiled, and inferred with no additional delay. .. note:: @@ -58,7 +58,7 @@ The easiest way to obtain a model is to download it from an online database, suc projects are recommended to transition to the new solutions, keeping in mind that they are not fully backwards compatible with ``openvino.tools.mo.convert_model`` or the ``mo`` CLI tool. For more details, see the - :doc:`Model Conversion API Transition Guide `. + :doc:`Model Conversion API Transition Guide <../documentation/legacy-features/transition-legacy-conversion-api>`. For PyTorch models, `Python API <#convert-a-model-with-python-convert-model>`__ is the only conversion option. @@ -89,7 +89,7 @@ There are three states a model in OpenVINO can be: saved on disk, loaded but not run on (``ov.CompiledModel``), allowing device optimizations to be made and enabling inference. -For more information on each function, see the :doc:`OpenVINO workflow ` +For more information on each function, see the :doc:`OpenVINO workflow <../openvino-workflow>` page. Convert a Model with Python: ``convert_model`` @@ -98,7 +98,7 @@ Convert a Model with Python: ``convert_model`` Model Conversion API in Python uses the ``openvino.convert_model`` function, to turn a model into the `openvino.Model `__ object and load it to memory. Now it can be: saved to a drive with ``openvino.save_model`` -or further :doc:`optimized with NNCF ` before saving. +or further :doc:`optimized with NNCF ` before saving. See how to use ``openvino.convert_model`` with models from some of the most popular @@ -264,7 +264,7 @@ public repositories: application. Before saving the model to OpenVINO IR, consider -:doc:`Post-training Optimization ` to achieve more efficient inference and +:doc:`Post-training Optimization ` to achieve more efficient inference and a smaller model. @@ -275,7 +275,7 @@ Convert a Model in CLI: ``ovc`` and ``openvino.save_model`` functionalities, providing the exact same results, if the same set of parameters is used for saving into OpenVINO IR. It converts files from one of the supported formats to -:doc:`OpenVINO IR `, +:doc:`OpenVINO IR `, which can then be read, compiled, and run by the final inference application. .. note:: @@ -287,20 +287,20 @@ Additional Resources The following articles describe in detail how to obtain and prepare your model depending on the source model type: -* :doc:`Convert different model formats to the ov.Model format `. -* :doc:`Review all available conversion parameters `. +* :doc:`Convert different model formats to the ov.Model format `. +* :doc:`Review all available conversion parameters `. To achieve the best model inference performance and more compact OpenVINO IR representation follow: -* :doc:`Post-training optimization ` -* :doc:`Model inference in OpenVINO Runtime ` +* :doc:`Post-training optimization ` +* :doc:`Model inference in OpenVINO Runtime ` If you are still using the legacy conversion API (``mo`` or ``openvino.tools.mo.convert_model``), refer to the following materials: -* :doc:`Transition from legacy mo and ov.tools.mo.convert_model ` -* :doc:`Legacy Model Conversion API ` +* :doc:`Transition from legacy mo and ov.tools.mo.convert_model <../documentation/legacy-features/transition-legacy-conversion-api>` +* :doc:`Legacy Model Conversion API <../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api>` diff --git a/docs/articles_en/openvino-workflow/model-preparation/conversion-parameters.rst b/docs/articles_en/openvino-workflow/model-preparation/conversion-parameters.rst index e664a269175..bf184f279c1 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/conversion-parameters.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/conversion-parameters.rst @@ -7,7 +7,7 @@ Conversion Parameters .. meta:: :description: Model Conversion API provides several parameters to adjust model conversion. -This document describes all available parameters for ``openvino.convert_model``, ``ovc``, and ``openvino.save_model`` without focusing on a particular framework model format. Use this information for your reference as a common description of the conversion API capabilities in general. Part of the options can be not relevant to some specific frameworks. Use :doc:`Supported Model Formats ` page for more dedicated framework-dependent tutorials. +This document describes all available parameters for ``openvino.convert_model``, ``ovc``, and ``openvino.save_model`` without focusing on a particular framework model format. Use this information for your reference as a common description of the conversion API capabilities in general. Part of the options can be not relevant to some specific frameworks. Use :doc:`Supported Model Formats <../model-preparation>` page for more dedicated framework-dependent ../../learn-openvino/interactive-tutorials-python. In most cases when it is required to convert a model the following simple syntax can be used: @@ -38,9 +38,9 @@ In most cases when it is required to convert a model the following simple syntax Providing just a path to the model or model object as ``openvino.convert_model`` argument is frequently enough to make a successful conversion. However, depending on the model topology and original deep learning framework, additional parameters may be required, which are described below. -- ``example_input`` parameter available in Python ``openvino.convert_model`` only is intended to trace the model to obtain its graph representation. This parameter is crucial for converting PyTorch models and may sometimes be required for TensorFlow models. For more details, refer to the :doc:`PyTorch Model Conversion ` or :doc:`TensorFlow Model Conversion `. +- ``example_input`` parameter available in Python ``openvino.convert_model`` only is intended to trace the model to obtain its graph representation. This parameter is crucial for converting PyTorch models and may sometimes be required for TensorFlow models. For more details, refer to the :doc:`PyTorch Model Conversion ` or :doc:`TensorFlow Model Conversion `. -- ``input`` parameter to set or override shapes for model inputs. It configures dynamic and static dimensions in model inputs depending on your inference requirements. For more information on this parameter, refer to the :doc:`Setting Input Shapes ` guide. +- ``input`` parameter to set or override shapes for model inputs. It configures dynamic and static dimensions in model inputs depending on your inference requirements. For more information on this parameter, refer to the :doc:`Setting Input Shapes ` guide. - ``output`` parameter to select one or multiple outputs from the original model. This is useful when the model has outputs that are not required for inference in a deployment scenario. By specifying only necessary outputs, you can create a more compact model that infers faster. @@ -67,15 +67,15 @@ Providing just a path to the model or model object as ``openvino.convert_model`` ovc path_to_your_model --compress_to_fp16=False For details on how plugins handle compressed ``FP16`` models, see -:doc:`Inference Devices and Modes `. +:doc:`Inference Devices and Modes <../running-inference/inference-devices-and-modes>`. .. note:: ``FP16`` compression is sometimes used as the initial step for ``INT8`` quantization. - Refer to the :doc:`Post-training optimization ` guide for more + Refer to the :doc:`Post-training optimization <../model-optimization-guide/quantizing-models-post-training>` guide for more information about that. -- ``extension`` parameter which makes possible conversion of the models consisting of operations that are not supported by OpenVINO out-of-the-box. It requires implementing of an OpenVINO extension first, please refer to :doc:`Frontend Extensions ` guide. +- ``extension`` parameter which makes possible conversion of the models consisting of operations that are not supported by OpenVINO out-of-the-box. It requires implementing of an OpenVINO extension first, please refer to :doc:`Frontend Extensions <../../documentation/openvino-extensibility/frontend-extensions>` guide. - ``share_weigths`` parameter with default value ``True`` allows reusing memory with original weights. For models loaded in Python and then passed to ``openvino.convert_model``, that means that OpenVINO model will share the same areas in program memory where the original weights are located. For models loaded from files by ``openvino.convert_model``, file memory mapping is used to avoid extra memory allocation. When enabled, the original model cannot be destroyed (Python object cannot be deallocated and original model file cannot be deleted) for the whole lifetime of OpenVINO model. If it is not desired, set ``share_weights=False`` when calling ``openvino.convert_model``. diff --git a/docs/articles_en/openvino-workflow/model-preparation/convert-model-onnx.rst b/docs/articles_en/openvino-workflow/model-preparation/convert-model-onnx.rst index 05beab4e43f..b52552ad557 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/convert-model-onnx.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/convert-model-onnx.rst @@ -13,7 +13,7 @@ Introduction to ONNX `ONNX `__ is a representation format for deep learning models that enables AI developers to easily transfer models between different frameworks. -.. note:: An ONNX model file can be loaded by ``openvino.Core.read_model`` or ``openvino.Core.compile_model`` methods by OpenVINO runtime API without the need to prepare an OpenVINO IR first. Refer to the :doc:`inference example ` for more details. Using ``openvino.convert_model`` is still recommended if the model load latency is important for the inference application. +.. note:: An ONNX model file can be loaded by ``openvino.Core.read_model`` or ``openvino.Core.compile_model`` methods by OpenVINO runtime API without the need to prepare an OpenVINO IR first. Refer to the :doc:`inference example <../running-inference/integrate-openvino-with-your-application>` for more details. Using ``openvino.convert_model`` is still recommended if the model load latency is important for the inference application. Converting an ONNX Model ######################## @@ -51,10 +51,10 @@ OpenVINO model conversion API supports ONNX models with external data representa Supported ONNX Layers ##################### -For the list of supported standard layers, refer to the :doc:`Supported Operations ` page. +For the list of supported standard layers, refer to the :doc:`Supported Operations <../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` page. Additional Resources #################### -Check out more examples of model conversion in :doc:`interactive Python tutorials `. +Check out more examples of model conversion in :doc:`interactive Python tutorials <../../learn-openvino/interactive-tutorials-python>`. diff --git a/docs/articles_en/openvino-workflow/model-preparation/convert-model-paddle.rst b/docs/articles_en/openvino-workflow/model-preparation/convert-model-paddle.rst index 12f65ea4fb1..d9c0f706786 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/convert-model-paddle.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/convert-model-paddle.rst @@ -10,12 +10,12 @@ Converting a PaddlePaddle Model This page provides general instructions on how to convert a model from the PaddlePaddle format to the OpenVINO IR format using OpenVINO model conversion API. The instructions are different depending on the PaddlePaddle model format. -.. note:: PaddlePaddle model serialized in a file can be loaded by ``openvino.Core.read_model`` or ``openvino.Core.compile_model`` methods by OpenVINO runtime API without preparing OpenVINO IR first. Refer to the :doc:`inference example ` for more details. Using ``openvino.convert_model`` is still recommended if model load latency matters for the inference application. +.. note:: PaddlePaddle model serialized in a file can be loaded by ``openvino.Core.read_model`` or ``openvino.Core.compile_model`` methods by OpenVINO runtime API without preparing OpenVINO IR first. Refer to the :doc:`inference example <../running-inference/integrate-openvino-with-your-application>` for more details. Using ``openvino.convert_model`` is still recommended if model load latency matters for the inference application. Converting PaddlePaddle Model Files ################################### -PaddlePaddle inference model includes ``.pdmodel`` (storing model structure) and ``.pdiparams`` (storing model weight). For details on how to export a PaddlePaddle inference model, refer to the `Exporting PaddlePaddle Inference Model `__ Chinese guide. +PaddlePaddle inference model includes ``.pdmodel`` (storing model structure) and ``.pdiparams`` (storing model weight). For details on how to export a PaddlePaddle inference model, refer to the `Exporting PaddlePaddle Inference Model `__ Chinese guide. To convert a PaddlePaddle model, use the ``ovc`` or ``openvino.convert_model`` and specify the path to the input ``.pdmodel`` model file: @@ -138,11 +138,11 @@ Some PaddlePaddle models may require setting ``example_input`` or ``output`` for Supported PaddlePaddle Layers ############################# -For the list of supported standard layers, refer to the :doc:`Supported Operations ` page. +For the list of supported standard layers, refer to the :doc:`Supported Operations <../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` page. Additional Resources #################### -Check out more examples of model conversion in :doc:`interactive Python tutorials `. +Check out more examples of model conversion in :doc:`interactive Python ../../learn-openvino/interactive-tutorials-python <../../learn-openvino/interactive-tutorials-python>`. diff --git a/docs/articles_en/openvino-workflow/model-preparation/convert-model-pytorch.rst b/docs/articles_en/openvino-workflow/model-preparation/convert-model-pytorch.rst index e8008e423c3..c9e5eb08863 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/convert-model-pytorch.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/convert-model-pytorch.rst @@ -84,7 +84,7 @@ In practice, the code to evaluate or test the PyTorch model is usually provided category_name = weights.meta["categories"][class_id] print(f"{category_name}: {100 * score:.1f}% (with OpenVINO)") -Check out more examples in :doc:`interactive Python tutorials `. +Check out more examples in :doc:`interactive Python ../../learn-openvino/interactive-tutorials-python <../../learn-openvino/interactive-tutorials-python>`. .. note:: @@ -121,7 +121,7 @@ If your model has a ``dict`` input, such as, ``{"x": a, "y": b, "z": c}``, it wi An important consequence of flattening is that only ``tuple`` and ``dict`` with a fixed number of elements and key values are supported. The structure of such inputs should be fully described in the ``example_input`` parameter of ``convert_model``. The flattening on outputs should be reproduced with the given ``example_input`` and cannot be changed once the conversion is done. -Check out more examples of model conversion with non-tensor data types in the following tutorials: +Check out more examples of model conversion with non-tensor data types in the following ../../learn-openvino/interactive-tutorials-python: * `Video Subtitle Generation using Whisper and OpenVINO™ `__ * `Visual Question Answering and Image Captioning using BLIP and OpenVINO `__ @@ -133,7 +133,7 @@ Exporting a PyTorch Model to ONNX Format An alternative method of converting PyTorch models is exporting a PyTorch model to ONNX with ``torch.onnx.export`` first and then converting the resulting ``.onnx`` file to OpenVINO Model with ``openvino.convert_model``. It can be considered as a backup solution if a model cannot be converted directly from PyTorch to OpenVINO as described in the above chapters. Converting through ONNX can be more expensive in terms of code, conversion time, and allocated memory. 1. Refer to the `Exporting PyTorch models to ONNX format `__ guide to learn how to export models from PyTorch to ONNX. -2. Follow :doc:`Convert an ONNX model ` chapter to produce OpenVINO model. +2. Follow :doc:`Convert an ONNX model ` chapter to produce OpenVINO model. Here is an illustration of using these two steps together: diff --git a/docs/articles_en/openvino-workflow/model-preparation/convert-model-tensorflow-lite.rst b/docs/articles_en/openvino-workflow/model-preparation/convert-model-tensorflow-lite.rst index d5628a93f31..ecf08f9ff55 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/convert-model-tensorflow-lite.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/convert-model-tensorflow-lite.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_Converter_UG_prepare_model_convert_model_Convert_Model_From_TensorFlow_Lite} +.. {#convert-model-tensorflow_Lite} Converting a TensorFlow Lite Model ================================== @@ -28,12 +28,12 @@ To convert an TensorFlow Lite model, run model conversion with the path to the ` ovc your_model_file.tflite -.. note:: TensorFlow Lite model file can be loaded by ``openvino.Core.read_model`` or ``openvino.Core.compile_model`` methods by OpenVINO runtime API without preparing OpenVINO IR first. Refer to the :doc:`inference example ` for more details. Using ``openvino.convert_model`` is still recommended if model load latency matters for the inference application. +.. note:: TensorFlow Lite model file can be loaded by ``openvino.Core.read_model`` or ``openvino.Core.compile_model`` methods by OpenVINO runtime API without preparing OpenVINO IR first. Refer to the :doc:`inference example <../running-inference/integrate-openvino-with-your-application>` for more details. Using ``openvino.convert_model`` is still recommended if model load latency matters for the inference application. Supported TensorFlow Lite Layers ################################### -For the list of supported standard layers, refer to the :doc:`Supported Operations ` page. +For the list of supported standard layers, refer to the :doc:`Supported Operations <../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` page. Supported TensorFlow Lite Models ################################### diff --git a/docs/articles_en/openvino-workflow/model-preparation/convert-model-tensorflow.rst b/docs/articles_en/openvino-workflow/model-preparation/convert-model-tensorflow.rst index dc1ed257703..3a20e5286fb 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/convert-model-tensorflow.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/convert-model-tensorflow.rst @@ -10,7 +10,7 @@ Converting a TensorFlow Model This page provides general instructions on how to run model conversion from a TensorFlow format to the OpenVINO IR format. The instructions are different depending on whether your model was created with TensorFlow v1.X or TensorFlow v2.X. -.. note:: TensorFlow models can be loaded by ``openvino.Core.read_model`` or ``openvino.Core.compile_model`` methods by OpenVINO runtime API without preparing OpenVINO IR first. Refer to the :doc:`inference example ` for more details. Using ``openvino.convert_model`` is still recommended if model load latency matters for the inference application. +.. note:: TensorFlow models can be loaded by ``openvino.Core.read_model`` or ``openvino.Core.compile_model`` methods by OpenVINO runtime API without preparing OpenVINO IR first. Refer to the :doc:`inference example <../running-inference/integrate-openvino-with-your-application>` for more details. Using ``openvino.convert_model`` is still recommended if model load latency matters for the inference application. .. note:: Examples below that convert TensorFlow models from a file, do not require any version of TensorFlow to be installed on the system, except in cases when the ``tensorflow`` module is imported explicitly. @@ -326,7 +326,7 @@ Model conversion API supports passing TensorFlow/TensorFlow2 models directly fro Supported TensorFlow and TensorFlow 2 Keras Layers ################################################## -For the list of supported standard layers, refer to the :doc:`Supported Operations ` page. +For the list of supported standard layers, refer to the :doc:`Supported Operations <../../about-openvino/compatibility-and-support/supported-operations-framework-frontend>` page. Summary ####### diff --git a/docs/articles_en/openvino-workflow/model-preparation/convert-model-to-ir.rst b/docs/articles_en/openvino-workflow/model-preparation/convert-model-to-ir.rst index 3f1b055fa35..08e49ddfb10 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/convert-model-to-ir.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/convert-model-to-ir.rst @@ -11,14 +11,14 @@ Convert to OpenVINO IR :maxdepth: 1 :hidden: - Convert from PyTorch - Convert from TensorFlow - Convert from ONNX - Convert from TensorFlow Lite - Convert from PaddlePaddle + Convert from PyTorch + Convert from TensorFlow + Convert from ONNX + Convert from TensorFlow Lite + Convert from PaddlePaddle -:doc:`IR (Intermediate Representation) ` is OpenVINO own format consisting of ``.xml`` and ``.bin`` files. +:doc:`IR (Intermediate Representation) <../../documentation/openvino-ir-format>` is OpenVINO own format consisting of ``.xml`` and ``.bin`` files. Convert the model into OpenVINO IR for `better performance <#ir-conversion-benefits>`__. Convert Models @@ -56,7 +56,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-pytorch>` and an example `tutorial `__ on this topic. @@ -98,7 +98,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow>` and an example `tutorial `__ on this topic. @@ -119,7 +119,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C++ :sync: cpp @@ -139,7 +139,7 @@ Here are code examples of how to use these methods with different model formats: ov::CompiledModel compiled_model = core.compile_model("saved_model.pb", "AUTO"); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C :sync: c @@ -160,7 +160,7 @@ Here are code examples of how to use these methods with different model formats: ov_core_compile_model_from_file(core, "saved_model.pb", "AUTO", 0, &compiled_model); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: CLI :sync: cli @@ -172,7 +172,7 @@ Here are code examples of how to use these methods with different model formats: ovc .pb For details on the conversion, refer to the - :doc:`article `. + :doc:`article <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow>`. .. tab-item:: TensorFlow Lite :sync: tflite @@ -199,7 +199,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow>` and an example `tutorial `__ on this topic. @@ -232,7 +232,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(".tflite", "AUTO") For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C++ @@ -251,7 +251,7 @@ Here are code examples of how to use these methods with different model formats: ov::CompiledModel compiled_model = core.compile_model(".tflite", "AUTO"); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C :sync: c @@ -270,7 +270,7 @@ Here are code examples of how to use these methods with different model formats: ov_core_compile_model_from_file(core, ".tflite", "AUTO", 0, &compiled_model); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: CLI :sync: cli @@ -290,7 +290,7 @@ Here are code examples of how to use these methods with different model formats: ovc .tflite For details on the conversion, refer to the - :doc:`article `. + :doc:`article <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-tensorflow-lite>`. .. tab-item:: ONNX :sync: onnx @@ -317,7 +317,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-onnx>` and an example `tutorial `__ on this topic. @@ -349,7 +349,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(".onnx", "AUTO") - For a guide on how to run inference, see how to :doc:`Integrate OpenVINO™ with Your Application `. + For a guide on how to run inference, see how to :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C++ @@ -367,7 +367,7 @@ Here are code examples of how to use these methods with different model formats: ov::CompiledModel compiled_model = core.compile_model(".onnx", "AUTO"); - For a guide on how to run inference, see how to :doc:`Integrate OpenVINO™ with Your Application `. + For a guide on how to run inference, see how to :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C :sync: c @@ -385,7 +385,7 @@ Here are code examples of how to use these methods with different model formats: ov_compiled_model_t* compiled_model = NULL; ov_core_compile_model_from_file(core, ".onnx", "AUTO", 0, &compiled_model); - For details on the conversion, refer to the :doc:`article ` + For details on the conversion, refer to the :doc:`article <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-onnx>` .. tab-item:: CLI :sync: cli @@ -405,7 +405,7 @@ Here are code examples of how to use these methods with different model formats: ovc .onnx For details on the conversion, refer to the - :doc:`article ` + :doc:`article <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-onnx>` .. tab-item:: PaddlePaddle :sync: pdpd @@ -438,7 +438,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the - :doc:`guide ` + :doc:`guide <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-paddle>` and an example `tutorial `__ on this topic. @@ -470,7 +470,7 @@ Here are code examples of how to use these methods with different model formats: compiled_model = core.compile_model(".pdmodel", "AUTO") For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C++ :sync: cpp @@ -488,7 +488,7 @@ Here are code examples of how to use these methods with different model formats: ov::CompiledModel compiled_model = core.compile_model(".pdmodel", "AUTO"); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: C :sync: c @@ -507,7 +507,7 @@ Here are code examples of how to use these methods with different model formats: ov_core_compile_model_from_file(core, ".pdmodel", "AUTO", 0, &compiled_model); For a guide on how to run inference, see how to - :doc:`Integrate OpenVINO™ with Your Application `. + :doc:`Integrate OpenVINO™ with Your Application <../running-inference/integrate-openvino-with-your-application>`. .. tab-item:: CLI :sync: cli @@ -527,18 +527,18 @@ Here are code examples of how to use these methods with different model formats: ovc .pdmodel For details on the conversion, refer to the - :doc:`article `. + :doc:`article <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats/[legacy]-convert-paddle>`. -* :doc:`How to convert PyTorch ` -* :doc:`How to convert ONNX ` -* :doc:`How to convert TensorFlow ` -* :doc:`How to convert TensorFlow Lite ` -* :doc:`How to convert PaddlePaddle ` +* :doc:`How to convert PyTorch ` +* :doc:`How to convert ONNX ` +* :doc:`How to convert TensorFlow ` +* :doc:`How to convert TensorFlow Lite ` +* :doc:`How to convert PaddlePaddle ` -To choose the best workflow for your application, read the :doc:`Model Preparation section `. +To choose the best workflow for your application, read the :doc:`Model Preparation section <../model-preparation>`. -Refer to the list of all supported conversion options in :doc:`Conversion Parameters `. +Refer to the list of all supported conversion options in :doc:`Conversion Parameters `. IR Conversion Benefits ################################################ @@ -585,5 +585,5 @@ An example showing how to take advantage of OpenVINO IR, saving a model in OpenV Additional Resources #################### -* :doc:`Transition guide from the legacy to new conversion API ` +* :doc:`Transition guide from the legacy to new conversion API <../../documentation/legacy-features/transition-legacy-conversion-api>` diff --git a/docs/articles_en/openvino-workflow/model-preparation/setting-input-shapes.rst b/docs/articles_en/openvino-workflow/model-preparation/setting-input-shapes.rst index 7edb16ed772..7ab05fed2ec 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/setting-input-shapes.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/setting-input-shapes.rst @@ -18,14 +18,14 @@ Doing so at the model preparation stage, not at runtime, can be beneficial in te performance and memory consumption. For more information on changing input shapes in runtime, refer to the -:doc:`Changing input shapes ` guide. +:doc:`Changing input shapes <../running-inference/changing-input-shape>` guide. To learn more about dynamic shapes in runtime, refer to the -:doc:`Dynamic Shapes ` guide. +:doc:`Dynamic Shapes <../running-inference/dynamic-shapes>` guide. The OpenVINO Runtime API may present certain limitations in inferring models with undefined -dimensions on some hardware. See the :doc:`Feature support matrix ` +dimensions on some hardware. See the :doc:`Feature support matrix <../../about-openvino/compatibility-and-support/supported-devices>` for reference. In this case, the ``input`` parameter and the -:doc:`reshape method ` can help to resolve undefined +:doc:`reshape method <../running-inference/changing-input-shape>` can help to resolve undefined dimensions. For example, run model conversion for the TensorFlow MobileNet model with the single input diff --git a/docs/articles_en/openvino-workflow/running-inference.rst b/docs/articles_en/openvino-workflow/running-inference.rst index 2127ff0d5f6..fa3a551e56c 100644 --- a/docs/articles_en/openvino-workflow/running-inference.rst +++ b/docs/articles_en/openvino-workflow/running-inference.rst @@ -8,13 +8,13 @@ Running Inference with OpenVINO™ :maxdepth: 1 :hidden: - openvino_docs_OV_UG_Integrate_OV_with_your_application - openvino_docs_Runtime_Inference_Modes_Overview - openvino_docs_OV_UG_ShapeInference - openvino_docs_OV_UG_DynamicShapes - openvino_docs_OV_UG_stateful_models_intro - openvino_docs_OV_UG_string_tensors - Optimize Inference + running-inference/integrate-openvino-with-your-application + running-inference/inference-devices-and-modes + running-inference/changing-input-shape + running-inference/dynamic-shapes + running-inference/stateful-models-intro + running-inference/string-tensors + Optimize Inference .. meta:: :description: Learn how to run inference using OpenVINO. @@ -22,8 +22,8 @@ Running Inference with OpenVINO™ OpenVINO Runtime is a set of C++ libraries with C and Python bindings providing a common API to deploy inference on the platform of your choice. You can run any of the -:doc:`supported model formats ` directly or convert the model -and save it to the :doc:`OpenVINO IR ` format, for maximum performance. +:doc:`supported model formats ` directly or convert the model +and save it to the :doc:`OpenVINO IR <../documentation/openvino-ir-format>` format, for maximum performance. Why is OpenVINO IR inference faster? Even if you run a supported model directly, it is converted before inference. It may happen automatically, under the hood, for maximum convenience, @@ -37,11 +37,11 @@ OpenVINO IR provides by far the best first-inference latency scores. .. note:: For more detailed information on how to convert, read, and compile supported model formats - see the :doc:`Model Preparation article `. + see the :doc:`Model Preparation article `. Note that TensorFlow models can be run using the - :doc:`torch.compile feature `, as well as the standard ways of - :doc:`converting TensorFlow ` + :doc:`torch.compile feature `, as well as the standard ways of + :doc:`converting TensorFlow ` or running its inference. OpenVINO Runtime uses a plugin architecture. Its plugins are software components that contain complete implementation for inference on a particular Intel® hardware device: CPU, GPU, etc. Each plugin implements the unified API and provides additional hardware-specific APIs for configuring devices or API interoperability between OpenVINO Runtime and underlying plugin backend. @@ -49,6 +49,6 @@ OpenVINO Runtime uses a plugin architecture. Its plugins are software components The scheme below illustrates the typical workflow for deploying a trained deep learning model: -.. image:: _static/images/BASIC_FLOW_IE_C.svg +.. image:: ../_static/images/BASIC_FLOW_IE_C.svg diff --git a/docs/articles_en/openvino-workflow/running-inference/changing-input-shape.rst b/docs/articles_en/openvino-workflow/running-inference/changing-input-shape.rst index 94544b42cdb..382f7a7bf18 100644 --- a/docs/articles_en/openvino-workflow/running-inference/changing-input-shape.rst +++ b/docs/articles_en/openvino-workflow/running-inference/changing-input-shape.rst @@ -15,8 +15,8 @@ The following instructions are for cases where you need to change the model inpu .. note:: If you need to do this only once, prepare a model with updated shapes via - :doc:`Model Conversion API `. - For more information, refer to the :doc:`Setting Input Shapes ` article. + :doc:`Model Conversion API <../model-preparation>`. + For more information, refer to the :doc:`Setting Input Shapes <../model-preparation/setting-input-shapes>` article. The reshape method @@ -47,7 +47,7 @@ to set a new batch size with the ``reshape`` method: The diagram below presents the results of using the method, where the size of model input is changed with an image input: -.. image:: _static/images/original_vs_reshaped_model.svg +.. image:: ../../_static/images/original_vs_reshaped_model.svg When using the ``reshape`` method, you may take one of the approaches: @@ -75,7 +75,7 @@ When using the ``reshape`` method, you may take one of the approaches: To do the opposite - to resize input image to match the input shapes of the model, - use the :doc:`pre-processing API `. + use the :doc:`pre-processing API `. 2. You can express a reshape plan, specifying the input by the port, the index, and the tensor name: @@ -153,12 +153,12 @@ When using the ``reshape`` method, you may take one of the approaches: You can find the usage scenarios of the ``reshape`` method in -:doc:`Hello Reshape SSD Samples `. +:doc:`Hello Reshape SSD Samples <../../learn-openvino/openvino-samples/hello-reshape-ssd>`. .. note:: In some cases, models may not be ready to be reshaped. Therefore, a new input - shape cannot be set neither with :doc:`Model Conversion API ` + shape cannot be set neither with :doc:`Model Conversion API <../model-preparation>` nor the ``reshape`` method. The set_batch method @@ -191,7 +191,7 @@ Once you set the input shape of the model, call the ``compile_model`` method to get a ``CompiledModel`` object for inference with updated shapes. There are other approaches to change model input shapes during the stage of -:ref:`IR generation ` or :ref:`model representation ` in OpenVINO Runtime. +:ref:`IR generation ` or :ref:`model representation ` in OpenVINO Runtime. .. important:: @@ -201,16 +201,16 @@ There are other approaches to change model input shapes during the stage of NOT going to change from one inference to another. Setting static shapes can avoid memory and runtime overheads for dynamic shapes which may vary depending on hardware plugin and model used. For more information, refer to the - :doc:`Dynamic Shapes `. + :doc:`Dynamic Shapes `. Additional Resources #################### -* :doc:`Extensibility documentation ` - describes a special mechanism in OpenVINO that allows adding support of shape inference for custom operations. +* :doc:`Extensibility ../../documentation <../../documentation/openvino-extensibility>` - describes a special mechanism in OpenVINO that allows adding support of shape inference for custom operations. * `ov::Model::reshape `__ - in OpenVINO Runtime C++ API * `Model.reshape `__ - in OpenVINO Runtime Python API. -* :doc:`Dynamic Shapes ` -* :doc:`OpenVINO samples ` -* :doc:`Preprocessing API ` +* :doc:`Dynamic Shapes ` +* :doc:`OpenVINO samples <../../learn-openvino/openvino-samples>` +* :doc:`Preprocessing API ` diff --git a/docs/articles_en/openvino-workflow/running-inference/dynamic-shapes.rst b/docs/articles_en/openvino-workflow/running-inference/dynamic-shapes.rst index 7e932380d12..4adb2802d9a 100644 --- a/docs/articles_en/openvino-workflow/running-inference/dynamic-shapes.rst +++ b/docs/articles_en/openvino-workflow/running-inference/dynamic-shapes.rst @@ -8,7 +8,7 @@ Dynamic Shapes :maxdepth: 1 :hidden: - openvino_docs_OV_UG_NoDynamicShapes + dynamic-shapes/openvino-without-dynamic-shapes-api .. meta:: :description: The Reshape method in OpenVINO Runtime API can handle dynamic @@ -16,7 +16,7 @@ Dynamic Shapes model compilation. -As it was demonstrated in the :doc:`Changing Input Shapes ` article, there are models that support changing input shapes before model compilation in ``Core::compile_model``. +As it was demonstrated in the :doc:`Changing Input Shapes ` article, there are models that support changing input shapes before model compilation in ``Core::compile_model``. Reshaping models provides an ability to customize the model input shape for the exact size required in the end application. This article explains how the ability of model to reshape can further be leveraged in more dynamic scenarios. @@ -39,7 +39,7 @@ Below are several examples of dimensions that can be naturally dynamic: There are various methods to address input dynamic dimensions through combining multiple pre-reshaped models and input data padding. The methods are sensitive to model internals, do not always give optimal performance and are cumbersome. -For a short overview of the methods, refer to the :doc:`When Dynamic Shapes API is Not Applicable ` page. +For a short overview of the methods, refer to the :doc:`When Dynamic Shapes API is Not Applicable ` page. Apply those methods only if native dynamic shape API described in the following sections does not work or does not perform as expected. The decision about using dynamic shapes should be based on proper benchmarking of a real application with real data. @@ -113,7 +113,7 @@ The examples above assume that the model has a single input layer. To change mod :fragment: ov_dynamic_shapes:reshape_multiple_inputs -For more examples of how to change multiple input layers, see :doc:`Changing Input Shapes `. +For more examples of how to change multiple input layers, see :doc:`Changing Input Shapes `. Undefined Dimensions "Out Of the Box" ------------------------------------- @@ -141,7 +141,7 @@ To check if a model already has dynamic dimensions, first load it with the ``rea If the input model already has dynamic dimensions, that will not change during inference. If the inputs will not be used dynamically, it is recommended to set them to static values using the ``reshape`` method to save application memory and potentially improve inference speed. The OpenVINO API supports any combination of static and dynamic dimensions. -Static and dynamic dimensions can also be set when converting the model with ``convert_model()``. It has identical capabilities to the ``reshape`` method, so you can save time by converting the model with dynamic shapes beforehand rather than in the application code. To get information about setting input shapes using ``convert_model()``, refer to :doc:`Setting Input Shapes `. +Static and dynamic dimensions can also be set when converting the model with ``convert_model()``. It has identical capabilities to the ``reshape`` method, so you can save time by converting the model with dynamic shapes beforehand rather than in the application code. To get information about setting input shapes using ``convert_model()``, refer to :doc:`Setting Input Shapes <../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes>`. Dimension Bounds ---------------- @@ -192,14 +192,14 @@ For the same reason, it is not recommended to leave dimensions as undefined, wit When specifying bounds, the lower bound is not as important as the upper one. The upper bound allows inference devices to allocate memory for intermediate tensors more precisely. It also allows using a fewer number of tuned kernels for different sizes. More precisely, benefits of specifying the lower or upper bound is device dependent. -Depending on the plugin, specifying the upper bounds can be required. For information about dynamic shapes support on different devices, refer to the :doc:`feature support table `. +Depending on the plugin, specifying the upper bounds can be required. For information about dynamic shapes support on different devices, refer to the :doc:`feature support table <../../about-openvino/compatibility-and-support/supported-devices>`. If the lower and upper bounds for a dimension are known, it is recommended to specify them, even if a plugin can execute a model without the bounds. Preparing and Inferencing Dynamic Data ++++++++++++++++++++++++++++++++++++++ -After configuring a model with the ``reshape`` method, the next steps are to create tensors with the appropriate data shape and pass them to the model as an inference request. This is similar to the regular steps described in :doc:`Integrate OpenVINO™ with Your Application `. However, tensors can now be passed into the model with different shapes. +After configuring a model with the ``reshape`` method, the next steps are to create tensors with the appropriate data shape and pass them to the model as an inference request. This is similar to the regular steps described in :doc:`Integrate OpenVINO™ with Your Application `. However, tensors can now be passed into the model with different shapes. The sample below shows how a model can accept different input shapes. In the first case, the model runs inference on a 1x128 input shape and returns a result. In the second case, a 1x200 input shape is used, which the model can still handle because it is dynamically shaped. @@ -227,7 +227,7 @@ The sample below shows how a model can accept different input shapes. In the fir :fragment: ov_dynamic_shapes:set_input_tensor -For more information on how to apply input data to a model and run inference, see :doc:`OpenVINO™ Inference Request `. +For more information on how to apply input data to a model and run inference, see :doc:`OpenVINO™ Inference Request `. Dynamic Shapes in Outputs diff --git a/docs/articles_en/openvino-workflow/running-inference/dynamic-shapes/openvino-without-dynamic-shapes-api.rst b/docs/articles_en/openvino-workflow/running-inference/dynamic-shapes/openvino-without-dynamic-shapes-api.rst index c7258b20a4b..f305dc23c03 100644 --- a/docs/articles_en/openvino-workflow/running-inference/dynamic-shapes/openvino-without-dynamic-shapes-api.rst +++ b/docs/articles_en/openvino-workflow/running-inference/dynamic-shapes/openvino-without-dynamic-shapes-api.rst @@ -11,7 +11,7 @@ When Dynamic Shapes API is Not Applicable Several approaches to emulate dynamic shapes are considered in this article. -Apply the following methods only if the :doc:`native dynamic shape API ` does not work or does not perform as expected. +Apply the following methods only if the :doc:`native dynamic shape API <../dynamic-shapes>` does not work or does not perform as expected. Padding #################### diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes.rst index 2162d44dc4e..cb38dfd3c52 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes.rst @@ -8,14 +8,14 @@ Inference Devices and Modes :maxdepth: 1 :hidden: - openvino_docs_OV_UG_supported_plugins_CPU - openvino_docs_OV_UG_supported_plugins_GPU - openvino_docs_OV_UG_supported_plugins_NPU - openvino_docs_OV_UG_supported_plugins_AUTO - openvino_docs_OV_UG_Running_on_multiple_devices - openvino_docs_OV_UG_Hetero_execution - openvino_docs_OV_UG_Automatic_Batching - openvino_docs_OV_UG_query_api + inference-devices-and-modes/cpu-device + inference-devices-and-modes/gpu-device + inference-devices-and-modes/npu-device + inference-devices-and-modes/auto-device-selection + inference-devices-and-modes/multi-device + inference-devices-and-modes/hetero-execution + inference-devices-and-modes/automatic-batching + inference-devices-and-modes/query-device-properties The OpenVINO runtime offers multiple inference modes to enable the best hardware utilization under @@ -24,17 +24,17 @@ different conditions: | **single-device inference** | Define just one device responsible for the entire inference workload. It supports a range of processors by means of the following plugins embedded in the Runtime library: -| - :doc:`CPU ` -| - :doc:`GPU ` -| - :doc:`NPU ` +| - :doc:`CPU ` +| - :doc:`GPU ` +| - :doc:`NPU ` | **automated inference modes** | Assume certain level of automation in selecting devices for inference. They may potentially increase your deployed solution's performance and portability. The automated modes are: -| - :doc:`Automatic Device Selection (AUTO) ` -| - :doc:`Multi-Device Execution (MULTI) ` -| - :doc:`Heterogeneous Execution (HETERO) ` -| - :doc:`Automatic Batching Execution (Auto-batching) ` +| - :doc:`Automatic Device Selection (AUTO) ` +| - :doc:`Multi-Device Execution (MULTI) ` +| - :doc:`Heterogeneous Execution (HETERO) ` +| - :doc:`Automatic Batching Execution (Auto-batching) ` @@ -58,7 +58,7 @@ as an example): Device: GPU.1 -You may see how to obtain this information in the :doc:`Hello Query Device Sample `. +You may see how to obtain this information in the :doc:`Hello Query Device Sample <../../learn-openvino/openvino-samples/hello-query-device>`. Here is an example of a simple programmatic way to enumerate the devices and use them with the multi-device mode: diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection.rst index bf8f9bdf84c..aba85c45a8d 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection.rst @@ -13,7 +13,7 @@ Automatic Device Selection :maxdepth: 1 :hidden: - Debugging Auto-Device Plugin + Debugging Auto-Device Plugin .. _how-auto-works: @@ -71,11 +71,11 @@ For example, if you use a CPU and a GPU, the first-inference latency of AUTO wil Note that if you choose to exclude CPU from the priority list or disable the initial CPU acceleration feature via ``ov::intel_auto::enable_startup_fallback``, it will be unable to support the initial model compilation stage. The models with dynamic -input/output or stateful :doc:`stateful` +input/output or stateful :doc:`stateful<../stateful-models-intro>` operations will be loaded to the CPU if it is in the candidate list. Otherwise, these models will follow the normal flow and be loaded to the device based on priority. -.. image:: _static/images/autoplugin_accelerate.svg +.. image:: ../../../_static/images/autoplugin_accelerate.svg This mechanism can be easily observed in the :ref:`Using AUTO with Benchmark app sample ` @@ -248,12 +248,12 @@ See the following code for using AUTO and specifying devices: Note that OpenVINO Runtime lets you use "GPU" as an alias for "GPU.0" in function calls. -More details on enumerating devices can be found in :doc:`Inference Devices and Modes `. +More details on enumerating devices can be found in :doc:`Inference Devices and Modes <../inference-devices-and-modes>`. Checking Available Devices -------------------------- -To check what devices are present in the system, you can use Device API, as listed below. For information on how to use it, see :doc:`Query device properties and configuration `. +To check what devices are present in the system, you can use Device API, as listed below. For information on how to use it, see :doc:`Query device properties and configuration `. .. tab-set:: @@ -308,9 +308,9 @@ Performance Hints for AUTO The ``ov::hint::performance_mode`` property enables you to specify a performance option for AUTO to be more efficient for particular use cases. The default hint for AUTO is ``LATENCY``. -The THROUGHPUT and CUMULATIVE_THROUGHPUT hints below only improve performance in an asynchronous inference pipeline. For information on asynchronous inference, see the :doc:`Async API documentation ` . The following notebooks provide examples of how to set up an asynchronous pipeline: +The THROUGHPUT and CUMULATIVE_THROUGHPUT hints below only improve performance in an asynchronous inference pipeline. For information on asynchronous inference, see the :doc:`Async API ../../../documentation <../integrate-openvino-with-your-application/inference-request>` . The following notebooks provide examples of how to set up an asynchronous pipeline: -* :doc:`Image Classification Async Sample ` +* :doc:`Image Classification Async Sample <../../../learn-openvino/openvino-samples/image-classification-async>` * `Notebook - Asynchronous Inference with OpenVINO™ `__ * `Notebook - Automatic Device Selection with OpenVINO `__ @@ -338,7 +338,7 @@ CUMULATIVE_THROUGHPUT While ``LATENCY`` and ``THROUGHPUT`` can select one target device with your preferred performance option, the ``CUMULATIVE_THROUGHPUT`` option enables running inference on multiple devices for higher throughput. With ``CUMULATIVE_THROUGHPUT``, AUTO loads the network model to all available devices in the candidate list, and then runs inference on them based on the default or specified priority. -CUMULATIVE_THROUGHPUT has similar behavior as :doc:`the Multi-Device execution mode (MULTI) `. The only difference is that CUMULATIVE_THROUGHPUT uses the devices specified by AUTO, which means that it's not mandatory to add devices manually, while with MULTI, you need to specify the devices before inference. +CUMULATIVE_THROUGHPUT has similar behavior as :doc:`the Multi-Device execution mode (MULTI) `. The only difference is that CUMULATIVE_THROUGHPUT uses the devices specified by AUTO, which means that it's not mandatory to add devices manually, while with MULTI, you need to specify the devices before inference. If device priority is specified when using CUMULATIVE_THROUGHPUT, AUTO will run inference requests on devices based on the priority. In the following example, AUTO will always try to use GPU first, and then use CPU if GPU is busy: @@ -359,7 +359,7 @@ If device priority is specified when using CUMULATIVE_THROUGHPUT, AUTO will run ov::CompiledModel compiled_model = core.compile_model(model, "AUTO:GPU,CPU", ov::hint::performance_mode(ov::hint::PerformanceMode::CUMULATIVE_THROUGHPUT)); -If AUTO is used without specifying any device names, and if there are multiple GPUs in the system, CUMULATIVE_THROUGHPUT mode will use all of the GPUs by default. If the system has more than two GPU devices, AUTO will remove CPU from the device candidate list to keep the GPUs running at full capacity. A full list of system devices and their unique identifiers can be queried using ov::Core::get_available_devices (for more information, see :doc:`Query Device Properties `). To explicitly specify which GPUs to use, set their priority when compiling with AUTO: +If AUTO is used without specifying any device names, and if there are multiple GPUs in the system, CUMULATIVE_THROUGHPUT mode will use all of the GPUs by default. If the system has more than two GPU devices, AUTO will remove CPU from the device candidate list to keep the GPUs running at full capacity. A full list of system devices and their unique identifiers can be queried using ov::Core::get_available_devices (for more information, see :doc:`Query Device Properties `). To explicitly specify which GPUs to use, set their priority when compiling with AUTO: .. tab-set:: @@ -404,7 +404,7 @@ To enable performance hints for your application, use the following code: Disabling Auto-Batching for THROUGHPUT and CUMULATIVE_THROUGHPUT ---------------------------------------------------------------- -The ``ov::hint::PerformanceMode::THROUGHPUT`` mode and the ``ov::hint::PerformanceMode::CUMULATIVE_THROUGHPUT`` mode will trigger Auto-Batching (for example, for the GPU device) by default. You can disable it by setting ``ov::hint::allow_auto_batching(false)``, or change the default timeout value to a large number, e.g. ``ov::auto_batch_timeout(1000)``. See :doc:`Automatic Batching ` for more details. +The ``ov::hint::PerformanceMode::THROUGHPUT`` mode and the ``ov::hint::PerformanceMode::CUMULATIVE_THROUGHPUT`` mode will trigger Auto-Batching (for example, for the GPU device) by default. You can disable it by setting ``ov::hint::allow_auto_batching(false)``, or change the default timeout value to a large number, e.g. ``ov::auto_batch_timeout(1000)``. See :doc:`Automatic Batching ` for more details. Configuring Model Priority @@ -493,7 +493,7 @@ For limited device choice: benchmark_app –d AUTO:CPU,GPU –m -i -niter 1000 -For more information, refer to the :doc:`Benchmark Tool ` article. +For more information, refer to the :doc:`Benchmark Tool <../../../learn-openvino/openvino-samples/benchmark-tool>` article. .. note:: @@ -507,8 +507,8 @@ For more information, refer to the :doc:`Benchmark Tool ` -- :doc:`Running on Multiple Devices Simultaneously ` -- :doc:`Inference Devices and Modes ` +- :doc:`Debugging AUTO ` +- :doc:`Running on Multiple Devices Simultaneously ` +- :doc:`Inference Devices and Modes <../inference-devices-and-modes>` diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection/gpu-remote-tensor-apirst.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection/gpu-remote-tensor-apirst.rst index 72df95c2334..2ea7e6564df 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection/gpu-remote-tensor-apirst.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection/gpu-remote-tensor-apirst.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_supported_plugins_AUTO_debugging} +.. {#../auto-device-selection_debugging} Debugging Auto-Device Plugin ============================ @@ -85,7 +85,7 @@ All major performance calls of both OpenVINO™ Runtime and the AUTO plugin are For more information, you can refer to: -* `Intel® VTune™ Profiler User Guide `__ +* `Intel® VTune™ Profiler User Guide `__ Analyze Code Performance on Linux +++++++++++++++++++++++++++++++++ @@ -106,27 +106,27 @@ With Intel® VTune™ Profiler installed you can configure your analysis with th 3. In the **where** pane, select **Local Host** - .. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img01-localhost.png + .. image:: ../../../../_static/images/OV_UG_supported_plugins_AUTO_debugging-img01-localhost.png :align: center 4. In the **what** pane, specify your target application/script on the local system. - .. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img02-launch.png + .. image:: ../../../../_static/images/OV_UG_supported_plugins_AUTO_debugging-img02-launch.png :align: center 5. In the **how** pane, choose and configure the analysis type you want to perform, for example, **Hotspots Analysis**: identify the most time-consuming functions and drill down to see time spent on each line of source code. Focus optimization efforts on hot code for the greatest performance impact. - .. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img03-hotspots.png + .. image:: ../../../../_static/images/OV_UG_supported_plugins_AUTO_debugging-img03-hotspots.png :align: center 6. Start the analysis by clicking the start button. When it is done, you will get a summary of the run, including top hotspots and top tasks in your application: - .. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img04-vtunesummary.png + .. image:: ../../../../_static/images/OV_UG_supported_plugins_AUTO_debugging-img04-vtunesummary.png :align: center 7. To analyze ITT info related to the Auto plugin, click on the **Bottom-up** tab, choose the **Task Domain/Task Type/Function/Call Stack** from the dropdown list - Auto plugin-related ITT info is under the MULTIPlugin task domain: - .. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img05-vtunebottomup.png + .. image:: ../../../../_static/images/OV_UG_supported_plugins_AUTO_debugging-img05-vtunebottomup.png :align: center diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/automatic-batching.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/automatic-batching.rst index c3867da72af..98b7d45e500 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/automatic-batching.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/automatic-batching.rst @@ -206,7 +206,7 @@ The following are limitations of the current AUTO Batching implementations: Testing Performance with Benchmark_app ###################################### -Using the :doc:`benchmark_app sample ` is the best way to evaluate the performance of Automatic Batching: +Using the :doc:`benchmark_app sample <../../../learn-openvino/openvino-samples/benchmark-tool>` is the best way to evaluate the performance of Automatic Batching: - The most straightforward way is using the performance hints: @@ -239,7 +239,7 @@ This is NOT the actual latency of the batched execution, so you are recommended Additional Resources #################### -* :doc:`Inference Devices and Modes ` +* :doc:`Inference Devices and Modes <../inference-devices-and-modes>` diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/cpu-device.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/cpu-device.rst index 98514b3d575..c039ab6ebc9 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/cpu-device.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/cpu-device.rst @@ -14,7 +14,7 @@ CPU Device The CPU plugin is a part of the Intel® Distribution of OpenVINO™ toolkit. It is developed to achieve high performance inference of neural networks on Intel® x86-64 and Arm® CPUs. The newer 11th generation and later Intel® CPUs provide even further performance boost, especially with INT8 models. For an in-depth description of CPU plugin, see: -- `CPU plugin developers documentation `__. +- `CPU plugin developers ../../../documentation `__. - `OpenVINO Runtime CPU plugin source files `__. .. note:: @@ -64,7 +64,7 @@ CPU plugin supports the following data types as inference precision of internal - ``i8`` (Intel® x86-64) - ``u1`` (Intel® x86-64) -:doc:`Hello Query Device C++ Sample ` can be used to print out supported data types for all detected devices. +:doc:`Hello Query Device C++ Sample <../../../learn-openvino/openvino-samples/hello-query-device>` can be used to print out supported data types for all detected devices. Quantized Data Types Specifics @@ -73,7 +73,7 @@ Quantized Data Types Specifics Selected precision of each primitive depends on the operation precision in IR, quantization primitives, and available hardware capabilities. The ``u1/u8/i8`` data types are used for quantized operations only, i.e., those are not selected automatically for non-quantized operations. -For more details on how to get a quantized model see the :doc:`low-precision optimization guide `. +For more details on how to get a quantized model see the :doc:`low-precision optimization guide <../../model-optimization>`. .. note:: @@ -100,7 +100,7 @@ Using the ``bf16`` precision provides the following performance benefits: - ``bfloat16`` data type allows using Intel® Advanced Matrix Extension (AMX), which provides dramatically faster computations on corresponding hardware in comparison with AVX512 or AVX2 instructions in many DL operation implementations. - Reduced memory consumption since ``bfloat16`` data half the size of 32-bit float. -To check if the CPU device can support the ``bfloat16`` data type, use the :doc:`query device properties interface ` +To check if the CPU device can support the ``bfloat16`` data type, use the :doc:`query device properties interface ` to query ``ov::device::capabilities`` property, which should contain ``BF16`` in the list of CPU capabilities: @@ -186,7 +186,7 @@ calculations (has the ``AVX512_BF16`` or ``AMX`` extension) then ``bf16`` type i If the accuracy in this mode is not good enough, then set ``ov::hint::execution_mode`` to ``ov::hint::ExecutionMode::ACCURACY`` to enforce the plugin to use the ``f32`` precision in floating point calculations. -For more details and code examples, see the :doc:`Precision Control `. +For more details and code examples, see the :doc:`Precision Control <../optimize-inference/precision-control>`. Supported Features ########################################################### @@ -214,7 +214,7 @@ This can be achieved by specifying ``MULTI:CPU,GPU.0`` as a target device in cas :fragment: [compile_model_multi] -For more details, see the :doc:`Multi-device execution ` article. +For more details, see the :doc:`Multi-device execution ` article. Multi-stream Execution +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -224,13 +224,13 @@ property is set for CPU plugin, then multiple streams are created for the model. host thread, which means that incoming infer requests can be processed simultaneously. Each stream is pinned to its own group of physical cores with respect to NUMA nodes physical memory usage to minimize overhead on data transfer between NUMA nodes. -For more details, see the :doc:`optimization guide `. +For more details, see the :doc:`optimization guide <../optimize-inference>`. .. note:: When it comes to latency, be aware that running only one stream on multi-socket platform may introduce additional overheads on data transfer between NUMA nodes. In that case it is better to use the ``ov::hint::PerformanceMode::LATENCY`` performance hint. - For more details see the :doc:`performance hints ` overview. + For more details see the :doc:`performance hints <../optimize-inference/high-level-performance-hints>` overview. .. note:: @@ -268,13 +268,13 @@ with the static input shape to get the best performance. :fragment: [static_shape] -For more details, see the :doc:`dynamic shapes guide `. +For more details, see the :doc:`dynamic shapes guide <../dynamic-shapes>`. Preprocessing Acceleration +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CPU plugin supports a full set of the preprocessing operations, providing high performance implementations for them. -For more details, see :doc:`preprocessing API guide `. +For more details, see :doc:`preprocessing API guide <../optimize-inference/optimizie-preprocessing>`. .. dropdown:: The CPU plugin support for handling tensor precision conversion is limited to the following ov::element types: @@ -305,22 +305,22 @@ so the aforementioned transformation steps will be skipped. These transformation model compilation, so caching this representation reduces time spent for subsequent compilations of the model, thereby reducing first inference latency (FIL). -For more details, see the :doc:`model caching ` overview. +For more details, see the :doc:`model caching <../optimize-inference/optimizing-latency/model-caching-overview>` overview. Extensibility +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CPU plugin supports fallback on ``ov::Op`` reference implementation if the plugin does not have its own implementation for such operation. -That means that :doc:`OpenVINO™ Extensibility Mechanism ` can be used for the plugin extension as well. +That means that :doc:`OpenVINO™ Extensibility Mechanism <../../../documentation/openvino-extensibility>` can be used for the plugin extension as well. Enabling fallback on a custom operation implementation is possible by overriding the ``ov::Op::evaluate`` method in the derived operation -class (see :doc:`custom OpenVINO™ operations ` for details). +class (see :doc:`custom OpenVINO™ operations <../../../documentation/openvino-extensibility/custom-openvino-operations>` for details). Stateful Models +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ The CPU plugin supports stateful models without any limitations. -For details, see :doc:`stateful models guide `. +For details, see :doc:`stateful models guide <../stateful-models-intro>`. Supported Properties ########################################################### @@ -374,7 +374,7 @@ Multi-Threading Optimization CPU inference will infer an input or multiple inputs in parallel on multiple logical processors. -User can use the following properties to limit available CPU resource for model inference. If the platform or operating system can support this behavior, OpenVINO Runtime will perform multi-threading scheduling based on limited available CPU resources. +User can use the following properties to limit available CPU resource for model inference. If the platform or operating system can support this behavior, OpenVINO Runtime will perform multi-threading scheduling based on limited available CPU ../../../about-openvino/additional-resources. - ``ov::inference_num_threads`` limits number of logical processors used for CPU inference. If the number set by the user is greater than the number of logical processors on the platform, multi-threading scheduler only uses the platform number for CPU inference. @@ -423,7 +423,7 @@ By default, OpenVINO Runtime will enable CPU threads pinning for better performa :fragment: [ov:intel_cpu:multi_threading:part1] -user can check the :doc:`optimization guide ` for details on multi-stream execution +user can check the :doc:`optimization guide <../optimize-inference/optimizing-throughput-advanced>` for details on multi-stream execution .. note:: @@ -543,9 +543,9 @@ Currently, the ``sparse weights decompression feature`` is supported with the fo Additional Resources ########################################################### -* :doc:`Inference Devices and Modes ` -* :doc:`Optimization guide ` -* `CPU plugin developers documentation `__ +* :doc:`Inference Devices and Modes <../inference-devices-and-modes>` +* :doc:`Optimization guide <../optimize-inference>` +* `CPU plugin developers ../../../documentation `__ diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/gpu-device.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/gpu-device.rst index e4956230bbf..8b404d3b1c3 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/gpu-device.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/gpu-device.rst @@ -8,7 +8,7 @@ GPU Device :maxdepth: 1 :hidden: - openvino_docs_OV_UG_supported_plugins_GPU_RemoteTensor_API + gpu-device/remote-tensor-api-gpu-plugin .. meta:: :description: The GPU plugin in the Intel® Distribution of OpenVINO™ toolkit @@ -19,11 +19,11 @@ GPU Device The GPU plugin is an OpenCL based plugin for inference of deep neural networks on Intel GPUs, both integrated and discrete ones. For an in-depth description of the GPU plugin, see: -- `GPU plugin developers documentation `__ +- `GPU plugin developers ../../../documentation `__ - `OpenVINO Runtime GPU plugin source files `__ - `Accelerate Deep Learning Inference with Intel® Processor Graphics `__ -The GPU plugin is a part of the Intel® Distribution of OpenVINO™ toolkit. For more information on how to configure a system to use it, see the :doc:`GPU configuration `. +The GPU plugin is a part of the Intel® Distribution of OpenVINO™ toolkit. For more information on how to configure a system to use it, see the :doc:`GPU configuration <../../../get-started/configurations-header/configurations-intel-gpu>`. Device Naming Convention ####################################### @@ -35,7 +35,7 @@ Device Naming Convention * If the system does not have an integrated GPU, devices are enumerated, starting from 0. * For GPUs with multi-tile architecture (multiple sub-devices in OpenCL terms), a specific tile may be addressed as ``GPU.X.Y``, where ``X,Y={0, 1, 2,...}``, ``X`` - id of the GPU device, ``Y`` - id of the tile within device ``X`` -For demonstration purposes, see the :doc:`Hello Query Device C++ Sample ` that can print out the list of available devices with associated indices. Below is an example output (truncated to the device names only): +For demonstration purposes, see the :doc:`Hello Query Device C++ Sample <../../../learn-openvino/openvino-samples/hello-query-device>` that can print out the list of available devices with associated indices. Below is an example output (truncated to the device names only): .. code-block:: sh @@ -124,16 +124,16 @@ The GPU plugin supports the following data types as inference precision of inter Selected precision of each primitive depends on the operation precision in IR, quantization primitives, and available hardware capabilities. The ``u1``/``u8``/``i8`` data types are used for quantized operations only, which means that they are not selected automatically for non-quantized operations. -For more details on how to get a quantized model, refer to the :doc:`Model Optimization guide `. +For more details on how to get a quantized model, refer to the :doc:`Model Optimization guide <../../model-optimization>`. -Floating-point precision of a GPU primitive is selected based on operation precision in the OpenVINO IR, except for the :doc:``, which is executed in the ``f16`` precision. +Floating-point precision of a GPU primitive is selected based on operation precision in the OpenVINO IR, except for the :doc:``, which is executed in the ``f16`` precision. .. note:: The newer generation Intel Iris Xe and Xe MAX GPUs provide accelerated performance for i8/u8 models. Hardware acceleration for ``i8``/``u8`` precision may be unavailable on older generation platforms. In such cases, a model is executed in the floating-point precision taken from IR. Hardware support of ``u8``/``i8`` acceleration can be queried via the ``ov::device::capabilities`` property. -:doc:`Hello Query Device C++ Sample ` can be used to print out the supported data types for all detected devices. +:doc:`Hello Query Device C++ Sample <../../../learn-openvino/openvino-samples/hello-query-device>` can be used to print out the supported data types for all detected devices. Supported Features @@ -164,7 +164,7 @@ It is done by specifying ``MULTI:GPU.1,GPU.0`` as a target device. :fragment: compile_model_multi -For more details, see the :doc:`Multi-device execution `. +For more details, see the :doc:`Multi-device execution `. Automatic Batching +++++++++++++++++++++++++++++++++++++++ @@ -213,7 +213,7 @@ Alternatively, it can be enabled explicitly via the device notion, for example ` :fragment: compile_model_auto_batch -For more details, see the :doc:`Automatic batching`. +For more details, see the :doc:`Automatic batching`. Multi-stream Execution +++++++++++++++++++++++++++++++++++++++ @@ -230,7 +230,7 @@ which means that the incoming infer requests can be processed simultaneously. When multiple inferences of the same model need to be executed in parallel, the multi-stream feature is preferred to multiple instances of the model or application. The reason for this is that the implementation of streams in the GPU plugin supports weight memory sharing across streams, thus, memory consumption may be lower, compared to the other approaches. -For more details, see the :doc:`optimization guide`. +For more details, see the :doc:`optimization guide<../optimize-inference>`. Dynamic Shapes +++++++++++++++++++++++++++++++++++++++ @@ -246,7 +246,7 @@ Dynamic Shapes - Dynamic rank is not supported. The general description of what dynamic shapes are and how they are used can be found in -:doc:`dynamic shapes guide `. +:doc:`dynamic shapes guide <../dynamic-shapes>`. To support dynamic shape execution, the following basic infrastructures are implemented: - Runtime shape inference: infers output shapes of each primitive for a new input shape at runtime. @@ -322,7 +322,7 @@ Recommendations for performance improvement - GPU plugin deploys in-memory cache to store compiled kernels for previously used shapes, but the size of such an in-memory cache is limited. Therefore, it is recommended to use a permanent cache such as OpenVino model_cache. For more details, See - :doc:`Model caching overview `. + :doc:`Model caching overview <../optimize-inference/optimizing-latency/model-caching-overview>`. - The longer the inference sequence, the better throughput can be obtained, because it can leverage more compilation time during inference. @@ -365,9 +365,9 @@ The GPU plugin has the following additional preprocessing options: With such preprocessing, GPU plugin will expect ``ov::intel_gpu::ocl::ClImage2DTensor`` (or derived) to be passed for each NV12 plane via ``ov::InferRequest::set_tensor()`` or ``ov::InferRequest::set_tensors()`` methods. -For usage examples, refer to the :doc:`RemoteTensor API`. +For usage examples, refer to the :doc:`RemoteTensor API`. -For more details, see the :doc:`preprocessing API`. +For more details, see the :doc:`preprocessing API<../optimize-inference/optimizie-preprocessing>`. Model Caching +++++++++++++++++++++++++++++++++++++++ @@ -382,17 +382,17 @@ loading process, a significant load time reduction can be achieved. Currently, GPU plugin implementation fully supports static models only. For dynamic models, kernel caching is used instead and multiple ‘.cl_cache’ files are generated along with the ‘.blob’ file. -For more details, see the :doc:`Model caching overview `. +For more details, see the :doc:`Model caching overview <../optimize-inference/optimizing-latency/model-caching-overview>`. Extensibility +++++++++++++++++++++++++++++++++++++++ -For information on this subject, see the :doc:`GPU Extensibility `. +For information on this subject, see the :doc:`GPU Extensibility <../../../documentation/openvino-extensibility/custom-gpu-operations>`. GPU Context and Memory Sharing via RemoteTensor API +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -For information on this subject, see the :doc:`RemoteTensor API of GPU Plugin `. +For information on this subject, see the :doc:`RemoteTensor API of GPU Plugin `. Supported Properties ####################################### @@ -465,19 +465,19 @@ GPU Performance Checklist: Summary Since OpenVINO relies on the OpenCL kernels for the GPU implementation, many general OpenCL tips apply: -- Prefer ``FP16`` inference precision over ``FP32``, as Model Conversion API can generate both variants, and the ``FP32`` is the default. To learn about optimization options, see :doc:`Optimization Guide`. -- Try to group individual infer jobs by using :doc:`automatic batching `. -- Consider :doc:`caching ` to minimize model load time. -- If your application performs inference on the CPU alongside the GPU, or otherwise loads the host heavily, make sure that the OpenCL driver threads do not starve. :doc:`CPU configuration options ` can be used to limit the number of inference threads for the CPU plugin. -- Even in the GPU-only scenario, a GPU driver might occupy a CPU core with spin-loop polling for completion. If CPU load is a concern, consider the dedicated ``queue_throttle`` property mentioned previously. Note that this option may increase inference latency, so consider combining it with multiple GPU streams or :doc:`throughput performance hints `. -- When operating media inputs, consider :doc:`remote tensors API of the GPU Plugin `. +- Prefer ``FP16`` inference precision over ``FP32``, as Model Conversion API can generate both variants, and the ``FP32`` is the default. To learn about optimization options, see :doc:`Optimization Guide<../../model-optimization>`. +- Try to group individual infer jobs by using :doc:`automatic batching `. +- Consider :doc:`caching <../optimize-inference/optimizing-latency/model-caching-overview>` to minimize model load time. +- If your application performs inference on the CPU alongside the GPU, or otherwise loads the host heavily, make sure that the OpenCL driver threads do not starve. :doc:`CPU configuration options ` can be used to limit the number of inference threads for the CPU plugin. +- Even in the GPU-only scenario, a GPU driver might occupy a CPU core with spin-loop polling for completion. If CPU load is a concern, consider the dedicated ``queue_throttle`` property mentioned previously. Note that this option may increase inference latency, so consider combining it with multiple GPU streams or :doc:`throughput performance hints <../optimize-inference/high-level-performance-hints>`. +- When operating media inputs, consider :doc:`remote tensors API of the GPU Plugin `. Additional Resources ####################################### -* :doc:`Inference Devices and Modes `. -* :doc:`Optimization guide `. -* `GPU plugin developers documentation `__ +* :doc:`Inference Devices and Modes <../inference-devices-and-modes>`. +* :doc:`Optimization guide <../optimize-inference>`. +* `GPU plugin developers ../../../documentation `__ diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/gpu-device/remote-tensor-api-gpu-plugin.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/gpu-device/remote-tensor-api-gpu-plugin.rst index 60baddcfa8f..2b1d100efe8 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/gpu-device/remote-tensor-api-gpu-plugin.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/gpu-device/remote-tensor-api-gpu-plugin.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_OV_UG_supported_plugins_GPU_RemoteTensor_API} +.. {#../gpu-device_RemoteTensor_API} Remote Tensor API of GPU Plugin =============================== diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/hetero-execution.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/hetero-execution.rst index 824ac3b6dfb..821e0e13a2c 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/hetero-execution.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/hetero-execution.rst @@ -204,5 +204,5 @@ You can also point to more than two devices: ``-d HETERO:GPU,CPU`` Additional Resources #################### -* :doc:`Inference Devices and Modes ` +* :doc:`Inference Devices and Modes <../inference-devices-and-modes>` diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/multi-device.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/multi-device.rst index 5e57b1572fa..ce5745d9aaa 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/multi-device.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/multi-device.rst @@ -49,7 +49,7 @@ Following the OpenVINO™ naming convention, the Multi-Device mode is assigned t Specifying the device list explicitly is required by MULTI, as it defines the devices available for inference and sets their priorities. -Note that OpenVINO™ Runtime enables you to use “GPU” as an alias for “GPU.0” in function calls. More details on enumerating devices can be found in :doc:`Inference Devices and Modes `. +Note that OpenVINO™ Runtime enables you to use “GPU” as an alias for “GPU.0” in function calls. More details on enumerating devices can be found in :doc:`Inference Devices and Modes <../inference-devices-and-modes>`. The following commands are accepted by the API: @@ -70,7 +70,7 @@ The following commands are accepted by the API: :fragment: [part0] -To check what devices are present in the system, you can use the Device API. For information on how to do it, check :doc:`Query device properties and configuration `. +To check what devices are present in the system, you can use the Device API. For information on how to do it, check :doc:`Query device properties and configuration `. Configuring Individual Devices and Creating the Multi-Device On Top @@ -101,7 +101,7 @@ Querying the Optimal Number of Inference Requests +++++++++++++++++++++++++++++++++++++++++++++++++ When using MULTI, you don't need to sum over included devices yourself, you can query the optimal number of requests directly, -using the :doc:`configure devices ` property: +using the :doc:`configure devices ` property: .. tab-set:: @@ -123,7 +123,7 @@ Here is an example command to evaluate performance of CPU + GPU: ./benchmark_app –d MULTI:CPU,GPU –m -i -niter 1000 -For more information, refer to the :doc:`Benchmark Tool ` article. +For more information, refer to the :doc:`Benchmark Tool <../../../learn-openvino/openvino-samples/benchmark-tool>` article. .. note:: @@ -142,13 +142,13 @@ For best performance when using the MULTI execution mode you should consider a f - Just like with any throughput-oriented execution mode, it is highly recommended to query the optimal number of inference requests directly from the instance of the ``ov:compiled_model``. Refer to the code of the previously mentioned ``benchmark_app`` for more details. - Execution on certain device combinations, for example CPU+GPU, performs better with certain knobs. Refer to the ``benchmark_app`` code for details. One specific example is disabling GPU driver polling, which in turn requires multiple GPU streams to balance out slower communication of inference completion from the device to the host. - The MULTI logic always attempts to save on copying data between device-agnostic and user-facing inference requests, and device-specific 'worker' requests that are being actually scheduled behind the scene. To facilitate the copy savings, it is recommended to run the requests in the order in which they were created. -- While performance of accelerators combines well with MULTI, the CPU+GPU execution may introduce certain performance issues. It is due to the devices sharing some resources, like power or bandwidth. Enabling the GPU throttling hint, which saves a CPU thread for CPU inference, is an example of a recommended solution addressing this issue. +- While performance of accelerators combines well with MULTI, the CPU+GPU execution may introduce certain performance issues. It is due to the devices sharing some ../../../about-openvino/additional-resources, like power or bandwidth. Enabling the GPU throttling hint, which saves a CPU thread for CPU inference, is an example of a recommended solution addressing this issue. Additional Resources #################### -- :doc:`Inference Devices and Modes ` -- :doc:`Automatic Device Selection ` +- :doc:`Inference Devices and Modes <../inference-devices-and-modes>` +- :doc:`Automatic Device Selection ` diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst index 3f5b8ae93d6..2c705fb7ae9 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst @@ -14,7 +14,7 @@ you to offload certain neural network computation tasks from other devices, for more streamlined resource management. Note that the NPU plugin is currently available only with the Archive distribution of OpenVINO™ -and you need to :doc:`install a proper NPU driver ` +and you need to :doc:`install a proper NPU driver <../../../get-started/configurations-header/configurations-intel-npu>` to use it successfully. | **Supported Platforms:** @@ -30,8 +30,8 @@ to use it successfully. | Computation precision for the HW is FP16. | | For more details on how to get a quantized model, refer to the - :doc:`Model Optimization guide ` and - :doc:`NNCF tool quantization guide `. + :doc:`Model Optimization guide <../../model-optimization>` and + :doc:`NNCF tool quantization guide <../../model-optimization-guide/quantizing-models-post-training/basic-quantization-flow>`. @@ -76,7 +76,7 @@ occurs for subsequent compilation requests, the plugin will import the model instead of recompiling it. For more details about OpenVINO model caching, see the -:doc:`Model Caching Overview `. +:doc:`Model Caching Overview <../optimize-inference/optimizing-latency/model-caching-overview>`. Supported Features and properties @@ -148,7 +148,7 @@ Additional Resources ############################# * `Vision colorization Notebook `__ -* `Classification Benchmark C++ Demo `__ -* `3D Human Pose Estimation Python Demo `__ -* `Object Detection C++ Demo `__ -* `Object Detection Python Demo `__ +* `Classification Benchmark C++ Demo `__ +* `3D Human Pose Estimation Python Demo `__ +* `Object Detection C++ Demo `__ +* `Object Detection Python Demo `__ diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/query-device-properties.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/query-device-properties.rst index e501afa0beb..1524aa93410 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/query-device-properties.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/query-device-properties.rst @@ -33,8 +33,8 @@ of ``ov::available_devices``, the string name of ``AVAILABLE_DEVICES`` and the t static constexpr Property, PropertyMutability::RO> available_devices{"AVAILABLE_DEVICES"}; -Refer to the :doc:`Hello Query Device С++ Sample ` sources and -the :doc:`Multi-Device execution ` documentation for examples of using +Refer to the :doc:`Hello Query Device С++ Sample <../../../learn-openvino/openvino-samples/hello-query-device>` sources and +the :doc:`Multi-Device execution ` ../../../documentation for examples of using setting and getting properties in user applications. @@ -90,7 +90,7 @@ The ``ov::CompiledModel`` class is also extended to support the properties: * ``ov::CompiledModel::get_property`` * ``ov::CompiledModel::set_property`` -For documentation about OpenVINO common device-independent properties, refer to the ``openvino/runtime/properties.hpp``. +For ../../../documentation about OpenVINO common device-independent properties, refer to the ``openvino/runtime/properties.hpp``. Device-specific configuration keys can be found in corresponding device folders (for example, ``openvino/runtime/intel_gpu/properties.hpp``). Working with Properties via Core diff --git a/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application.rst b/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application.rst index 7859f12d75d..9978234e710 100644 --- a/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application.rst +++ b/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application.rst @@ -8,10 +8,10 @@ Integrate OpenVINO™ with Your Application :maxdepth: 1 :hidden: - openvino_docs_OV_UG_Model_Representation - openvino_docs_OV_UG_Infer_request - openvino_docs_OV_UG_Python_API_inference - openvino_docs_OV_UG_Python_API_exclusives + integrate-openvino-with-your-application/model-representation + integrate-openvino-with-your-application/inference-request + integrate-openvino-with-your-application/python-api-advanced-inference + integrate-openvino-with-your-application/python-api-exclusives .. meta:: @@ -21,10 +21,10 @@ 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, ``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). +:doc:`installed OpenVINO Runtime <../../get-started/install-openvino-overview>` 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 +.. image:: ../../_static/images/IMPLEMENT_PIPELINE_with_API_C.svg Step 1. Create OpenVINO Runtime Core @@ -234,18 +234,18 @@ Compile the model for a specific device using ``ov::Core::compile_model()``: The ``ov::Model`` object represents any models inside the OpenVINO™ Runtime. -For more details please read article about :doc:`OpenVINO™ Model representation `. +For more details please read article about :doc:`OpenVINO™ Model representation `. The code above creates a compiled model associated with a single hardware device from the model object. -It is possible to create as many compiled models as needed and use them simultaneously (up to the limitation of the hardware resources). -To learn how to change the device configuration, read the :doc:`Query device properties ` article. +It is possible to create as many compiled models as needed and use them simultaneously (up to the limitation of the hardware ../../about-openvino/additional-resources). +To learn how to change the device configuration, read the :doc:`Query device properties ` article. Step 3. Create an Inference Request ################################### ``ov::InferRequest`` class provides methods for model inference in OpenVINO™ Runtime. Create an infer request using the following code (see -:doc:`InferRequest detailed documentation ` for more details): +:doc:`InferRequest detailed ../../documentation ` for more details): .. tab-set:: @@ -299,7 +299,7 @@ You can use external memory to create ``ov::Tensor`` and use the ``ov::InferRequ :language: cpp :fragment: [part4] -See :doc:`additional materials ` to learn how to handle textual data as a model input. +See :doc:`additional materials ` to learn how to handle textual data as a model input. Step 5. Start Inference ####################### @@ -331,7 +331,7 @@ OpenVINO™ Runtime supports inference in either synchronous or asynchronous mod This section demonstrates a simple pipeline. To get more information about other ways to perform inference, read the dedicated -:doc:`"Run inference" section `. +:doc:`"Run inference" section `. Step 6. Process the Inference Results ##################################### @@ -361,7 +361,7 @@ Go over the output tensors and process the inference results. :language: cpp :fragment: [part6] -See :doc:`additional materials ` to learn how to handle textual data as a model output. +See :doc:`additional materials ` to learn how to handle textual data as a model output. Step 7. Release the allocated objects (only for C) ################################################## @@ -440,8 +440,8 @@ To build your project using CMake with the default build tools currently availab Additional Resources #################### -* See the :doc:`OpenVINO Samples ` page or the `Open Model Zoo Demos `__ page for specific examples of how OpenVINO pipelines are implemented for applications like image classification, text prediction, and many others. -* :doc:`OpenVINO™ Runtime Preprocessing ` -* :doc:`String Tensors ` -* :doc:`Using Encrypted Models with OpenVINO ` +* See the :doc:`OpenVINO Samples <../../learn-openvino/openvino-samples>` page or the `Open Model Zoo Demos `__ page for specific examples of how OpenVINO pipelines are implemented for applications like image classification, text prediction, and many others. +* :doc:`OpenVINO™ Runtime Preprocessing ` +* :doc:`String Tensors ` +* :doc:`Using Encrypted Models with OpenVINO <../../documentation/openvino-security/openvino-encrypted-models>` diff --git a/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/inference-request.rst b/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/inference-request.rst index a2b7ffe5230..9f7525ece85 100644 --- a/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/inference-request.rst +++ b/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/inference-request.rst @@ -156,7 +156,7 @@ When you are running several inference requests in parallel, a device can proces Use weak reference of infer_request (``ov::InferRequest*``, ``ov::InferRequest&``, ``std::weal_ptr``, etc.) in the callback. It is necessary to avoid cyclic references. -For more details, see the :doc:`Classification Async Sample `. +For more details, see the :doc:`Classification Async Sample <../../../learn-openvino/openvino-samples/image-classification-async>`. You can use the ``ov::InferRequest::cancel`` method if you want to abort execution of the current inference request: diff --git a/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation.rst b/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation.rst index 2c16c00c197..94a17a2dbbb 100644 --- a/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation.rst +++ b/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/model-representation.rst @@ -94,7 +94,7 @@ Representation of Operations ################################ The ``ov::Op`` class represents any abstract operation in the model representation. Use this class to create -:doc:`custom operations `. +:doc:`custom operations <../../../documentation/openvino-extensibility/custom-openvino-operations>`. Representation of Operation Sets ###################################### @@ -105,8 +105,8 @@ For each operation set, OpenVINO™ Runtime provides a separate namespace, for e Each OpenVINO™ Release introduces new operations and adds them to new operation sets, within which the new operations would change the behavior of previous operations. Using operation sets helps you avoid changing your application when new operations are introduced. -For a complete list of operation sets supported in OpenVINO™ toolkit, see the :doc:`Available Operations Sets `. -To add the support for custom operations, see :doc:`OpenVINO Extensibility Mechanism `. +For a complete list of operation sets supported in OpenVINO™ toolkit, see the :doc:`Available Operations Sets <../../../documentation/openvino-ir-format/operation-sets/available-opsets>`. +To add the support for custom operations, see :doc:`OpenVINO Extensibility Mechanism <../../../documentation/openvino-extensibility>`. .. _ov_ug_build_model: @@ -241,8 +241,8 @@ OpenVINO™ provides several debug capabilities: Additional Resources ######################## -* :doc:`Available Operation Sets `. -* :doc:`OpenVINO™ Runtime Extensibility Developer Guide `. -* :doc:`Transformations Developer Guide `. +* :doc:`Available Operation Sets <../../../documentation/openvino-ir-format/operation-sets/available-opsets>`. +* :doc:`OpenVINO™ Runtime Extensibility Developer Guide <../../../documentation/openvino-extensibility>`. +* :doc:`Transformations Developer Guide <../../../documentation/openvino-extensibility/transformations-api>`. diff --git a/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/python-api-exclusives.rst b/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/python-api-exclusives.rst index 56fe5625bb2..f10b2e9fbd1 100644 --- a/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/python-api-exclusives.rst +++ b/docs/articles_en/openvino-workflow/running-inference/integrate-openvino-with-your-application/python-api-exclusives.rst @@ -34,7 +34,7 @@ Besides functions aligned to C++ API, some of them have their Python counterpart :fragment: [properties_example] -Refer to Python API documentation on which helper functions or properties are available for different classes. +Refer to Python API ../../../documentation on which helper functions or properties are available for different classes. Working with Tensor #################### @@ -180,7 +180,7 @@ To extract low precision values from a tensor into the *numpy* array, you can us Release of GIL ++++++++++++++++++++ -Some functions in Python API release the Global Lock Interpreter (GIL) while running work-intensive code. This can help you achieve more parallelism in your application, using Python threads. For more information about GIL, refer to the Python documentation. +Some functions in Python API release the Global Lock Interpreter (GIL) while running work-intensive code. This can help you achieve more parallelism in your application, using Python threads. For more information about GIL, refer to the Python ../../../documentation. .. doxygensnippet:: docs/snippets/ov_python_exclusives.py diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference.rst index f612e0def50..76a520e1702 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference.rst @@ -8,15 +8,15 @@ Optimize Inference :maxdepth: 1 :hidden: - openvino_docs_deployment_optimization_guide_common - openvino_docs_OV_UG_Performance_Hints - openvino_docs_OV_UG_Precision_Control - openvino_docs_deployment_optimization_guide_latency - openvino_docs_deployment_optimization_guide_tput - Advanced Throughput Options - openvino_docs_OV_UG_Preprocessing_Overview - openvino_docs_deployment_optimization_guide_internals - Optimizing memory usage + optimize-inference/general-optimizations + optimize-inference/high-level-performance-hints + optimize-inference/precision-control + optimize-inference/optimizing-latency + optimize-inference/optimizing-throughput + Advanced Throughput Options + optimize-inference/optimizie-preprocessing + optimize-inference/optimizing-low-level-implementation + Optimizing memory usage .. meta:: @@ -34,15 +34,15 @@ It is also important to understand how the full-stack application would use the For more information on this topic, see the following articles: -* :doc:`Supported Devices ` -* :doc:`Inference Devices and Modes ` +* :doc:`Supported Devices <../../about-openvino/compatibility-and-support/supported-devices>` +* :doc:`Inference Devices and Modes ` * :ref:`Inputs Pre-processing with the OpenVINO ` * :ref:`Async API ` * :ref:`The 'get_tensor' Idiom ` -* For variably-sized inputs, consider :doc:`dynamic shapes ` +* For variably-sized inputs, consider :doc:`dynamic shapes ` -See the :doc:`latency ` and :doc:`throughput ` optimization guides, for **use-case-specific optimizations** +See the :doc:`latency ` and :doc:`throughput ` optimization guides, for **use-case-specific optimizations** Writing Performance-Portable Inference Applications ################################################### @@ -52,13 +52,13 @@ Although inference performed in OpenVINO Runtime can be configured with a multit Secondly, such optimization may not translate well to other device-model combinations. In other words, one set of execution parameters is likely to result in different performance when used under different conditions. For example: -* both the CPU and GPU support the notion of :ref:`streams `, yet they deduce their optimal number very differently. +* both the CPU and GPU support the notion of :ref:`streams `, yet they deduce their optimal number very differently. * Even among devices of the same type, different execution configurations can be considered optimal, as in the case of instruction sets or the number of cores for the CPU and the batch size for the GPU. * Different models have different optimal parameter configurations, considering factors such as compute vs memory-bandwidth, inference precision, and possible model quantization. -* Execution "scheduling" impacts performance strongly and is highly device-specific, for example, GPU-oriented optimizations like batching, combining multiple inputs to achieve the optimal throughput, :doc:`do not always map well to the CPU `. +* Execution "scheduling" impacts performance strongly and is highly device-specific, for example, GPU-oriented optimizations like batching, combining multiple inputs to achieve the optimal throughput, :doc:`do not always map well to the CPU `. -To make the configuration process much easier and its performance optimization more portable, the option of :doc:`Performance Hints ` has been introduced. It comprises two high-level "presets" focused on either **latency** or **throughput** and, essentially, makes execution specifics irrelevant. +To make the configuration process much easier and its performance optimization more portable, the option of :doc:`Performance Hints ` has been introduced. It comprises two high-level "presets" focused on either **latency** or **throughput** and, essentially, makes execution specifics irrelevant. The Performance Hints functionality makes configuration transparent to the application, for example, anticipates the need for explicit (application-side) batching or streams, and facilitates parallel processing of separate infer requests for different input sources @@ -67,8 +67,8 @@ Additional Resources #################### * :ref:`Using Async API and running multiple inference requests in parallel to leverage throughput `. -* :doc:`The throughput approach implementation details for specific devices ` -* :doc:`Details on throughput ` -* :doc:`Details on latency ` -* :doc:`API examples and details ` +* :doc:`The throughput approach implementation details for specific devices ` +* :doc:`Details on throughput ` +* :doc:`Details on latency ` +* :doc:`API examples and details ` diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/general-optimizations.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/general-optimizations.rst index c96fa16e687..f84766ceccb 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/general-optimizations.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/general-optimizations.rst @@ -20,16 +20,16 @@ Inputs Pre-Processing with OpenVINO In many cases, a network expects a pre-processed image. It is advised not to perform any unnecessary steps in the code: -* Model conversion API can efficiently incorporate the mean and normalization (scale) values into a model (for example, to the weights of the first convolution). For more details, see the :doc:`relevant model conversion API command-line parameters `. -* Let OpenVINO accelerate other means of :doc:`Image Pre-processing and Conversion ` -* Data which is already in the "on-device" memory can be input directly by using the :doc:`remote tensors API of the GPU Plugin `. +* Model conversion API can efficiently incorporate the mean and normalization (scale) values into a model (for example, to the weights of the first convolution). For more details, see the :doc:`relevant model conversion API command-line parameters <../../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation>`. +* Let OpenVINO accelerate other means of :doc:`Image Pre-processing and Conversion ` +* Data which is already in the "on-device" memory can be input directly by using the :doc:`remote tensors API of the GPU Plugin <../inference-devices-and-modes/gpu-device/remote-tensor-api-gpu-plugin>`. .. _async_api: Prefer OpenVINO Async API ######################### -The API of the inference requests offers Sync and Async execution. While the `ov::InferRequest::infer() `__ is inherently synchronous and executes immediately (effectively serializing the execution flow in the current application thread), the Async "splits" the ``infer()`` into ``ov::InferRequest::start_async()`` and ``ov::InferRequest::wait()``. For more information, see the :doc:`API examples `. +The API of the inference requests offers Sync and Async execution. While the `ov::InferRequest::infer() `__ is inherently synchronous and executes immediately (effectively serializing the execution flow in the current application thread), the Async "splits" the ``infer()`` into ``ov::InferRequest::start_async()`` and ``ov::InferRequest::wait()``. For more information, see the :doc:`API examples <../integrate-openvino-with-your-application/inference-request>`. A typical use case for the ``ov::InferRequest::infer()`` is running a dedicated application thread per source of inputs (e.g. a camera), so that every step (frame capture, processing, parsing the results, and associated logic) is kept serial within the thread. In contrast, the ``ov::InferRequest::start_async()`` and ``ov::InferRequest::wait()`` allow the application to continue its activities and poll or wait for the inference completion when really needed. Therefore, one reason for using an asynchronous code is "efficiency". @@ -43,7 +43,7 @@ The key advantage of the Async approach is that when a device is busy with the i In the example below, inference is applied to the results of the video decoding. It is possible to keep two parallel infer requests, and while the current one is processed, the input frame for the next one is being captured. This essentially hides the latency of capturing, so that the overall frame rate is rather determined only by the slowest part of the pipeline (decoding vs inference) and not by the sum of the stages. -.. image:: _static/images/synch-vs-asynch.svg +.. image:: ../../../_static/images/synch-vs-asynch.svg :alt: Intel® VTune™ screenshot Below are example-codes for the regular and async-based approaches to compare: @@ -62,11 +62,11 @@ Below are example-codes for the regular and async-based approaches to compare: The technique can be generalized to any available parallel slack. For example, you can do inference and simultaneously encode the resulting or previous frames or run further inference, like emotion detection on top of the face detection results. -Refer to the `Object Detection C++ Demo `__ , `Object Detection Python Demo `__ (latency-oriented Async API showcase) and :doc:`Benchmark App Sample ` for complete examples of the Async API in action. +Refer to the `Object Detection C++ Demo `__ , `Object Detection Python Demo `__ (latency-oriented Async API showcase) and :doc:`Benchmark App Sample <../../../learn-openvino/openvino-samples/benchmark-tool>` for complete examples of the Async API in action. .. note:: - Using the Asynchronous API is a must for :doc:`throughput-oriented scenarios `. + Using the Asynchronous API is a must for :doc:`throughput-oriented scenarios `. Notes on Callbacks ++++++++++++++++++++ @@ -92,7 +92,7 @@ To sum it up: * For example, for the GPU device, the **input/output tensors** are mapped to the host (which is fast) only when the ``get_tensor`` is used, while for the ``set_tensor`` a copy into the internal GPU structures may happen. -* In contrast, when the input tensors are already in the **on-device memory** (e.g. as a result of the video-decoding), prefer the ``set_tensor`` as a zero-copy way to proceed. For more details, see the :doc:`GPU device Remote tensors API `. +* In contrast, when the input tensors are already in the **on-device memory** (e.g. as a result of the video-decoding), prefer the ``set_tensor`` as a zero-copy way to proceed. For more details, see the :doc:`GPU device Remote tensors API <../inference-devices-and-modes/gpu-device/remote-tensor-api-gpu-plugin>`. Consider the :ref:`API examples ` for the ``get_tensor`` and ``set_tensor``. diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/high-level-performance-hints.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/high-level-performance-hints.rst index 15438b4b774..cf01fbe317f 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/high-level-performance-hints.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/high-level-performance-hints.rst @@ -10,8 +10,8 @@ High-level Performance Hints an inference device. -Even though all :doc:`supported devices ` in OpenVINO™ offer low-level performance settings, utilizing them is not recommended outside of very few cases. -The preferred way to configure performance in OpenVINO Runtime is using performance hints. This is a future-proof solution fully compatible with the :doc:`automatic device selection inference mode ` and designed with *portability* in mind. +Even though all :doc:`supported devices <../../../about-openvino/compatibility-and-support/supported-devices>` in OpenVINO™ offer low-level performance settings, utilizing them is not recommended outside of very few cases. +The preferred way to configure performance in OpenVINO Runtime is using performance hints. This is a future-proof solution fully compatible with the :doc:`automatic device selection inference mode <../inference-devices-and-modes/auto-device-selection>` and designed with *portability* in mind. The hints also set the direction of the configuration in the right order. Instead of mapping the application needs to the low-level performance settings, and keeping an associated application logic to configure each possible device separately, the hints express a target scenario with a single config key and let the *device* configure itself in response. @@ -21,7 +21,7 @@ The hints, in contrast, respect the actual model, so the parameters for optimal Performance Hints: Latency and Throughput ######################################### -As discussed in the :doc:`Optimization Guide ` there are a few different metrics associated with inference speed. Throughput and latency are some of the most widely used metrics that measure the overall performance of an application. +As discussed in the :doc:`Optimization Guide <../optimize-inference>` there are a few different metrics associated with inference speed. Throughput and latency are some of the most widely used metrics that measure the overall performance of an application. Therefore, in order to ease the configuration of the device, OpenVINO offers two dedicated hints, namely ``ov::hint::PerformanceMode::THROUGHPUT`` and ``ov::hint::PerformanceMode::LATENCY``. @@ -34,7 +34,7 @@ Performance Hints: How It Works Internally, every device "translates" the value of the hint to the actual performance settings. For example, the ``ov::hint::PerformanceMode::THROUGHPUT`` selects the number of CPU or GPU streams. -Additionally, the optimal batch size is selected for the GPU and the :doc:`automatic batching ` is applied whenever possible. To check whether the device supports it, refer to the :doc:`Supported devices ` article. +Additionally, the optimal batch size is selected for the GPU and the :doc:`automatic batching <../inference-devices-and-modes/automatic-batching>` is applied whenever possible. To check whether the device supports it, refer to the :doc:`Supported devices <../../../about-openvino/compatibility-and-support/supported-devices>` article. The resulting (device-specific) settings can be queried back from the instance of the ``ov:Compiled_Model``. Be aware that the ``benchmark_app`` outputs the actual settings for the ``THROUGHPUT`` hint. See the example of the output below: @@ -129,7 +129,7 @@ To make your application fully scalable, make sure to query the ``ov::optimal_nu Prefer Async API ################ -The API of the inference requests offers Sync and Async execution. The ``ov::InferRequest::infer()`` is inherently synchronous and simple to operate (as it serializes the execution flow in the current application thread). The Async "splits" the ``infer()`` into ``ov::InferRequest::start_async()`` and ``ov::InferRequest::wait()`` (or callbacks). For more information on synchronous and asynchronous modes, refer to the :doc:`OpenVINO Inference Request documentation `. +The API of the inference requests offers Sync and Async execution. The ``ov::InferRequest::infer()`` is inherently synchronous and simple to operate (as it serializes the execution flow in the current application thread). The Async "splits" the ``infer()`` into ``ov::InferRequest::start_async()`` and ``ov::InferRequest::wait()`` (or callbacks). For more information on synchronous and asynchronous modes, refer to the :doc:`OpenVINO Inference Request ../../../documentation <../integrate-openvino-with-your-application/inference-request>`. Although the synchronous API can be easier to start with, it is recommended to use the asynchronous (callbacks-based) API in production code. It is the most general and scalable way to implement the flow control for any possible number of requests. The ``THROUGHPUT`` and ``LATENCY`` performance hints automatically configure the Asynchronous pipeline to use the optimal number of processing streams and inference requests. @@ -163,7 +163,7 @@ For example, use ``ov::hint::PerformanceMode::THROUGHPUT`` to prepare a general Testing Performance of the Hints with the Benchmark_App ####################################################### -Using the :doc:`benchmark_app sample `is the best way to evaluate the functionality of the performance hints for a particular device: +Using the :doc:`benchmark_app sample <../../../learn-openvino/openvino-samples/benchmark-tool>`is the best way to evaluate the functionality of the performance hints for a particular device: * benchmark_app **-hint tput** -d 'device' -m 'path to your model' * benchmark_app **-hint latency** -d 'device' -m 'path to your model' diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing.rst index 48020d3928d..ce8d7662093 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing.rst @@ -8,10 +8,10 @@ Optimize Preprocessing :maxdepth: 1 :hidden: - openvino_docs_OV_UG_Preprocessing_Details - openvino_docs_OV_UG_Layout_Overview - openvino_docs_OV_UG_Preprocess_Usecase_save - Torchvision preprocessing converter + optimizie-preprocessing/preprocessing-api-details + optimizie-preprocessing/layout-api-overview + optimizie-preprocessing/integrate-save-preprocessing-use-case + Torchvision preprocessing converter .. meta:: :description: The preprocessing entails additional operations to transform @@ -35,7 +35,7 @@ Consider the following standard example: deep learning model expects input with * For each pixel, subtract mean values and divide by scale factor. -.. image:: _static/images/preprocess_not_fit.png +.. image:: ../../../_static/images/preprocess_not_fit.png Even though it is relatively easy to implement all these steps in the application code manually, before actual inference, it is also possible with the use of Preprocessing API. Advantages of using the API are: @@ -48,9 +48,9 @@ Preprocessing API Intuitively, preprocessing API consists of the following parts: -1. **Tensor** - declares user data format, like shape, :doc:`layout `, precision, color format from actual user's data. +1. **Tensor** - declares user data format, like shape, :doc:`layout `, precision, color format from actual user's data. 2. **Steps** - describes sequence of preprocessing steps which need to be applied to user data. -3. **Model** - specifies model data format. Usually, precision and shape are already known for model, only additional information, like :doc:`layout ` can be specified. +3. **Model** - specifies model data format. Usually, precision and shape are already known for model, only additional information, like :doc:`layout ` can be specified. .. note:: @@ -105,7 +105,7 @@ Below is all the specified input information: * Precision is ``U8`` (unsigned 8-bit integer). * Data represents tensor with the ``{1,480,640,3}`` shape. -* :doc:`Layout ` is "NHWC". It means: ``height=480``, ``width=640``, ``channels=3``. +* :doc:`Layout ` is "NHWC". It means: ``height=480``, ``width=640``, ``channels=3``. * Color format is ``BGR``. @@ -114,7 +114,7 @@ Below is all the specified input information: Declaring Model Layout ++++++++++++++++++++++ -Model input already has information about precision and shape. Preprocessing API is not intended to modify this. The only thing that may be specified is input data :doc:`layout ` +Model input already has information about precision and shape. Preprocessing API is not intended to modify this. The only thing that may be specified is input data :doc:`layout ` .. tab-set:: @@ -197,7 +197,7 @@ The ``model`` will accept ``U8`` input with the shape of ``{1, 480, 640, 3}`` an Additional Resources #################### -* :doc:`Preprocessing Details ` -* :doc:`Layout API overview ` -* `ov::preprocess::PrePostProcessor `__ C++ class documentation +* :doc:`Preprocessing Details ` +* :doc:`Layout API overview ` +* `ov::preprocess::PrePostProcessor `__ C++ class ../../../documentation diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/integrate-save-preprocessing-use-case.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/integrate-save-preprocessing-use-case.rst index ef9fa711064..9313fd0389b 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/integrate-save-preprocessing-use-case.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/integrate-save-preprocessing-use-case.rst @@ -10,8 +10,8 @@ Use Case - Integrate and Save Preprocessing Steps Into IR OpenVINO Intermediate Representation. -Previous sections covered the topic of the :doc:`preprocessing steps ` -and the overview of :doc:`Layout ` API. +Previous sections covered the topic of the :doc:`preprocessing steps ` +and the overview of :doc:`Layout ` API. For many applications, it is also important to minimize read/load time of a model. Therefore, performing integration of preprocessing steps every time on application @@ -21,7 +21,7 @@ model to OpenVINO Intermediate Representation (OpenVINO IR, `.xml` format). Most available preprocessing steps can also be performed via command-line options, using Model Optimizer. For details on such command-line options, refer to the -:doc:`Optimizing Preprocessing Computation `. +:doc:`Optimizing Preprocessing Computation <../../../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation>`. Code example - Saving Model with Preprocessing to OpenVINO IR ############################################################# @@ -84,7 +84,7 @@ Application Code - Load Model to Target Device ############################################## After this, the application code can load a saved file and stop preprocessing. In this case, enable -:doc:`model caching ` to minimize load +:doc:`model caching <../optimizing-latency/model-caching-overview>` to minimize load time when the cached model is available. @@ -108,11 +108,11 @@ time when the cached model is available. Additional Resources #################### -* :doc:`Preprocessing Details ` -* :doc:`Layout API overview ` -* :doc:`Model Optimizer - Optimize Preprocessing Computation ` -* :doc:`Model Caching Overview ` -* The `ov::preprocess::PrePostProcessor `__ C++ class documentation +* :doc:`Preprocessing Details ` +* :doc:`Layout API overview ` +* :doc:`Model Optimizer - Optimize Preprocessing Computation <../../../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation>` +* :doc:`Model Caching Overview <../optimizing-latency/model-caching-overview>` +* The `ov::preprocess::PrePostProcessor `__ C++ class ../../../../documentation * The `ov::pass::Serialize `__ - pass to serialize model to XML/BIN * The `ov::set_batch `__ - update batch dimension for a given model diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/layout-api-overview.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/layout-api-overview.rst index 1cc44980e44..bbbd17031c3 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/layout-api-overview.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/layout-api-overview.rst @@ -18,10 +18,10 @@ Below is a list of cases where input/output layout is important: * Performing model modification: - * Applying the :doc:`preprocessing ` steps, such as subtracting means, dividing by scales, resizing an image, and converting ``RGB`` <-> ``BGR``. + * Applying the :doc:`preprocessing <../optimizie-preprocessing>` steps, such as subtracting means, dividing by scales, resizing an image, and converting ``RGB`` <-> ``BGR``. * Setting/getting a batch for a model. -* Doing the same operations as used during the model conversion phase. For more information, refer to the :doc:`Model Optimizer Embedding Preprocessing Computation ` guide. +* Doing the same operations as used during the model conversion phase. For more information, refer to the :doc:`Model Optimizer Embedding Preprocessing Computation <../../../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-embedding-preprocessing-computation>` guide. * Improving the readability of a model input and output. Syntax of Layout @@ -132,7 +132,7 @@ A layout has some pre-defined dimension names, widely used in computer vision: * ``H``/``Height`` - height * ``W``/``Width`` - width -These names are used in :doc:`PreProcessing API `. There is a set of helper functions to get appropriate dimension index from a layout. +These names are used in :doc:`PreProcessing API <../optimizie-preprocessing>`. There is a set of helper functions to get appropriate dimension index from a layout. .. tab-set:: diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/preprocessing-api-details.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/preprocessing-api-details.rst index 8d12ec08910..e3302bc4336 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/preprocessing-api-details.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizie-preprocessing/preprocessing-api-details.rst @@ -113,7 +113,7 @@ Typical data normalization includes 2 operations for each data item: subtract me :fragment: ov:preprocess:mean_scale -In Computer Vision area normalization is usually done separately for R, G, B values. To do this, :doc:`layout with 'C' dimension ` shall be defined. Example: +In Computer Vision area normalization is usually done separately for R, G, B values. To do this, :doc:`layout with 'C' dimension ` shall be defined. Example: .. tab-set:: @@ -177,7 +177,7 @@ Converting layout (transposing) Transposing of matrices/tensors is a typical operation in Deep Learning - you may have a BMP image 640x480, which is an array of ``{480, 640, 3}`` elements, but Deep Learning model can require input with shape ``{1, 3, 480, 640}``. -Conversion can be done implicitly, using the :doc:`layout ` of a user's tensor and the layout of an original model. +Conversion can be done implicitly, using the :doc:`layout ` of a user's tensor and the layout of an original model. .. tab-set:: @@ -197,7 +197,7 @@ Conversion can be done implicitly, using the :doc:`layout ` in the code: +For a manual transpose of axes without the use of a :doc:`layout ` in the code: .. tab-set:: @@ -231,7 +231,7 @@ Resizing Image Resizing an image is a typical pre-processing step for computer vision tasks. With pre-processing API, this step can also be integrated into an execution graph and performed on a target device. -To resize the input image, it is needed to define ``H`` and ``W`` dimensions of the :doc:`layout `. +To resize the input image, it is needed to define ``H`` and ``W`` dimensions of the :doc:`layout `. .. tab-set:: @@ -338,7 +338,7 @@ Pre-processing API also allows adding ``custom`` preprocessing steps into an exe .. note:: - Custom pre-processing function should only insert node(s) after the input. It is done during model compilation. This function will NOT be called during the execution phase. This may appear to be complicated and require knowledge of :doc:`OpenVINO™ operations `. + Custom pre-processing function should only insert node(s) after the input. It is done during model compilation. This function will NOT be called during the execution phase. This may appear to be complicated and require knowledge of :doc:`OpenVINO™ operations <../../../../documentation/openvino-ir-format/operation-sets/available-opsets>`. If there is a need to insert additional operations to the execution graph right after the input, like some specific crops and/or resizes - Pre-processing API can be a good choice to implement this. @@ -364,7 +364,7 @@ If there is a need to insert additional operations to the execution graph right C++ references: * `ov::preprocess::PreProcessSteps::custom() `__ -* :doc:`Available Operations Sets ` +* :doc:`Available Operations Sets <../../../../documentation/openvino-ir-format/operation-sets/available-opsets>` Post-processing #################### @@ -377,7 +377,7 @@ Post-processing uses the reverse: **Model output** -> **Steps** -> **User tensor Compared to pre-processing, there are not as many operations needed for the post-processing stage. Currently, only the following post-processing operations are supported: -* Convert a :doc:`layout `. +* Convert a :doc:`layout `. * Convert an element type. * Customize operations. diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency.rst index bfa684659a4..935a1bb60fa 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency.rst @@ -8,7 +8,7 @@ Optimizing for Latency :maxdepth: 1 :hidden: - openvino_docs_OV_UG_Model_caching_overview + optimizing-latency/model-caching-overview .. meta:: :description: OpenVINO provides methods that help to preserve minimal @@ -24,17 +24,17 @@ As expected, the easiest way to achieve **low latency is by running only one inf However, some conventional "root" devices (i.e., CPU or GPU) can be in fact internally composed of several "sub-devices". In many cases, letting OpenVINO leverage the "sub-devices" transparently helps to improve application's throughput (e.g., serve multiple clients simultaneously) without degrading latency. For example, multi-socket CPUs can deliver as many requests at the same minimal latency as there are NUMA nodes in the system. Similarly, a multi-tile GPU, which is essentially multiple GPUs in a single package, can deliver a multi-tile scalability with the number of inference requests, while preserving the single-tile latency. -Typically, human expertise is required to get more "throughput" out of the device, even in the inherently latency-oriented cases. OpenVINO can take this configuration burden via :doc:`high-level performance hints `, the `ov::hint::PerformanceMode::LATENCY `__ specified for the ``ov::hint::performance_mode`` property for the ``compile_model``. +Typically, human expertise is required to get more "throughput" out of the device, even in the inherently latency-oriented cases. OpenVINO can take this configuration burden via :doc:`high-level performance hints `, the `ov::hint::PerformanceMode::LATENCY `__ specified for the ``ov::hint::performance_mode`` property for the ``compile_model``. .. note:: - :doc:`OpenVINO performance hints ` is a recommended way for performance configuration, which is both device-agnostic and future-proof. + :doc:`OpenVINO performance hints ` is a recommended way for performance configuration, which is both device-agnostic and future-proof. * feature support by device -When multiple models are to be used simultaneously, consider running inference on separate devices for each of them. Finally, when multiple models are executed in parallel on a device, using additional ``ov::hint::model_priority`` may help to define relative priorities of the models. Refer to the documentation on the :ref:`OpenVINO feature support for devices ` to check if your device supports the feature. +When multiple models are to be used simultaneously, consider running inference on separate devices for each of them. Finally, when multiple models are executed in parallel on a device, using additional ``ov::hint::model_priority`` may help to define relative priorities of the models. Refer to the ../../../documentation on the :ref:`OpenVINO feature support for devices <../../../about-openvino/compatibility-and-support/supported-devices>` to check if your device supports the feature. **First-Inference Latency and Model Load/Compile Time** @@ -42,11 +42,11 @@ In some cases, model loading and compilation contribute to the "end-to-end" late For example, when the model is used exactly once, or when it is unloaded and reloaded in a cycle, to free the memory for another inference due to on-device memory limitations. Such a "first-inference latency" scenario may pose an additional limitation on the model load\compilation time, as inference accelerators (other than the CPU) usually require a certain level of model compilation upon loading. -The :doc:`model caching ` option is a way to lessen the impact over multiple application runs. If model caching is not possible, for example, it may require write permissions for the application, the CPU offers the fastest model load time almost every time. +The :doc:`model caching ` option is a way to lessen the impact over multiple application runs. If model caching is not possible, for example, it may require write permissions for the application, the CPU offers the fastest model load time almost every time. To improve common "first-inference latency" scenario, model reading was replaced with model mapping (using `mmap`) into a memory. But in some use cases (first of all, if model is located on removable or network drive) mapping may lead to latency increase. To switch mapping to reading, specify ``ov::enable_mmap(false)`` property for the ``ov::Core``. -Another way of dealing with first-inference latency is using the :doc:`AUTO device selection inference mode `. It starts inference on the CPU, while waiting for the actual accelerator to load the model. At that point, it shifts to the new device seamlessly. +Another way of dealing with first-inference latency is using the :doc:`AUTO device selection inference mode <../inference-devices-and-modes/auto-device-selection>`. It starts inference on the CPU, while waiting for the actual accelerator to load the model. At that point, it shifts to the new device seamlessly. -Finally, note that any :doc:`throughput-oriented options ` may significantly increase the model uptime. +Finally, note that any :doc:`throughput-oriented options ` may significantly increase the model uptime. diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.rst index 133e351e873..c379d06c918 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.rst @@ -10,7 +10,7 @@ Model Caching Overview reduce duration of model compilation on application startup. -As described in :doc:`Integrate OpenVINO™ with Your Application `, +As described in :doc:`Integrate OpenVINO™ with Your Application <../../integrate-openvino-with-your-application>`, a common application flow consists of the following steps: 1. | **Create a Core object**: @@ -67,7 +67,7 @@ If the device does not support the import/export capability, cache is not create Note that the first ``compile_model`` operation takes slightly longer, as the cache needs to be created - the compiled blob is saved into a cache file: -.. image:: _static/images/caching_enabled.svg +.. image:: ../../../../_static/images/caching_enabled.svg Make it even faster: use compile_model(modelPath) @@ -113,7 +113,7 @@ With model caching enabled, the total load time is even shorter, if ``read_model :fragment: [ov:caching:part2] -.. image:: _static/images/caching_times.svg +.. image:: ../../../../_static/images/caching_times.svg Advanced Examples ++++++++++++++++++++ diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-low-level-implementation.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-low-level-implementation.rst index 069745faf96..f948ca0c590 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-low-level-implementation.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-low-level-implementation.rst @@ -13,7 +13,7 @@ Further Low-Level Implementation Details Throughput on the CPU: Internals ################################ -As explained in the :doc:`throughput-related section `, the OpenVINO streams are means of running multiple requests in parallel. +As explained in the :doc:`throughput-related section `, the OpenVINO streams are means of running multiple requests in parallel. In order to best serve multiple inference requests executed simultaneously, the inference threads are grouped/pinned to the particular CPU cores, constituting the "CPU" streams. This provides much better performance for the networks than batching, especially for the multiple-core systems: @@ -32,9 +32,9 @@ This provides much better performance for the networks than batching, especially | Requests are executed in parallel with a small number of threads. | Layer-wise, the streams imply much less synchronization. -.. |conventional-approach| image:: _static/images/cpu_execution_conventional_approach.svg +.. |conventional-approach| image:: ../../../_static/images/cpu_execution_conventional_approach.svg -.. |execution-streams| image:: _static/images/cpu_execution_streams.svg +.. |execution-streams| image:: ../../../_static/images/cpu_execution_streams.svg Compared to the batching, the parallelism is somewhat transposed (performed over inputs with much less synchronization within CNN ops): @@ -53,25 +53,25 @@ Compared to the batching, the parallelism is somewhat transposed (performed over - | |execution-streams-2| | Inputs-wise the streams are the “transposed” batch. -.. |large-batch-approach| image:: _static/images/large_batch_approach.svg +.. |large-batch-approach| image:: ../../../_static/images/large_batch_approach.svg -.. |execution-streams-2| image:: _static/images/cpu_execution_streams_2.svg +.. |execution-streams-2| image:: ../../../_static/images/cpu_execution_streams_2.svg -Keep in mind that :doc:`high-level performance hints ` allow the implementation to select the optimal number of streams depending on model's compute demands and CPU capabilities, including :doc:`int8 inference ` hardware acceleration, number of cores, etc. +Keep in mind that :doc:`high-level performance hints ` allow the implementation to select the optimal number of streams depending on model's compute demands and CPU capabilities, including :doc:`int8 inference <../../model-optimization>` hardware acceleration, number of cores, etc. Automatic Batching Internals ############################ -:doc:`Automatic batching ` performs on-the-fly grouping of inference requests to improve device utilization. +:doc:`Automatic batching <../inference-devices-and-modes/automatic-batching>` performs on-the-fly grouping of inference requests to improve device utilization. It relaxes the requirement for an application to saturate devices such as GPU by using a large batch "explicitly". It performs transparent input gathering from individual inference requests followed by the actual batched execution, with no programming effort from the user: -.. image:: _static/images/batch_device.svg +.. image:: ../../../_static/images/batch_device.svg Essentially, Automatic Batching shifts asynchronicity from individual requests to groups of requests that constitute the batches. Furthermore, for the execution to be efficient, it is very important that the requests arrive timely, without causing a batching timeout. Normally, the timeout should never be hit. It is rather a graceful way to handle the application exit (when the inputs are not arriving anymore, so the full batch is not possible to collect). If a workload experiences timeouts, which lead to a drop in performance due to increased latency of every request, consider balancing its value against the batch size. For example, a smaller batch size and timeout value may yield better results than a large batch size coupled with a timeout value that cannot guarantee accommodating all the required requests. -Finally, following the ``get_tensor`` idiom section from the :doc:`general optimizations ` helps Automatic Batching to save on inputs/outputs copies. According to that, you should always prefer the "get" versions of the tensors' data access APIs in your applications. +Finally, following the ``get_tensor`` idiom section from the :doc:`general optimizations ` helps Automatic Batching to save on inputs/outputs copies. According to that, you should always prefer the "get" versions of the tensors' data access APIs in your applications. diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-memory-usage.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-memory-usage.rst index 45c04ff039c..dcecdbf473d 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-memory-usage.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-memory-usage.rst @@ -25,7 +25,7 @@ The most RAM-consuming OpenVINO stage is model compilation. It may cause several the ``ov::compilation_num_threads(NUMBER)`` property for the ``ov::Core`` or pass it as an additional argument to ``ov::Core::compile_model()`` -* Not enough memory to recompile a model. If model compilation is successful but one of the following recompilations fails due lack of resources, it may be caused by: +* Not enough memory to recompile a model. If model compilation is successful but one of the following recompilations fails due lack of ../../../about-openvino/additional-resources, it may be caused by: * Memory leak - to determine direct leaks, you can use tools like 'address-sanitizer' or 'valgrind'. In case of indirect leaks, which cannot be caught by tools, peak RAM (VMHWM) diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-throughput-advanced.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-throughput-advanced.rst index b792cfca42b..cae6b058941 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-throughput-advanced.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-throughput-advanced.rst @@ -1,4 +1,4 @@ -.. {#openvino_docs_deployment_optimization_guide_tput_advanced} +.. {#optimizing-throughput_advanced} Advanced Throughput Options: Streams and Batching ======================================================= @@ -13,14 +13,14 @@ Advanced Throughput Options: Streams and Batching OpenVINO Streams #################### -As explained in the :doc:`common-optimizations section `, running multiple inference requests asynchronously is important for general application efficiency. +As explained in the :doc:`common-optimizations section `, running multiple inference requests asynchronously is important for general application efficiency. Internally, every device implements a queue, which acts as a buffer, storing the inference requests until retrieved by the device at its own pace. The devices may actually process multiple inference requests in parallel in order to improve the device utilization and overall throughput. This configurable method of this device-side parallelism is commonly referred as **streams**. .. note:: - Be aware that streams are **really executing the requests in parallel, but not in the lock step** (as the batching does), which makes the streams fully compatible with :doc:`dynamically-shaped inputs `, while individual requests can have different shapes. + Be aware that streams are **really executing the requests in parallel, but not in the lock step** (as the batching does), which makes the streams fully compatible with :doc:`dynamically-shaped inputs <../dynamic-shapes>`, while individual requests can have different shapes. .. note:: @@ -42,7 +42,7 @@ A few general considerations: For efficient asynchronous execution, the streams are actually handling the inference with a special pool of the threads (a thread per stream). Each time you start inference requests (potentially from different application threads), they are actually muxed into an inference queue of the particular ``ov:Compiled_Model``. If there is a vacant stream, it pulls the request from the queue and actually expedites that to the on-device execution. -There are further device-specific details, like for the CPU, in the :doc:`internals ` section. +There are further device-specific details, like for the CPU, in the :doc:`internals ` section. Batching #################### @@ -57,7 +57,7 @@ There are several primary methods of using the batching to help application perf * Although this gives flexibility with the possible batching strategies, the approach requires redesigning the application logic. -* **Sending individual requests**, while configuring OpenVINO to collect and perform inference on the requests in batch :doc:`automatically `. +* **Sending individual requests**, while configuring OpenVINO to collect and perform inference on the requests in batch :doc:`automatically <../inference-devices-and-modes/automatic-batching>`. In both cases, the optimal batch size is very device-specific. As explained below, the optimal batch size also depends on the model, inference precision and other factors. @@ -76,17 +76,17 @@ One possible throughput optimization strategy is to **set an upper bound for lat .. note:: - When playing with :doc:`dynamically-shaped inputs `, use only the streams (no batching), as they tolerate individual requests having different shapes. + When playing with :doc:`dynamically-shaped inputs <../dynamic-shapes>`, use only the streams (no batching), as they tolerate individual requests having different shapes. .. note:: - Using the :doc:`High-Level Performance Hints ` is the alternative, portable and future-proof option, allowing OpenVINO to find the best combination of streams and batching for a given scenario and a model. + Using the :doc:`High-Level Performance Hints ` is the alternative, portable and future-proof option, allowing OpenVINO to find the best combination of streams and batching for a given scenario and a model. Number of Streams Considerations ++++++++++++++++++++++++++++++++ * Select the number of streams that is **less or equal** to the number of requests that the application would be able to run simultaneously. -* To avoid wasting resources, the number of streams should be enough to meet the *average* parallel slack rather than the peak load. +* To avoid wasting ../../../about-openvino/additional-resources, the number of streams should be enough to meet the *average* parallel slack rather than the peak load. * Use the `ov::streams::AUTO `__ as a more portable option (that also respects the underlying hardware configuration). * It is very important to keep these streams busy, by running as many inference requests as possible (for example, start the newly-arrived inputs immediately): diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-throughput.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-throughput.rst index b26d0c9e613..a33258da962 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-throughput.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-throughput.rst @@ -14,10 +14,10 @@ Optimizing for Throughput :maxdepth: 1 :hidden: - Advanced Throughput Options + Advanced Throughput Options -As described in the section on the :doc:`latency-specific optimizations `, one of the possible use cases is delivering every single request with minimal delay. +As described in the section on the :doc:`latency-specific optimizations `, one of the possible use cases is delivering every single request with minimal delay. Throughput, on the other hand, is about inference scenarios in which potentially **large numbers of inference requests are served simultaneously to improve resource use**. The associated increase in latency is not linearly dependent on the number of requests executed in parallel. @@ -28,8 +28,8 @@ Basic and Advanced Ways of Leveraging Throughput There are two ways of leveraging throughput with individual devices: -* **Basic (high-level)** flow with :doc:`OpenVINO performance hints ` which is inherently **portable and future-proof**. -* **Advanced (low-level)** approach of explicit **batching** and **streams**. For more details, see the :doc:`runtime inference optimizations ` +* **Basic (high-level)** flow with :doc:`OpenVINO performance hints ` which is inherently **portable and future-proof**. +* **Advanced (low-level)** approach of explicit **batching** and **streams**. For more details, see the :doc:`runtime inference optimizations ` In both cases, the application should be designed to execute multiple inference requests in parallel, as described in the following section. @@ -43,7 +43,7 @@ In general, most throughput-oriented inference applications should: * Expose substantial amounts of *input* parallelism (e.g. process multiple video- or audio- sources, text documents, etc). * Decompose the data flow into a collection of concurrent inference requests that are aggressively scheduled to be executed in parallel: - * Setup the configuration for the *device* (for example, as parameters of the ``ov::Core::compile_model``) via either previously introduced :doc:`low-level explicit options ` or :doc:`OpenVINO performance hints ` (**preferable**): + * Setup the configuration for the *device* (for example, as parameters of the ``ov::Core::compile_model``) via either previously introduced :doc:`low-level explicit options ` or :doc:`OpenVINO performance hints ` (**preferable**): .. tab-set:: @@ -63,20 +63,20 @@ In general, most throughput-oriented inference applications should: * Query the ``ov::optimal_number_of_infer_requests`` from the ``ov::CompiledModel`` (resulted from a compilation of the model for the device) to create the number of the requests required to saturate the device. -* Use the Async API with callbacks, to avoid any dependency on the completion order of the requests and possible device starvation, as explained in the :doc:`common-optimizations section `. +* Use the Async API with callbacks, to avoid any dependency on the completion order of the requests and possible device starvation, as explained in the :doc:`common-optimizations section `. Multi-Device Execution ###################### -OpenVINO offers the automatic, scalable :doc:`multi-device inference mode `, which is a simple *application-transparent* way to improve throughput. There is no need to re-architecture existing applications for any explicit multi-device support: no explicit network loading to each device, no separate per-device queues, no additional logic to balance inference requests between devices, etc. For the application using it, multi-device is like any other device, as it manages all processes internally. +OpenVINO offers the automatic, scalable :doc:`multi-device inference mode <../inference-devices-and-modes/multi-device>`, which is a simple *application-transparent* way to improve throughput. There is no need to re-architecture existing applications for any explicit multi-device support: no explicit network loading to each device, no separate per-device queues, no additional logic to balance inference requests between devices, etc. For the application using it, multi-device is like any other device, as it manages all processes internally. Just like with other throughput-oriented scenarios, there are several major pre-requisites for optimal multi-device performance: -* Using the :ref:`Asynchronous API ` and :doc:`callbacks ` in particular. +* Using the :ref:`Asynchronous API ` and :doc:`callbacks <../integrate-openvino-with-your-application/inference-request>` in particular. * Providing the multi-device (and hence the underlying devices) with enough data to crunch. As the inference requests are naturally independent data pieces, the multi-device performs load-balancing at the "requests" (outermost) level to minimize the scheduling overhead. -Keep in mind that the resulting performance is usually a fraction of the "ideal" (plain sum) value, when the devices compete for certain resources such as the memory-bandwidth, which is shared between CPU and iGPU. +Keep in mind that the resulting performance is usually a fraction of the "ideal" (plain sum) value, when the devices compete for certain ../../../about-openvino/additional-resources such as the memory-bandwidth, which is shared between CPU and iGPU. .. note:: - While the legacy approach of optimizing the parameters of each device separately works, the :doc:`OpenVINO performance hints ` allow configuring all devices (that are part of the specific multi-device configuration) at once. + While the legacy approach of optimizing the parameters of each device separately works, the :doc:`OpenVINO performance hints ` allow configuring all devices (that are part of the specific multi-device configuration) at once. diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/precision-control.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/precision-control.rst index db349a7c541..57211460d53 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/precision-control.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/precision-control.rst @@ -25,7 +25,7 @@ Execution Mode * In **ACCURACY mode**, the device cannot convert floating point tensors to a smaller floating point type, so devices try to keep the accuracy metrics as close as possible to the original values ​​obtained after training relative to the device's real capabilities. This means that most devices will infer with ``f32`` precision if your device supports it. * In **PERFORMANCE mode**, the device can convert to smaller data types and apply other optimizations that may have some impact on accuracy rates, although we still try to minimize accuracy loss and may use mixed precision execution in some cases. -If the model has been quantized using :doc:`OpenVINO optimization tools ` or any other method, the quantized operators will be executed with the target integer precision if the device has hardware acceleration for that type. For example, quantized ``int8`` primitives are executed with ``int8`` precision for both **ACCURACY** and **PERFORMANCE modes** if the device provides higher compute bandwidth for 8-bit data types compared to any available floating-point type. On the other hand, devices without hardware acceleration for the ``int8`` data type can keep such operators in floating point precision, and the exact floating point type will be affected by ``execution_mode`` and ``inference_precision`` properties. +If the model has been quantized using :doc:`OpenVINO optimization tools <../../model-optimization-guide/quantizing-models-post-training>` or any other method, the quantized operators will be executed with the target integer precision if the device has hardware acceleration for that type. For example, quantized ``int8`` primitives are executed with ``int8`` precision for both **ACCURACY** and **PERFORMANCE modes** if the device provides higher compute bandwidth for 8-bit data types compared to any available floating-point type. On the other hand, devices without hardware acceleration for the ``int8`` data type can keep such operators in floating point precision, and the exact floating point type will be affected by ``execution_mode`` and ``inference_precision`` properties. Code examples: @@ -59,6 +59,6 @@ Inference Precision Additional Resources #################### -* :doc:`Inference Devices and Modes ` +* :doc:`Inference Devices and Modes <../inference-devices-and-modes>` diff --git a/docs/articles_en/openvino-workflow/running-inference/stateful-models-intro.rst b/docs/articles_en/openvino-workflow/running-inference/stateful-models-intro.rst index ba5689d17e8..e8d093e6c15 100644 --- a/docs/articles_en/openvino-workflow/running-inference/stateful-models-intro.rst +++ b/docs/articles_en/openvino-workflow/running-inference/stateful-models-intro.rst @@ -7,7 +7,7 @@ Stateful models and State API :maxdepth: 1 :hidden: - openvino_docs_OV_UG_ways_to_get_stateful_model + stateful-models-intro/obtaining-stateful-openvino-model A "stateful model" is a model that implicitly preserves data between two consecutive inference calls. The tensors saved from one run are kept in an internal memory buffer called a @@ -16,7 +16,7 @@ output. In contrast, for a "stateless" model to pass data between runs, all prod returned as output and needs to be handled by the application itself for reuse at the next execution. -.. image:: _static/images/stateful_model_example.svg +.. image:: ../../_static/images/stateful_model_example.svg :alt: example comparison between stateless and stateful model implementations :align: center :scale: 90 % @@ -57,9 +57,9 @@ OpenVINO Stateful Model Representation To make a model stateful, OpenVINO replaces looped pairs of `Parameter` and `Result` with its own two operations: -* ``ReadValue`` (:doc:`see specs `) +* ``ReadValue`` (:doc:`see specs <../../documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/read-value-6>`) reads the data from the state and returns it as output. -* ``Assign`` (:doc:`see specs `) +* ``Assign`` (:doc:`see specs <../../documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/assign-6>`) accepts the data as input and saves it in the state for the next inference call. Each pair of these operations works with **state**, which is automatically saved between @@ -68,7 +68,7 @@ from the application code to OpenVINO and all related internal work is hidden fr There are three methods of turning an OpenVINO model into a stateful one: -* :doc:`Optimum-Intel` - the most user-friendly option. All necessary optimizations +* :doc:`Optimum-Intel<../generative-ai-models-guide>` - the most user-friendly option. All necessary optimizations are recognized and applied automatically. The drawback is, the tool does not work with all models. @@ -113,7 +113,7 @@ states. each run performed in a different infer request than the previous one would require the state to be set "manually", using the ``ov::VariableState::set_state`` method. -.. image:: _static/images/stateful_model_init_subgraph.svg +.. image:: ../../_static/images/stateful_model_init_subgraph.svg :alt: diagram of how initial state value is set or reset :align: center :scale: 80 % @@ -142,4 +142,4 @@ sequences. You can find more examples demonstrating how to work with states in other articles: * `LLM Chatbot notebook `__ -* :doc:`Serving Stateful Models with OpenVINO Model Server ` +* :doc:`Serving Stateful Models with OpenVINO Model Server <../../ovms_docs_stateful_models>` diff --git a/docs/articles_en/openvino-workflow/running-inference/stateful-models-intro/obtaining-stateful-openvino-model.rst b/docs/articles_en/openvino-workflow/running-inference/stateful-models-intro/obtaining-stateful-openvino-model.rst index 243c6495659..1e92f752091 100644 --- a/docs/articles_en/openvino-workflow/running-inference/stateful-models-intro/obtaining-stateful-openvino-model.rst +++ b/docs/articles_en/openvino-workflow/running-inference/stateful-models-intro/obtaining-stateful-openvino-model.rst @@ -5,14 +5,14 @@ Obtaining a Stateful OpenVINO Model If the original framework does not offer a dedicated API for working with states, the resulting OpenVINO IR model will not be stateful by default. This means it will not contain -either a state or the :doc:`Assign ` and -:doc:`ReadValue ` operations. You can still -make such models stateful (:doc:`see benefits `), +either a state or the :doc:`Assign <../../../documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/assign-6>` and +:doc:`ReadValue <../../../documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/read-value-6>` operations. You can still +make such models stateful (:doc:`see benefits <../stateful-models-intro>`), and you have three ways to do it: * `Optimum-Intel `__ - an automated solution applicable to a selection of models (not covered by this article, for a usage guide - refer to the :doc:`Optimize and Deploy Generative AI Models ` article). + refer to the :doc:`Optimize and Deploy Generative AI Models <../../generative-ai-models-guide>` article). * :ref:`MakeStateful transformation ` - to choose which pairs of Parameter and Result to replace. * :ref:`LowLatency2 transformation ` - to detect and replace Parameter @@ -28,7 +28,7 @@ MakeStateful Transformation The MakeStateful transformation changes the structure of the model by replacing the user-defined pairs of Parameter and Results with the Assign and ReadValue operations: -.. image:: _static/images/make_stateful_simple.svg +.. image:: ../../../_static/images/make_stateful_simple.svg :alt: diagram of MakeStateful Transformation :scale: 90 % :align: center @@ -39,12 +39,12 @@ without spaces 'tensor_name_1'. **State naming rule**: in most cases, the name of a state is a concatenation of the Parameter/Result tensor names. If there are no tensor names, -:doc:`friendly names ` are used. +:doc:`friendly names <../../../documentation/openvino-extensibility/transformations-api>` are used. **Examples:** -.. image:: _static/images/make_stateful_detailed.png +.. image:: ../../../_static/images/make_stateful_detailed.png :alt: detailed diagram of MakeStateful Transformation :align: center @@ -86,12 +86,12 @@ LowLatency2 Transformation ########################## The LowLatency2 transformation changes the structure of a model containing -:doc:`TensorIterator ` -and :doc:`Loop ` by automatically detecting +:doc:`TensorIterator <../../../documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/tensor-iterator-1>` +and :doc:`Loop <../../../documentation/openvino-ir-format/operation-sets/operations-specifications/infrastructure/loop-5>` by automatically detecting and replacing pairs of Parameter and Results with the Assign and ReadValue operations, as illustrated by the following example: -.. image:: _static/images/applying_low_latency_2.svg +.. image:: ../../../_static/images/applying_low_latency_2.svg :alt: diagram of LowLatency Transformation :align: center @@ -105,7 +105,7 @@ for the ReadValue operations are set to zeros unless the user specifies otherwis Applying LowLatency2 Transformation ++++++++++++++++++++++++++++++++++++ -1. Get :doc:`ov::Model `, for example: +1. Get :doc:`ov::Model <../integrate-openvino-with-your-application/model-representation>`, for example: .. tab-set:: @@ -116,7 +116,7 @@ Applying LowLatency2 Transformation :fragment: [ov:get_ov_model] 2. Change the number of iterations inside TensorIterator/Loop nodes in the model using the - :doc:`Reshape ` feature. + :doc:`Reshape <../changing-input-shape>` feature. For example, the *sequence_lengths* dimension of the model input > 1, it means the TensorIterator layer has the number_of_iterations > 1. You can reshape the model @@ -161,7 +161,7 @@ Applying LowLatency2 Transformation :fragment: [ov:low_latency_2_use_parameters] - .. image:: _static/images/llt2_use_const_initializer.svg + .. image:: ../../../_static/images/llt2_use_const_initializer.svg :alt: diagram of constant subgraph initialization :align: center @@ -182,18 +182,18 @@ Applying LowLatency2 Transformation 4. Use state API. See sections :ref:`OpenVINO State API `, :ref:`Stateful Model Inference `. - .. image:: _static/images/low_latency_limitation_2.svg + .. image:: ../../../_static/images/low_latency_limitation_2.svg :alt: diagram showing low latency limitation :scale: 70 % :align: center The only way to change the number iterations of TensorIterator/Loop layer is to use the - :doc:`Reshape ` feature. However, some models may be + :doc:`Reshape <../changing-input-shape>` feature. However, some models may be non-reshapable, typically because the value of shapes is hardcoded in a constant somewhere in the model. In such a case, trim non-reshapable layers via - :doc:`Model Optimizer command-line ` + :doc:`Model Optimizer command-line <../../../documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-setting-input-shapes>` arguments: ``--input`` and ``--output``. For example, the parameter and the problematic constant in the picture above can be @@ -233,7 +233,7 @@ Creating a Model via OpenVINO API The main approach to obtaining stateful OpenVINO IR models is converting from other frameworks. Nonetheless, it is possible to create a model from scratch. Check how to -do so in the :doc:`Build OpenVINO Model section `. +do so in the :doc:`Build OpenVINO Model section <../integrate-openvino-with-your-application/model-representation>`. Here is also an example of how ``ov::SinkVector`` is used to create ``ov::Model``. For a model with states, except inputs and outputs, ``Assign`` nodes should also point to ``Model`` diff --git a/docs/articles_en/openvino-workflow/running-inference/string-tensors.rst b/docs/articles_en/openvino-workflow/running-inference/string-tensors.rst index 2dd350376a0..b871419dde9 100644 --- a/docs/articles_en/openvino-workflow/running-inference/string-tensors.rst +++ b/docs/articles_en/openvino-workflow/running-inference/string-tensors.rst @@ -201,7 +201,7 @@ the � replacement symbol is used to signal errors in such invalid Unicode stre Additional Resources #################### -* Learn about the :doc:`basic steps to integrate inference in your application `. +* Learn about the :doc:`basic steps to integrate inference in your application `. * Use `OpenVINO tokenizers `__ to produce models that use string tensors to work with textual information as pre- and post-processing for the large language models. diff --git a/docs/articles_en/openvino-workflow/torch-compile.rst b/docs/articles_en/openvino-workflow/torch-compile.rst index ca52ef34d33..3646a2f8ba5 100644 --- a/docs/articles_en/openvino-workflow/torch-compile.rst +++ b/docs/articles_en/openvino-workflow/torch-compile.rst @@ -44,7 +44,7 @@ To use ``torch.compile``, you need to add an import statement and define one of Execution diagram: - .. image:: _static/images/torch_compile_backend_openvino.svg + .. image:: ../_static/images/torch_compile_backend_openvino.svg :width: 992px :height: 720px :scale: 60% @@ -61,7 +61,7 @@ To use ``torch.compile``, you need to add an import statement and define one of Execution diagram: - .. image:: _static/images/torch_compile_backend_openvino_ts.svg + .. image:: ../_static/images/torch_compile_backend_openvino_ts.svg :width: 1088px :height: 720px :scale: 60% @@ -194,5 +194,5 @@ fails during OpenVINO conversion, the subgraph falls back to PyTorch's default i Additional Resources ############################ -* `PyTorch 2.0 documentation `_ +* `PyTorch 2.0 ../documentation `_ diff --git a/docs/home.rst b/docs/home.rst index 8c6f814c609..8fc54573f04 100644 --- a/docs/home.rst +++ b/docs/home.rst @@ -37,7 +37,7 @@ OpenVINO 2023.2 - .. button-ref:: get_started + .. button-ref:: get-started :ref-type: doc :class: ov-homepage-banner-btn :color: primary @@ -55,14 +55,14 @@ OpenVINO 2023.2 :class-container: ov-homepage-higlight-grid .. grid-item-card:: Performance Benchmarks - :link: openvino_docs_performance_benchmarks + :link: about-openvino/performance-benchmarks :link-alt: performance benchmarks :link-type: doc See latest benchmark numbers for OpenVINO and OpenVINO Model Server .. grid-item-card:: Work with Multiple Model Formats - :link: openvino_docs_model_processing_introduction + :link: openvino-workflow/model-preparation :link-alt: Supported Model Formats :link-type: doc @@ -76,21 +76,21 @@ OpenVINO 2023.2 Cloud-ready deployments for microservice applications .. grid-item-card:: Optimize Models - :link: openvino_docs_model_optimization_guide + :link: openvino-workflow/model-optimization :link-alt: model optimization :link-type: doc Boost performance using quantization and compression with NNCF .. grid-item-card:: Use OpenVINO with PyTorch Apps with torch.compile() - :link: pytorch_2_0_torch_compile + :link: openvino-workflow/torch-compile :link-alt: torch.compile :link-type: doc Optimize generation of the graph model with PyTorch 2.0 torch.compile() backend .. grid-item-card:: Optimize and Deploy Generative AI - :link: gen_ai_guide + :link: openvino-workflow/generative-ai-models-guide :link-alt: gen ai :link-type: doc @@ -132,8 +132,8 @@ Feature Overview :maxdepth: 2 :hidden: - GET STARTED - LEARN OPENVINO - OPENVINO WORKFLOW + GET STARTED + LEARN OPENVINO + OPENVINO WORKFLOW DOCUMENTATION - ABOUT OPENVINO \ No newline at end of file + ABOUT OPENVINO \ No newline at end of file diff --git a/docs/openvino_custom_sphinx_sitemap/openvino_custom_sphinx_sitemap.egg-info/PKG-INFO b/docs/openvino_custom_sphinx_sitemap/openvino_custom_sphinx_sitemap.egg-info/PKG-INFO index 4d4fc538936..42ff1412239 100644 --- a/docs/openvino_custom_sphinx_sitemap/openvino_custom_sphinx_sitemap.egg-info/PKG-INFO +++ b/docs/openvino_custom_sphinx_sitemap/openvino_custom_sphinx_sitemap.egg-info/PKG-INFO @@ -1,5 +1,5 @@ Metadata-Version: 2.1 -Name: openvino-custom-sphinx-sitemap +Name: openvino_custom_sphinx_sitemap Version: 0.0.1 Summary: Extends sphinx-sitemap plugin with additional sitemap metadata Requires-Python: >=3.9 diff --git a/docs/openvino_sphinx_theme/openvino_sphinx_theme/directives/code.py b/docs/openvino_sphinx_theme/openvino_sphinx_theme/directives/code.py index a613bfad8f1..47daa5c70e3 100644 --- a/docs/openvino_sphinx_theme/openvino_sphinx_theme/directives/code.py +++ b/docs/openvino_sphinx_theme/openvino_sphinx_theme/directives/code.py @@ -139,7 +139,7 @@ class Scrollbox(Directive): def visit_showcase(self, node): attrs = {} - notebook_file = ("notebooks/" + node["title"] + "-with-output.html") if 'title' in node is not None else "" + notebook_file = ("../../notebooks/" + node["title"] + "-with-output.html") if 'title' in node is not None else "" link_title = (node["title"]) if 'title' in node is not None else "OpenVINO Interactive Tutorial" if "height" or "width" in node: @@ -181,7 +181,7 @@ def depart_showcase(self, node): matched_notebook = [match for match in ipynb_list if notebook_with_ext in match] - notebook_file = ("notebooks/" + node["title"] + "-with-output.html") if 'title' in node is not None else "" + notebook_file = ("../../notebooks/" + node["title"] + "-with-output.html") if 'title' in node is not None else "" link_title = (node["title"]) if 'title' in node is not None else "OpenVINO Interactive Tutorial" self.body.append("") diff --git a/docs/scripts/articles_helper.py b/docs/scripts/articles_helper.py new file mode 100644 index 00000000000..6b01325fa24 --- /dev/null +++ b/docs/scripts/articles_helper.py @@ -0,0 +1,45 @@ +# Copyright (C) 2018-2023 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +import argparse +import logging +import os +import shutil + +from pathlib import Path + + +def copy_directory_structure(input_dir, output_dir): + """ + Recursively find files and process them accordingly + """ + try: + shutil.copytree(input_dir, output_dir) + except FileExistsError: + print(f"Destination directory already exists.") + files = os.listdir(input_dir) + for file in files: + source_path = os.path.join(input_dir, file) + destination_path = os.path.join(output_dir, file) + if os.path.isdir(source_path): + copy_directory_structure(source_path, destination_path) + else: + shutil.copy(source_path, destination_path) + + +def main(): + logging.basicConfig(level=logging.INFO) + parser = argparse.ArgumentParser() + parser.add_argument('--filetype', choices=['md', 'rst'], help='Type of processed files, allowed md or rst.') + parser.add_argument('--input_dir', type=Path, help='Path to a folder containing files.') + parser.add_argument('--output_dir', type=Path, help='Path to the output folder.') + parser.add_argument('--exclude_dir', type=Path, action='append', default=[], help='Ignore a folder.') + args = parser.parse_args() + input_dir = args.input_dir + output_dir = args.output_dir + output_dir.mkdir(parents=True, exist_ok=True) + copy_directory_structure(input_dir, output_dir) + + +if __name__ == '__main__': + main() diff --git a/docs/scripts/tests/conftest.py b/docs/scripts/tests/conftest.py index 91934eda9b6..5db2dc8e0b2 100644 --- a/docs/scripts/tests/conftest.py +++ b/docs/scripts/tests/conftest.py @@ -112,8 +112,12 @@ def pytest_generate_tests(metafunc): sphinx_parser.parse() sphinx_warnings = sphinx_parser.filter() all_warnings.update(sphinx_warnings) + filtered_keys = [] + for file_path, warnings in all_warnings.items(): + for warning in warnings: + if not any([repo in warning for repo in exclude_links]): + filtered_keys.append(file_path) - filtered_keys = filter(lambda line: not any([line.startswith(repo) for repo in exclude_links]), all_warnings) files_with_errors = {key: all_warnings[key] for key in filtered_keys} # read mute lists diff --git a/docs/sphinx_setup/api/api_reference.rst b/docs/sphinx_setup/api/api_reference.rst index 5d4f754faa5..0768035c569 100644 --- a/docs/sphinx_setup/api/api_reference.rst +++ b/docs/sphinx_setup/api/api_reference.rst @@ -29,6 +29,6 @@ OpenVINO API may be described by the following: frameworks. - Can address input and output tensors by the index. Some model formats like ONNX are sensitive to the input and output order, which is preserved by OpenVINO. -- Includes :doc:`properties <../openvino_docs_OV_UG_query_api>`, unifying metrics and configuration key concepts. +- Includes :doc:`properties <../openvino-workflow/running-inference/inference-devices-and-modes/query-device-properties>`, unifying metrics and configuration key concepts. The main advantage is that they have the C++ type: ``static constexpr Property full_name{"FULL_DEVICE_NAME"};``