Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Steve Yoo 2021-09-02 08:54:23 +09:00
commit 4bf45de5dc
1011 changed files with 21418 additions and 18317 deletions

View File

@ -29,8 +29,10 @@ jobs:
WORK_DIR: $(Pipeline.Workspace)/_w
BUILD_DIR: $(WORK_DIR)/build
BUILD_SAMPLES_DIR: $(WORK_DIR)/build_samples
BUILD_LAYER_TESTS_DIR: $(WORK_DIR)/build_layer_tests
INSTALL_DIR: $(WORK_DIR)/install_pkg
INSTALL_TEST_DIR: $(INSTALL_DIR)/tests
LAYER_TESTS_DIR: $(INSTALL_TEST_DIR)/layer_tests
SETUPVARS: $(INSTALL_DIR)/bin/setupvars.sh
steps:
@ -138,6 +140,21 @@ jobs:
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake
workingDirectory: $(BUILD_DIR)
displayName: 'Install'
- task: CMake@1
inputs:
cmakeArgs: >
-GNinja
$(REPO_DIR)/tests/layer_tests
workingDirectory: $(BUILD_LAYER_TESTS_DIR)
- script: ninja
workingDirectory: $(BUILD_LAYER_TESTS_DIR)
displayName: 'Build Layer Tests'
- script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake
workingDirectory: $(BUILD_LAYER_TESTS_DIR)
displayName: 'Install Layer Tests'
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install files'
@ -149,7 +166,7 @@ jobs:
cp -R $(REPO_DIR)/inference-engine/temp/opencv_4.5.2_ubuntu20/opencv/* $(INSTALL_DIR)/opencv/
workingDirectory: $(BUILD_DIR)
displayName: 'Install tests'
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install files'
@ -160,7 +177,7 @@ jobs:
- script: $(INSTALL_DIR)/deployment_tools/inference_engine/samples/c/build_samples.sh
workingDirectory: $(BUILD_SAMPLES_DIR)
displayName: 'Build c samples'
- script: rm -fr $(BUILD_DIR)
displayName: 'Clean build dir'
continueOnError: false
@ -236,6 +253,16 @@ jobs:
. $(SETUPVARS) -pyver 3.8 && python3 -m pytest --junitxml=TEST-PythonAPI.xml
displayName: 'Python API Tests'
continueOnError: false
- script: |
. $(SETUPVARS)
python3 -m pip install -r requirements.txt
export MO_ROOT=$(INSTALL_DIR)/deployment_tools/model_optimizer
export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
python3 -m pytest tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=TEST-tf_Roll.xmlTEST
workingDirectory: $(LAYER_TESTS_DIR)
displayName: 'Layer Tests'
continueOnError: false
- task: PublishTestResults@2
condition: always()

View File

@ -93,7 +93,6 @@ jobs:
-DENABLE_CLDNN=OFF
-DENABLE_PROFILING_ITT=OFF
-DENABLE_SAMPLES=OFF
-DENABLE_SPEECH_DEMO=OFF
-DNGRAPH_ONNX_FRONTEND_ENABLE=ON
-DNGRAPH_DEBUG_ENABLE=OFF
$(REPO_DIR)

View File

@ -65,7 +65,6 @@ RUN cmake .. \
-DENABLE_CLDNN=OFF \
-DENABLE_PROFILING_ITT=OFF \
-DENABLE_SAMPLES=OFF \
-DENABLE_SPEECH_DEMO=OFF \
-DENABLE_PYTHON=ON \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DNGRAPH_ONNX_FRONTEND_ENABLE=ON \

View File

@ -72,6 +72,7 @@ azure-pipelines.yml @openvinotoolkit/openvino-admins
# Documentation
/docs/ @openvinotoolkit/openvino-docs-maintainers
/docs/template_plugin/ @openvinotoolkit/openvino-ie-template-maintainers
*.md @openvinotoolkit/openvino-docs-maintainers
# Control 3d party dependencies

View File

@ -298,44 +298,3 @@ if(ENABLE_GNA)
update_deps_cache(GNA "${GNA}" "Path to GNA root folder")
debug_message(STATUS "gna=" ${GNA})
endif()
if(ENABLE_SPEECH_DEMO)
reset_deps_cache(SPEECH_LIBS_AND_DEMOS)
if(DEFINED ENV{THIRDPARTY_SERVER_PATH})
set(IE_PATH_TO_DEPS "$ENV{THIRDPARTY_SERVER_PATH}")
elseif(DEFINED THIRDPARTY_SERVER_PATH)
set(IE_PATH_TO_DEPS "${THIRDPARTY_SERVER_PATH}")
else()
message(WARNING "Unable to locate Speech Demo")
endif()
if(DEFINED IE_PATH_TO_DEPS)
if(WIN32 AND X86_64)
RESOLVE_DEPENDENCY(SPEECH_LIBS_AND_DEMOS
ARCHIVE_WIN "speech_demo_1.0.0.780_windows.zip"
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+.[0-9]+).*"
TARGET_PATH "${TEMP}/speech_demo_1.0.0.780"
SHA256 "957bd274a1f6dc1d83a46879c7ef3b3b06f17d11af85cc45c18919051d145abd")
debug_message(STATUS "speech_libs_and_demos=" ${SPEECH_LIBS_AND_DEMOS})
elseif(LINUX AND X86_64)
if(LINUX_OS_NAME STREQUAL "CentOS 7" OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9")
RESOLVE_DEPENDENCY(SPEECH_LIBS_AND_DEMOS
ARCHIVE_LIN "speech_demo_1.0.0.780_centos.tgz"
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+.[0-9]+).*"
TARGET_PATH "${TEMP}/speech_demo_1.0.0.780"
SHA256 "6d8d1111d0e662fe71d71cd3debad2995f6fb6fe5df3b92196dae06ff7abdf44")
debug_message(STATUS "speech_libs_and_demos=" ${SPEECH_LIBS_AND_DEMOS})
else()
RESOLVE_DEPENDENCY(SPEECH_LIBS_AND_DEMOS
ARCHIVE_LIN "speech_demo_1.0.0.780_linux.tgz"
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+.[0-9]+).*"
TARGET_PATH "${TEMP}/speech_demo_1.0.0.780"
SHA256 "0ec6f1e47c00d781dc918af5d3055ab474ff47b9978dd6fe2add73e3339b0763")
debug_message(STATUS "speech_libs_and_demos=" ${SPEECH_LIBS_AND_DEMOS})
endif()
else()
message(FATAL_ERROR "Speech Demo is not available on current platform")
endif()
unset(IE_PATH_TO_DEPS)
endif()
update_deps_cache(SPEECH_LIBS_AND_DEMOS "${SPEECH_LIBS_AND_DEMOS}" "Path to SPEECH_LIBS_AND_DEMOS root folder")
endif()

View File

@ -6,10 +6,10 @@ ClassName: '^([A-Z][\w]+|b?float16|numeric_limits|ngraph_error|stopwatch|unsuppo
StructName: '^([A-Z][\w]+|element_type_traits|hash|oi_pair)$'
FunctionName: '^(operator\W+|[a-z_\d]+)$'
Namespace: '^([a-z\d_]+|InferenceEngine)$'
NamespaceAlias: '^[a-z\d_]+$'
NamespaceAlias: '^([a-z\d_]+|InferenceEngine)$'
UnionName: '[A-Z][\w]+$'
TemplateTemplateParameter: '[A-Z][\w]+'
NamespaceReference: '^[a-z\d_]+$'
NamespaceReference: '^([a-z\d_]+|InferenceEngine)$'
TemplateNonTypeParameter: '^\w*$'
ClassTemplate: '^([A-Z][\w]+|element_type_traits)$'
TemplateTypeParameter: '^\w*$'

View File

@ -112,8 +112,8 @@ function(ie_add_plugin)
if(TARGET inference_engine_ir_v7_reader)
add_dependencies(${IE_PLUGIN_NAME} inference_engine_ir_v7_reader)
endif()
if(TARGET inference_engine_onnx_reader)
add_dependencies(${IE_PLUGIN_NAME} inference_engine_onnx_reader)
if(TARGET onnx_ngraph_frontend)
add_dependencies(${IE_PLUGIN_NAME} onnx_ngraph_frontend)
endif()
# install rules

View File

@ -98,8 +98,6 @@ ie_dependent_option (ENABLE_FUNCTIONAL_TESTS "functional tests" ON "ENABLE_TESTS
ie_dependent_option (ENABLE_SAMPLES "console samples are part of inference engine package" ON "NOT MINGW" OFF)
ie_dependent_option (ENABLE_SPEECH_DEMO "enable speech demo integration" ON "NOT APPLE;NOT ANDROID;X86_64" OFF)
ie_option (ENABLE_OPENCV "enables OpenCV" ON)
ie_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF)
@ -124,6 +122,7 @@ endif()
ie_dependent_option(NGRAPH_ONNX_FRONTEND_ENABLE "Enable ONNX FrontEnd" ON "protoc_available" OFF)
ie_dependent_option(NGRAPH_PDPD_FRONTEND_ENABLE "Enable PaddlePaddle FrontEnd" ON "protoc_available" OFF)
ie_option(IR_FRONTEND_ENABLE "Enable IR FrontEnd" ON)
ie_dependent_option(NGRAPH_USE_PROTOBUF_LITE "Compiles and links with protobuf-lite" ON
"NGRAPH_ONNX_FRONTEND_ENABLE" OFF)
ie_dependent_option(NGRAPH_USE_SYSTEM_PROTOBUF "Use system protobuf" OFF
@ -131,8 +130,8 @@ ie_dependent_option(NGRAPH_USE_SYSTEM_PROTOBUF "Use system protobuf" OFF
ie_dependent_option(NGRAPH_UNIT_TEST_ENABLE "Enables ngraph unit tests" ON "ENABLE_TESTS;NOT ANDROID" OFF)
ie_dependent_option(NGRAPH_UNIT_TEST_BACKENDS_ENABLE "Control the building of unit tests using backends" ON
"NGRAPH_UNIT_TEST_ENABLE" OFF)
option(NGRAPH_DEBUG_ENABLE "Enable output for NGRAPH_DEBUG statements" OFF)
option(ENABLE_REQUIREMENTS_INSTALL "Dynamic dependencies install" ON)
ie_option(NGRAPH_DEBUG_ENABLE "Enable output for NGRAPH_DEBUG statements" OFF)
ie_option(ENABLE_REQUIREMENTS_INSTALL "Dynamic dependencies install" ON)
# WA for ngraph python build on Windows debug
list(REMOVE_ITEM IE_OPTIONS NGRAPH_UNIT_TEST_ENABLE NGRAPH_UNIT_TEST_BACKENDS_ENABLE)

View File

@ -37,30 +37,28 @@
@PACKAGE_INIT@
function(set_imported_global target)
get_target_property(IS_IMPORTED_GLOBAL ${target} IMPORTED_GLOBAL)
if (NOT IS_IMPORTED_GLOBAL)
set_target_properties(${target} PROPERTIES IMPORTED_GLOBAL TRUE)
endif()
endfunction()
if(NOT TARGET ngraph)
include("${CMAKE_CURRENT_LIST_DIR}/ngraphTargets.cmake")
set_imported_global(ngraph::ngraph)
set_imported_global(ngraph::frontend_manager)
endif()
set(ngraph_ngraph_FOUND ON)
set(NGRAPH_LIBRARIES ngraph::ngraph)
set(ngraph_onnx_ngraph_frontend_FOUND @NGRAPH_ONNX_FRONTEND_ENABLE@)
if (ngraph_onnx_ngraph_frontend_FOUND AND NOT TARGET onnx_ngraph_frontend AND NOT TARGET ngraph::onnx_importer)
set_imported_global(ngraph::onnx_ngraph_frontend)
add_library(ngraph::onnx_importer ALIAS ngraph::onnx_ngraph_frontend)
endif()
set(ngraph_paddlepaddle_frontend_FOUND @NGRAPH_PDPD_FRONTEND_ENABLE@)
if(ngraph_paddlepaddle_frontend_FOUND AND NOT TARGET paddlepaddle_ngraph_frontend)
set_imported_global(ngraph::paddlepaddle_ngraph_frontend)
# ngraph::onnx_importer target and variables are deprecated
set(ngraph_onnx_importer_FOUND @NGRAPH_ONNX_FRONTEND_ENABLE@)
if(ngraph_onnx_importer_FOUND)
set(ONNX_IMPORTER_LIBRARIES ngraph::onnx_ngraph_frontend)
if(NOT TARGET ngraph::onnx_importer)
add_library(ngraph::onnx_importer INTERFACE IMPORTED)
set_target_properties(ngraph::onnx_importer PROPERTIES
INTERFACE_LINK_LIBRARIES ngraph::onnx_ngraph_frontend
)
endif()
endif()
set(ngraph_paddlepaddle_frontend_FOUND @NGRAPH_PDPD_FRONTEND_ENABLE@)
set(ir_frontend_FOUND @IR_FRONTEND_ENABLE@)
check_required_components(ngraph)

View File

@ -43,10 +43,10 @@ This library contains the classes to:
Starting from 2020.4 release, Inference Engine introduced a concept of `CNNNetwork` reader plugins. Such plugins can be automatically dynamically loaded by Inference Engine in runtime depending on file format:
* Linux* OS:
- `libinference_engine_ir_reader.so` to read a network from IR
- `libinference_engine_onnx_reader.so` to read a network from ONNX model format
- `onnx_ngraph_frontend.so` to read a network from ONNX model format
* Windows* OS:
- `inference_engine_ir_reader.dll` to read a network from IR
- `inference_engine_onnx_reader.dll` to read a network from ONNX model format
- `onnx_ngraph_frontend.dll` to read a network from ONNX model format
### Device-Specific Plugin Libraries

View File

@ -46,10 +46,10 @@ This library contains the classes to:
Starting from 2020.4 release, Inference Engine introduced a concept of `CNNNetwork` reader plugins. Such plugins can be automatically dynamically loaded by Inference Engine in runtime depending on file format:
* Unix* OS:
- `libinference_engine_ir_reader.so` to read a network from IR
- `libinference_engine_onnx_reader.so` to read a network from ONNX model format
- `onnx_ngraph_frontend.so` to read a network from ONNX model format
* Windows* OS:
- `inference_engine_ir_reader.dll` to read a network from IR
- `inference_engine_onnx_reader.dll` to read a network from ONNX model format
- `onnx_ngraph_frontend.dll` to read a network from ONNX model format
### Device-specific Plugin Libraries ###

View File

@ -86,7 +86,7 @@ Intel® GNA essentially operates in the low-precision mode, which represents a m
Unlike other plugins supporting low-precision execution, the GNA plugin can calculate quantization factors at the model loading time, so you can run a model without calibration using the [Post-Training Optimizaton Tool](@ref pot_README).
However, this mode may not provide satisfactory accuracy because the internal quantization algorithm is based on heuristics which may or may not be efficient, depending on the model and dynamic range of input data.
Starting with 2021.4 release of OpenVINO, GNA plugin users are encouraged to use the [POT API Usage sample for GNA](@ref pot_sample_speech_README) to get a model with quantization hints based on statistics for the provided dataset.
Starting with 2021.4 release of OpenVINO, GNA plugin users are encouraged to use the [POT API Usage sample for GNA](@ref pot_sample_speech_README) to get a model with quantization hints based on statistics for the provided dataset.
## <a name="execution-modes">Execution Modes</a>
@ -97,6 +97,7 @@ Starting with 2021.4 release of OpenVINO, GNA plugin users are encouraged to use
| `GNA_HW` | Uses Intel® GNA if available, otherwise raises an error. |
| `GNA_SW` | *Deprecated*. Executes the GNA-compiled graph on CPU performing calculations in the same precision as the Intel® GNA, but not in the bit-exact mode. |
| `GNA_SW_EXACT` | Executes the GNA-compiled graph on CPU performing calculations in the same precision as the Intel® GNA in the bit-exact mode. |
| `GNA_HW_WITH_SW_FBACK` | Uses Intel® GNA if available, otherwise raises an error. If the HW queue is not empty, automatically falls back to CPU in the bit-exact mode. |
| `GNA_SW_FP32` | Executes the GNA-compiled graph on CPU but substitutes parameters and calculations from low precision to floating point (`FP32`). |
## Supported Configuration Parameters
@ -189,6 +190,19 @@ executableNet.SetConfig(newConfig);
```
2. Resubmit and switch back to GNA_HW expecting that the competing application has finished.
> **NOTE:** This method is deprecated since a new automatic QoS mode has been introduced in 2021.4.1 release of OpenVINO™ (see below).
## GNA3 Automatic QoS Feature on Windows*
Starting with 2021.4.1 release of OpenVINO and 03.00.00.1363 version of Windows* GNA driver, a new execution mode (GNA_HW_WITH_SW_FBACK) is introduced
to assure that workloads satisfy real-time execution. In this mode, the GNA driver automatically falls back on CPU for a particular infer request
if the HW queue is not empty, so there is no need for explicitly switching between GNA and CPU.
**NOTE:** Due to the "first come - first served" nature of GNA driver and the QoS feature, this mode may lead to increased CPU consumption
if there are several clients using GNA simultaneously.
Even a lightweight competing infer request which has not been cleared at the time when the user's GNA client process makes its request,
can cause the user's request to be executed on CPU, thereby unnecessarily increasing CPU utilization and power.
## See Also
* [Supported Devices](Supported_Devices.md)

View File

@ -179,6 +179,7 @@ Standard TensorFlow\* operations:
| BroadcastTo | No |
| Cast | No |
| Ceil | No |
| ClipByValue | No |
| Concat | No |
| ConcatV2 | No |
| Const | No |
@ -253,6 +254,7 @@ Standard TensorFlow\* operations:
| Min | No |
| Minimum | No |
| MirrorPad | No |
| Mod | No |
| Mul | No |
| Neg | No |
| NextIteration | Supported only when it is fused to the TensorIterator layer |

View File

@ -2,7 +2,7 @@
**Versioned name**: *HSwish-4*
**Category**: *Activation*
**Category**: *Activation function*
**Short description**: HSwish takes one input tensor and produces output tensor where the hard version of swish function is applied to the tensor elementwise.

View File

@ -2,7 +2,7 @@
**Versioned name**: *LogSoftmax-5*
**Category**: *Activation*
**Category**: *Activation function*
**Short description**: LogSoftmax computes the natural logarithm of softmax values for the given input.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Abs-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Abs* performs element-wise the absolute value with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Acos-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Acos* performs element-wise inverse cosine (arccos) operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Acosh-3*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Acosh* performs element-wise hyperbolic inverse cosine (arccosh) operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Add-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *Add* performs element-wise addition operation with two given tensors applying broadcasting rule specified in the *auto_broacast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Asin-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Asin* performs element-wise inverse sine (arcsin) operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Asinh-3*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Asinh* performs element-wise inverse hyperbolic sine operation (arcsinh) on a given input tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Atan-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Atan* performs element-wise inverse tangent (arctangent) operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Atanh-3*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Atanh* performs element-wise hyperbolic inverse tangent (arctangenth) operation with a given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Ceiling-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Ceiling* performs element-wise ceiling operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Cos-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Cos* performs element-wise cosine operation on a given input tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Cosh-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Cosh* performs element-wise hyperbolic cosine operation on a given input tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *CumSum-3*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *CumSum* performs cumulative summation of the input elements along the given axis.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Divide-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *Divide* performs element-wise division operation with two given tensors applying broadcasting rule specified in the *auto_broacast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Erf-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Erf* performs element-wise Gauss error function (erf) on a given input tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *FloorMod-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *FloorMod* performs an element-wise floor modulo operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Floor-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Floor* performs element-wise floor operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Log-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Log* performs element-wise natural logarithm operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Maximum-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *Maximum* performs element-wise maximum operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Minimum-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *Minimum* performs element-wise minimum operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Mod-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *Mod* performs an element-wise modulo operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Multiply-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *Multiply* performs element-wise multiplication operation with two given tensors applying broadcasting rule specified in the *auto_broacast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Negative-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Negative* performs element-wise negative operation on a given input tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Power-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *Power* performs element-wise power operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Round-5*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Round* performs element-wise round operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Sign-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Sign* performs element-wise sign operation on a given input tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Sin-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Sin* performs element-wise sine operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Sinh-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Sinh* performs element-wise hyperbolic sine (sinh) operation on a given input tensor

View File

@ -2,7 +2,7 @@
**Versioned name**: *Sqrt-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: Square root element-wise operation.

View File

@ -2,7 +2,7 @@
**Versioned name**: *SquaredDifference-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *SquaredDifference* performs element-wise subtract and square the result operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Subtract-1*
**Category**: Arithmetic binary operation
**Category**: *Arithmetic binary*
**Short description**: *Subtract* performs element-wise subtraction operation with two given tensors applying broadcasting rule specified in the *auto_broacast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Tan-1*
**Category**: Arithmetic unary operation
**Category**: *Arithmetic unary*
**Short description**: *Tan* performs element-wise tangent operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Tanh-1*
**Category**: *Arithmetic function*
**Category**: *Arithmetic unary*
**Short description**: *Tanh* performs element-wise hyperbolic tangent (tanh) operation with given tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Equal-1*
**Category**: Comparison binary operation
**Category**: *Comparison binary*
**Short description**: *Equal* performs element-wise comparison operation with two given input tensors applying multi-directional broadcast rules specified in the *auto_broadcast* attribute.

View File

@ -2,9 +2,18 @@
**Versioned name**: *GreaterEqual-1*
**Category**: Comparison binary operation
**Category**: *Comparison binary*
**Short description**: *GreaterEqual* performs element-wise comparison operation with two given tensors applying multi-directional broadcast rules.
**Short description**: *GreaterEqual* performs element-wise comparison operation with two given tensors applying broadcast rules specified in the `auto_broadcast` attribute.
**Detailed description**
Before performing arithmetic operation, input tensors *a* and *b* are broadcasted if their shapes are different and `auto_broadcast` attribute is not `none`. Broadcasting is performed according to `auto_broadcast` value.
After broadcasting, *GreaterEqual* does the following with the input tensors *a* and *b*:
\f[
o_{i} = a_{i} \geq b_{i}
\f]
**Attributes**:
@ -13,36 +22,28 @@
* **Description**: specifies rules used for auto-broadcasting of input tensors.
* **Range of values**:
* *none* - no auto-broadcasting is allowed, all input shapes should match
* *numpy* - numpy broadcasting rules, aligned with ONNX Broadcasting. Description is available in <a href="https://github.com/onnx/onnx/blob/master/docs/Broadcasting.md">ONNX docs</a>.
* *numpy* - numpy broadcasting rules, description is available in [Broadcast Rules For Elementwise Operations](../broadcast_rules.md)
* *pdpd* - PaddlePaddle-style implicit broadcasting, description is available in [Broadcast Rules For Elementwise Operations](../broadcast_rules.md)
* **Type**: string
* **Default value**: "numpy"
* **Required**: *no*
**Inputs**
* **1**: A tensor of type *T*. **Required.**
* **2**: A tensor of type *T*. **Required.**
* **1**: A tensor of type *T* and arbitrary shape. **Required.**
* **2**: A tensor of type *T* and arbitrary shape. **Required.**
**Outputs**
* **1**: The result of element-wise comparison operation. A tensor of type boolean.
* **1**: The result of element-wise *GreaterEqual* operation applied to the input tensors. A tensor of type *T_BOOL* and shape equal to broadcasted shape of two inputs.
**Types**
* *T*: arbitrary supported type.
**Detailed description**
Before performing arithmetic operation, input tensors *a* and *b* are broadcasted if their shapes are different and `auto_broadcast` attributes is not `none`. Broadcasting is performed according to `auto_broadcast` value.
After broadcasting *GreaterEqual* does the following with the input tensors *a* and *b*:
\f[
o_{i} = a_{i} \geq b_{i}
\f]
* *T_BOOL*: `boolean`.
**Examples**
*Example 1*
*Example 1: no broadcast*
```xml
<layer ... type="GreaterEqual">
@ -65,7 +66,7 @@ o_{i} = a_{i} \geq b_{i}
</layer>
```
*Example 2: broadcast*
*Example 2: numpy broadcast*
```xml
<layer ... type="GreaterEqual">
<input>

View File

@ -2,7 +2,7 @@
**Versioned name**: *Greater-1*
**Category**: Comparison binary operation
**Category**: *Comparison binary*
**Short description**: *Greater* performs element-wise comparison operation with two given tensors applying broadcast rules specified in the `auto_broadcast` attribute.
@ -35,7 +35,7 @@ o_{i} = a_{i} > b_{i}
**Outputs**
* **1**: The result of element-wise comparison operation applied to the input tensors. A tensor of type *T_BOOL* and shape equal to broadcasted shape of two inputs.
* **1**: The result of element-wise *Greater* operation applied to the input tensors. A tensor of type *T_BOOL* and shape equal to broadcasted shape of two inputs.
**Types**

View File

@ -2,7 +2,7 @@
**Versioned name**: *LessEqual-1*
**Category**: Comparison binary operation
**Category**: *Comparison binary*
**Short description**: *LessEqual* performs element-wise comparison operation with two given tensors applying broadcast rules specified in the *auto_broadcast* attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Less-1*
**Category**: Comparison binary operation
**Category**: *Comparison binary*
**Short description**: *Less* performs element-wise comparison operation with two given tensors applying multi-directional broadcast rules.

View File

@ -2,7 +2,7 @@
**Versioned name**: *NotEqual-1*
**Category**: Comparison binary operation
**Category**: *Comparison binary*
**Short description**: *NotEqual* performs element-wise comparison operation with two given tensors applying
multi-directional broadcast rules specified in the `auto_broadcast` attribute.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Bucketize-3*
**Category**: Condition operation
**Category**: *Condition*
**Short description**: *Bucketize* bucketizes the input based on boundaries. This is similar to [Reference](https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/bucketize).

View File

@ -2,7 +2,7 @@
**Versioned name**: *If-8*
**Category**: Infrastructure
**Category**: *Condition*
**Short description**: *If* operation contains two internal networks(subgraphs) such as `then_body` and `else_body`,
and performs one of them depending on `cond` value. If `cond` is `True`, `then_body` is executed. If `cond` is `False`,

View File

@ -2,7 +2,7 @@
**Versioned name**: *NonZero-3*
**Category**: Condition operation
**Category**: *Condition*
**Short description**: *NonZero* returns the indices of the non-zero elements of the input tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Select-1*
**Category**: *Conditions*
**Category**: *Condition*
**Short description**: *Select* returns a tensor filled with the elements from the second or the third inputs, depending on the condition (the first input) value.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ConvolutionBackpropData-1*
**Category**: Convolution
**Category**: *Convolution*
**Short description**: Computes 1D, 2D or 3D *ConvolutionBackpropData* operation with respect to the input and kernel tensors. Also known as a Transposed Convolution.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Convolution-1*
**Category**: Convolution
**Category**: *Convolution*
**Short description**: Computes 1D, 2D or 3D convolution (cross-correlation to be precise) of input and kernel tensors.

View File

@ -2,7 +2,7 @@
**Versioned name**: *DeformableConvolution-1*
**Category**: Convolution
**Category**: *Convolution*
**Short description**: Computes 2D deformable convolution of input and kernel tensors.

View File

@ -2,7 +2,7 @@
**Versioned name**: *DeformableConvolution-8*
**Category**: Convolution
**Category**: *Convolution*
**Short description**: Computes 2D deformable convolution of input and kernel tensors.

View File

@ -2,7 +2,7 @@
**Versioned name**: *GroupConvolutionBackpropData-1*
**Category**: Convolution
**Category**: *Convolution*
**Short description**: Computes 1D, 2D or 3D *GroupConvolutionBackpropData* of input and kernel tensors.

View File

@ -2,7 +2,7 @@
**Versioned name**: *GroupConvolution-1*
**Category**: Convolution
**Category**: *Convolution*
**Short description**: Computes 1D, 2D or 3D GroupConvolution of input and kernel tensors.

View File

@ -2,7 +2,7 @@
**Versioned name**: *DeformablePSROIPooling-1*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: *DeformablePSROIPooling* computes deformable position-sensitive pooling of regions of interest specified by input.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronDetectionOutput-6*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: The *ExperimentalDetectronDetectionOutput* operation performs non-maximum suppression to generate
the detection output using information on location and score predictions.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronGenerateProposalsSingleImage-6*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: The *ExperimentalDetectronGenerateProposalsSingleImage* operation computes ROIs and their scores
based on input data.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronPriorGridGenerator-6*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: The *ExperimentalDetectronPriorGridGenerator* operation generates prior grids of specified sizes.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ExperimentalDetectronROIFeatureExtractor-6*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: *ExperimentalDetectronROIFeatureExtractor* is the [ROIAlign](ROIAlign_3.md) operation applied
over a feature pyramid.

View File

@ -2,7 +2,7 @@
**Versioned name**: *PSROIPooling-1*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: *PSROIPooling* computes position-sensitive pooling on regions of interest specified by input.

View File

@ -2,7 +2,7 @@
**Versioned name**: *PriorBoxClustered-1*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: *PriorBoxClustered* operation generates prior boxes of specified sizes normalized to the input image size.

View File

@ -2,7 +2,7 @@
**Versioned name**: *PriorBox-1*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: *PriorBox* operation generates prior boxes of specified sizes and aspect ratios across all dimensions.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ROIAlign-3*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: *ROIAlign* is a *pooling layer* used over feature maps of non-uniform input sizes and outputs a feature map of a fixed size.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ROIPooling-1*
**Category**: Object detection
**Category**: *Object detection*
**Short description**: *ROIPooling* is a *pooling layer* used over feature maps of non-uniform input sizes and outputs a feature map of a fixed size.

View File

@ -2,7 +2,7 @@
**Versioned name**: *RandomUniform-8*
**Category**: Generation
**Category**: *Generation*
**Short description**: *RandomUniform* operation generates a sequence of random values from a uniform distribution.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Range-1*
**Category**: Generation
**Category**: *Generation*
**Short description**: *Range* operation generates a sequence of numbers according input values [start, stop) with a step.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Range-4*
**Category**: Generation
**Category**: *Generation*
**Short description**: *Range* operation generates a sequence of numbers according input values [start, stop) with a step.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Interpolate-1*
**Category**: Image processing
**Category**: *Image processing*
**Short description**: *Interpolate* layer performs interpolation of independent slices in input tensor by specified dimensions and attributes.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Interpolate-4*
**Category**: Image processing
**Category**: *Image processing*
**Short description**: *Interpolate* layer performs interpolation of independent slices in input tensor by specified dimensions and attributes.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Loop-5*
**Category**: Infrastructure
**Category**: *Infrastructure*
**Short description**: *Loop* operation performs recurrent execution of the network, which is described in the `body`, iterating through the data.
The operation has similar semantic to the ONNX* Loop [operation](https://github.com/onnx/onnx/blob/master/docs/Changelog.md#Loop-13).

View File

@ -2,7 +2,7 @@
**Versioned name**: *TensorIterator-1*
**Category**: Infrastructure
**Category**: *Infrastructure*
**Short description**: *TensorIterator* layer performs recurrent execution of the network, which is described in the `body`, iterating through the data.

View File

@ -2,7 +2,7 @@
**Versioned name**: *LogicalAnd-1*
**Category**: Logical binary operation
**Category**: *Logical binary*
**Short description**: *LogicalAnd* performs element-wise logical AND operation with two given tensors applying multi-directional broadcast rules.

View File

@ -2,35 +2,36 @@
**Versioned name**: *LogicalNot-1*
**Category**: Logical unary operation
**Category**: *Logical unary*
**Short description**: *LogicalNot* performs element-wise logical negation operation with given tensor.
**Attributes**:
No attributes available.
**Inputs**
* **1**: An tensor of type *T*. **Required.**
**Outputs**
* **1**: The result of element-wise logical negation operation. A tensor of type *T*.
**Types**
* *T*: boolean type.
*LogicalNot* does the following with the input tensor *a*:
**Detailed description**: *LogicalNot* performs element-wise logical negation operation with given tensor, based on the following mathematical formula:
\f[
a_{i} = \lnot a_{i}
\f]
**Examples**
**Attributes**: *LogicalNot* operation has no attributes.
*Example 1*
**Inputs**
* **1**: A tensor of type *T_BOOL* and arbitrary shape. **Required.**
**Outputs**
* **1**: The result of element-wise logical negation operation. A tensor of type *T_BOOL* and the same shape as input tensor.
**Types**
* *T_BOOL*: `boolean`.
\f[
a_{i} = \lnot a_{i}
\f]
**Example**
```xml
<layer ... type="LogicalNot">

View File

@ -2,7 +2,7 @@
**Versioned name**: *LogicalOr-1*
**Category**: Logical binary operation
**Category**: *Logical binary*
**Short description**: *LogicalOr* performs element-wise logical OR operation with two given tensors applying multi-directional broadcast rules.

View File

@ -2,7 +2,7 @@
**Versioned name**: *LogicalXor-1*
**Category**: Logical binary operation
**Category**: *Logical binary*
**Short description**: *LogicalXor* performs element-wise logical XOR operation with two given tensors applying multi-directional broadcast rules.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Einsum-7*
**Category**: Matrix multiplication
**Category**: *Matrix multiplication*
**Short description**: *Einsum* performs the Einstein summation convention on the operands.

View File

@ -2,7 +2,7 @@
**Versioned name**: *MatMul-1*
**Category**: Matrix multiplication
**Category**: *Matrix multiplication*
**Short description**: Generalized matrix multiplication

View File

@ -2,7 +2,7 @@
**Versioned name**: *Broadcast-1*
**Category**: Data movement
**Category**: *Data movement*
**Short description**: *Broadcast* replicates data on the first input to fit a given shape on the second input.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Broadcast-3*
**Category**: Data movement
**Category**: *Data movement*
**Short description**: *Broadcast* replicates data on the first input to fit a given shape on the second input.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Concat-1*
**Category**: data movement operation.
**Category**: *Data movement*
**Short description**: Concatenates arbitrary number of input tensors to a single output tensor along one axis.

View File

@ -2,7 +2,7 @@
**Versioned name**: *GatherElements-6*
**Category**: Data movement operations
**Category**: *Data movement*
**Short description**: *GatherElements* takes elements from the input `data` tensor at positions specified in the `indices` tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *GatherND-5*
**Category**: Data movement operations
**Category**: *Data movement*
**Short description**: *GatherND* gathers slices from input tensor into a tensor of a shape specified by indices.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Gather-1*
**Category**: Data movement operations
**Category**: *Data movement*
**Short description**: *Gather* operation takes slices of data in the first input tensor according to the indices specified in the second input tensor and axis from the third input.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Gather-7*
**Category**: Data movement operations
**Category**: *Data movement*
**Short description**: *Gather* operation takes slices of data of the first input tensor according to the indices
specified with the second input tensor and axis from the third input. Semantics of this operation is identical to

View File

@ -2,11 +2,12 @@
**Versioned name**: *Gather-8*
**Category**: Data movement operations
**Category**: *Data movement*
**Short description**: *Gather* operation takes slices of data of the first input tensor according to the indices
specified with the second input tensor and axis from the third input. Semantics of this operation is identical to
TensorFlow\* [Gather](https://www.tensorflow.org/api_docs/python/tf/gather) operation.
TensorFlow\* [Gather](https://www.tensorflow.org/api_docs/python/tf/gather) operation but also includes
support of negative indices.
**Detailed description**
@ -15,6 +16,8 @@ TensorFlow\* [Gather](https://www.tensorflow.org/api_docs/python/tf/gather) oper
Where `data`, `indices` and `axis` are tensors from first, second and third inputs correspondingly, `b` is
the number of batch dimensions. `N` and `M` are numbers of dimensions of `data` and `indices` tensors, respectively.
Allowed values for indices are in the range `[-data.shape[axis], data.shape[axis] - 1]`. If index value exceed allowed
range output data for corresponding index will be filled with zeros (Example 7).
**Attributes**:
* *batch_dims*
@ -142,13 +145,23 @@ data = [1, 2, 3, 4, 5]
output = [1, 4, 5]
```
Example 7 with indices out of the range:
```
batch_dims = 0
axis = 0
indices = [3, 10, -20]
data = [1, 2, 3, 4, 5]
output = [4, 0, 0]
```
**Inputs**
* **1**: `data` tensor of type *T* with arbitrary data. **Required.**
* **2**: `indices` tensor of type *T_IND* with indices to gather. 0D tensor (scalar) for indices is also allowed.
The values for indices are in the range `[-data[axis], data[axis] - 1]`.
Negative values of indices indicate reverse indexing from `data[axis]`.
The values for indices are in the range `[-data.shape[axis], data.shape[axis] - 1]`.
Negative values of indices indicate reverse indexing from `data.shape[axis]`.
**Required.**
* **3**: Scalar or 1D tensor `axis` of *T_AXIS* type is a dimension index to gather data from. For example,

View File

@ -2,7 +2,7 @@
**Versioned name**: *Pad-1*
**Category**: *Data movement operations*
**Category**: *Data movement*
**Short description**: *Pad* operation extends an input tensor on edges. The amount and value of padded elements are defined by inputs and attributes.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Reverse-1*
**Category**: data movement operation
**Category**: *Data movement*
**Short description**: *Reverse* operations reverse specified axis in an input tensor.

View File

@ -2,7 +2,7 @@
**Versioned name**: *Roll-7*
**Category**: data movement operation
**Category**: *Data movement*
**Short description**: The *Roll* operation shifts elements of a tensor along specified axes.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ScatterElementsUpdate-3*
**Category**: Data movement operations
**Category**: *Data movement*
**Short description**: Creates a copy of the first input tensor with updated elements specified with second and third input tensors.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ScatterNDUpdate-3*
**Category**: Data movement operations
**Category**: *Data movement*
**Short description**: Creates a copy of the first input tensor with updated elements specified with second and third input tensors.

View File

@ -2,7 +2,7 @@
**Versioned name**: *ScatterUpdate-3*
**Category**: Data movement operations
**Category**: *Data movement*
**Short description**: *ScatterUpdate* creates a copy of the first input tensor with updated elements specified with second and third input tensors.

Some files were not shown because too many files have changed in this diff Show More