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 430aca7770f..9762efce375 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,6 +12,7 @@ Available Operation Sets :maxdepth: 1 :hidden: + openvino_docs_ops_opset14 openvino_docs_ops_opset13 openvino_docs_ops_opset12 openvino_docs_ops_opset11 @@ -36,6 +37,8 @@ This topic provides a complete list of available sets of operations supported in * - OpenVINO™ Version - Actual Operations Set + * - 2024.0 + - :doc:`opset14 ` * - 2023.2 - :doc:`opset13 ` * - 2023.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 new file mode 100644 index 00000000000..d3a7fdc1652 --- /dev/null +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/available-opsets/opset14.rst @@ -0,0 +1,208 @@ +.. {#openvino_docs_ops_opset14} + +opset14 +======= + + +.. meta:: + :description: Explore the examples of operation instances expressed as IR + XML snippets in the opset14 operation set, supported in OpenVINO™ + toolkit. + +This specification document describes the ``opset14`` operation set supported in OpenVINO™. +Support for each particular operation from the list below depends on the capabilities of an inference plugin +and may vary among different hardware platforms and devices. Examples of operation instances are provided as IR xml +snippets. Such IR is generated by the Model Optimizer. The semantics match corresponding OpenVINO operation classes +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 ` + 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 3d7efb29ddd..da295e12b54 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 @@ -105,6 +105,7 @@ Operation Specifications Interpolate-1 Interpolate-4 Interpolate-11 + Inverse-14 IsFinite-10 IsInf-10 IsNaN-10 diff --git a/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/matrix/Inverse_14.rst b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/matrix/Inverse_14.rst new file mode 100644 index 00000000000..60812117ff5 --- /dev/null +++ b/docs/articles_en/documentation/openvino-ir-format/operation-sets/operations-specifications/matrix/Inverse_14.rst @@ -0,0 +1,135 @@ +.. {#openvino_docs_ops_matrix_Inverse_14} + +Inverse +======= + + +.. meta:: + :description: Learn about Inverse-14 - a matrix operation that computes the inverse or adjoint for one matrix or a batch of input matrice. + +**Versioned name**: *Inverse-14* + +**Category**: *Matrix* + +**Short description**: *Inverse* operation computes either the inverse or adjoint (conjugate transposes) of one or a batch of square invertible matrices. + +**Detailed description**: *Inverse* operation computes the inverse of a square matrix. The operation uses LU decomposition with partial pivoting to compute the inverses. (`LU decomposotion with partial pivoting algorithm `__) + +The inverse matrix A^(-1) of a square matrix A is defined as: + +.. math:: + + A \cdot A^{-1} = A^{-1} \cdot A = I + +where **I** is the n-dimensional identity matrix. + +The inverse matrix exists if and only if the input matrix is invertible. In that case, the inverse is unique. If the matrix is not invertible however, the operation may raise an exception or return an undefined result. + +This operation can be used to compute the adjugate matrix instead of the inverse. + +The adjugate matrix adj(A) of a square matrix A is defined as: + +.. math:: + + adj(A) = det(A) \cdot A^{-1} + +where **A^{-1}** is the matrix inverse of A, and **det(A)** is the determinant of A. + +The adjugate matrix exists if and only if the inverse matrix exists. + +**Attribute**: + +* *adjoint* + + * **Description**: Modifies the return value of the operation. If true, the operation returns the adjoint (conjugate transpose) of the input matrices instead of finding the inverse. + * **Range of values**: `true`, `false` + + * ``true`` - output adjugate matrix. + * ``false`` - output inverse matrix. + + * **Type**: `bool` + * **Default value**: `false` + * **Required**: *No* + +**Input**: + +* **1**: `input` - A tensor of shape [B1, B2, ..., Bn, ROW, COL] and type `T` representing the input square matrices. **The inner-most 2 dimensions form square matrices and must be of the same size.** B1, B2, ..., Bn represent any amount of batch dimensions (can be 0 for a single matrix input). **Required.** + +**Output**: + +* **1**: `output` - A tensor with the same type `T` as the input and same shape [B1, B2, ..., Bn, ROW, COL] as the input, representing the inverse matrices (or adjugate matrices) of the input matrices. + +**Types** + +* **T**: any supported floating-point type. + +*Example 1: 2D input matrix.* + +.. code-block:: xml + :force: + + + + + + 3 + 3 + + + + + 3 + 3 + + + + +*Example 2: 3D input tensor with one batch dimension and adjoint=true.* + +.. code-block:: xml + :force: + + + + + + 2 + 4 + 4 + + + + + 2 + 4 + 4 + + + + +*Example 3: 5D input tensor with three batch dimensions.* + +.. code-block:: xml + :force: + + + + + + 5 + 4 + 3 + 2 + 2 + + + + + 5 + 4 + 3 + 2 + 2 + + +