Commit Graph

85 Commits

Author SHA1 Message Date
Jozef Daniecki 4b1efeb858
Group convolution (#3995)
* GroupConvolution SLT style refactoring.

* Add GroupConvolution 1D SLT.

* Add GroupConvolution Serialization SLT.

* Add GroupConvolution ref impl to evaluates_map.

* Add GroupConvolution ref impl.

* Fix compilation on master.

* GroupConvolution specification update.

* Readability refactoring.

* Specification refactoring.

* Added 'output' section in GropuConvolution spec.
2021-02-03 16:07:01 +03:00
Nikolay Shchegolev 4d9a030ff2
[CPU] Enable CTCGreedyDecoderSeqLen. (#3890) 2021-02-03 12:36:41 +03:00
Jozef Daniecki c1b0b03750
Convolution (#3922)
* Move Convolution and ConvolutionBackpropData ref impls into separate files.

* Add convolution unit tests.

* New convolution reference implementation.

* Remove unused convolution ref impl argument.

* Fix style.

* Revert "Remove unused convolution ref impl argument."

This reverts commit 739065d0d0.

* WA for arm-plugin: additional include with ConvolutionBackpropData.

* Style format in Convolution SLT CPU instantiation.

* Add 1D Convolution SLT CPU tests.

* Add Convolution Serialization SLT.

* Update source banners with 2021 date.

* Specification review.

* Readability improvement in padding detection.

* Refactoring regarding Tensor usage.

* Iteration over tensor slices made more readable.

* Code refactored to use only one convolution implementation.

3D convolution is used to compute also in 1D & 2D case (parameters,
inputs and filters shapes are adjusted accordingly).

* Removed Tensor abstraction.

* Name unnamed namespace as convolution_details.

* Refactoring: replaced std::next + negative index with std::prev.

* Specification refactoring.

* Revert "Name unnamed namespace as convolution_details."

This reverts commit cea526ec49.

* Added new convolution() overload.

* Fix legacy convolution() overload (needed for kmb-plugin).

* Reduced number of template type arguments in convolution ref impl.

* Added 'output' section in Convolution spec.

* Remove floating round type configuration.
2021-02-02 11:05:39 +03:00
Maxim Andronov 537179b235
[CPU] FakeQuantize decomposition (#3741) 2021-02-02 09:37:02 +03:00
Pavel Esir efa5b6063a
[nGraph] Fix bound check for reference GatherElements (#3981)
* fix bound check for reference GatherElements

* apply review comments
2021-01-25 15:10:52 +03:00
iliya mironov c083e7fb63
Imironov/ref ngraph ctc gready decoder (#3867)
* Add ctc gready decoder sec len op to ngraph

* Remove some comments

* Add second constructor

* Fix code style

* Fix code style

* Add unit tests

* Add tests to cmake

* Fix according to review

* Fix code style

* fix

* Change input layoyt

* Fix code style

* Add unit tests

* Add 3 input tensor check

* Update shell impl

* Fix code style

* Fix code style

* Add doxy gen

* Fix code style

* Update doxigen

* Update constructor description

* Fix code style

* Refactoring code

* fix code style

* Optimize op constructor

* Add macros. Optimize code for validate_and_infer_types

* Refactoring code

* Fix code style

* Fix code style

* Fix check blanck_index shape

* Fix code style

* Add ref impl

* Fix unit test for dynemic case

* Fix code style

* Fix copyryting

* reverse changes

* Update copyrite

* Add ref implemintation

* rollback

* Fix code style

* Fix code style

* Fix

* Add unit tests

* Refactoring ref impl

* Refactoring code style

* Fix code style

* Fix code style

* fix unit tests

* Refactoring code

* Refactoring code

* Fix code style

* Refactoring unit tests

* Fix style

* Fix style
2021-01-25 08:19:03 +03:00
Ilya Lavrenov 9cfe909e1e
Unused variables (#3963)
* Added -Wused-variable flag

* Fixes for clang compiler

* Removed wrong -Wno-error from protobuf compilation

* More fixes
2021-01-22 17:41:15 +03:00
Piotr Szmelczynski e346bdde14
Maxpool fix bug (#3718)
* style-apply

* Update spec

* Remove maxpool back_prop method

* style-apply
2021-01-22 14:19:34 +03:00
Maxim Vafin 71253153ac
Add MVN-6 reference implementation and tests (#3896)
* Add MVN-6 reference implementation and tests

* Return old version reference

* Apply feedback

* Fix build
2021-01-21 21:08:32 +03:00
Gabriele Galiero Casay e026d54ed2
Develop ConvertLike Reference Implementation (#3857)
* ConvertLike: Develop reference implementation

* ConvertLike: Enable single layer tests for GPU plugin

* ConvertLike: Enable bf16 precision for evaluate method

* ConvertLike: Add unit tests

* ConvertLike: Add dynamic shape test case

* ConvertLike: Remove unnecessary ngraph namespace and using declaration for v1::ConvertLike

* ConvertLike: Simplified reference::convert by using std::enable_if
2021-01-21 08:31:10 +03:00
Gabriele Galiero Casay a555908858
Develop Bucketize Reference Implementation (#3693)
* Bucketize: Revise op class and add type_prop unit tests

* Bucketize: Develop reference implementation

* Bucketize: Add unit tests

* Bucketize: Add single layer test and cpu instantiation

* Bucketize: Add unit test with empty buckets for INTERPRETER

* Bucketize: Typo in buckets element type check

* Bucketize: Add custom generated inputs in single layer test class

* Bucketize: Use random_device to generate seed for data blob

* Bucketize: Remove unsupported f64 precision

* Bucketize: Add function description

* Bucketize: Remove randomness of inputs generation by using static seed

* Bucketize: Support different precisions for data and bucket inputs

* Bucketize: Refactor type_prop tests and improve backend unit test coverage
2021-01-15 17:51:58 +03:00
Tomasz Dołbniak 303c549791
nGraph copyright update for 2021 (#3832) 2021-01-13 16:43:04 +03:00
Ilya Lavrenov 37e051b48b
Suppress multiple linker warnings for ngraph on Win32 (#2879)
* Fixed multiple linker warnings on Win32

* Fixed linkage on Windows

* Fixed compilation for Win32

* Last fix
2021-01-13 06:40:21 +03:00
Ilya Lavrenov ba08abb388
Set default visibility only for ONNX (#3798) 2021-01-12 07:14:48 +03:00
Pavel Esir d9bd59c7a0
Evaluate, ngraph_reader check and Python nGraph API for GatherElements (#3624)
* add GatherElements evaluate to interpreter backend

* Finally successfully run on backend

* debugged non-typical cases

* added ngraph_reader tests for GatherElements

* added Python API for GatherElements

* apply_style

* corrected python api tests

* applied comments

* style-apply

* finally corrected nGraph Python API for GatherElements

* minor corrections

* style-apply

* replaced quotes

* added blank line

* corrected evaluate and disabled unit-tests for not yet supported plugins

* style-apply

* applied comments: negative tests added and additional checks in evaluate

* added bound check for axis in evaluate

* style-apply

* apply review comments

* fast correct evaluate for GatherElements

* style-apply

* revert changes in interpreter unit_test.manifest for Gather

* 🚀 optimized general solution; added separate calculation for 2D

* 🚀 applied comments

* style-apply
2021-01-11 19:52:47 +03:00
Mateusz Tabaka 1e418ca549
Revert PSROIPooling average logic introduced in 305f0056059b091e0290b… (#3765)
* Revert PSROIPooling average logic introduced in 305f005605

* fix computing bin coords in average mode
2021-01-11 17:30:53 +03:00
Ilya Lavrenov 0d22328a25
Partially removed ngraph cmake duplication with IE cmake (#3751)
* Partially removed cmake duplication with IE cmake

* Deprecated API usage: fixed or suppressed

* Fix for TypeRelaxed

* Canonical form for ngraph includes

* Removed extra visibilit settings; removed graphviz find_package

* Removed var_functions module; canonical includes for ngraph::reference

* Fixed deprecated API in ngraph tests

* Re-use standard cmake macro for shared libs

* Trying to fix ONNX importer tests
2021-01-11 14:49:33 +03:00
Patryk Elszkowski bd9bbe09c3
New Gather op reference implementation. (#3633)
* New Gather op reference implementation.

* Unify span implementation for gather and gather_nd.

Create span.hpp for common implementation of span.

* Move span to utils directory.

* Address review comments.

* update span

* Address PR comments.

Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
2020-12-23 08:02:57 +03:00
Ilya Lavrenov 9465073f58
Introduce IEDevScripts package (#3661)
* Refactored developer package

* Added fuzzing for CMAKE_MODULE_LINKER_FLAGS as well

* Added options for developer package

* More improvements

* Further improvements

* Removed global CMAKE_MODULE_PATH population

* Fixes

* Final fixes

* Fixed python build

* Fix for TBB

* Fixed Find TBB

* Fixed install

* Fixes for OV features

* Split developer targets per component

* Fixed IE build tree config

* Fixed ITT

* Fixed review comments

* Clean export dependencies

* Fixed export of pugixml

* Added IEDevScripts_DIR for Android

* Fixed Android #2

* Fixed Android #3

* Fixed python cc

* Disabled Core threading tests on GNA
2020-12-22 18:44:59 +03:00
Mateusz Tabaka 47485646bb
Revise DetectionOutput reference implementation (#3448)
* Revice DetectionOutput reference implementation

Ticket: 37433

* fix test_create_op

* fix test_dyn_attributes

* apply code format

* fix crash on Windows when variance_encoded_in_target == 1

* add more checks for DetectionOutput inputs

* Fix single layer tests

* apply code format

* fix ssd_vgg16_300 inference with batch size > 1

* update types in docs

* fix crash on windows

* apply code style

* fix python tests

* fix setting output type

* change False to false and True to true in docs

* Allow prior boxes to have different type than box logits

Some models work that way

* simplify output shape calculation

* fixes to docs
2020-12-16 11:02:12 +03:00
Patryk Elszkowski d8f00acd39
StridedSlice : slice and reverse new ref implementations (#3188)
* Create new iterators which allow to iterate over coordinates.

Use new iterators to speedup StridedSlice reference implementation.

* Call memcpy if reverse ref impl has nothing to reverse.

* Add unit tests for coordinate range.

* Change coordinates::RangeIterator to template.

* Yet another slice and reverse implementation.

Remove all stuff connected with ranges.

* Apply review suggestions.

* Back to ranges which base on CoordinateTransform.

* try to fix x84_32 build

* try to fix x84_32 build

* Ranges which return start, no, stride, direction.

* add input validation to coordinate_index

enable coordinate_range validation tests

* add some doxygens

* fix range increament

* add empyt range

* move SliceRange::get_value to cpp file

Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
Co-authored-by: ggalieroc <gabriele.galiero.casay@intel.com>
2020-12-10 18:36:12 +03:00
Liubov Batanina 6c0201108f
Added missing headers to MVN ref (#3533) 2020-12-10 18:35:27 +03:00
Ilya Churaev 9ea24c5b33
Removed reference implementations from tests (#3541) 2020-12-10 12:00:48 +03:00
Gabriele Galiero Casay 6888ffa328
Revise Reference Implementation of Range op (#3409)
* Range: Align operator with spec and add unit tests

* Range: Remove output shape from range ref impl signature

* Range: Exclude backend unit tests for CPU and GPU due to unsupported dynamic ops

* Range: Add single layer test class for Range-4

* Range: Add unit test for shape inference

* Range: Add unit tests for i32 and f32

* Range: Refactor Range v0 backend test and added test for f32 type

* Range: Add floating point tolerance in unit tests to avoid failures due to precision

* Range: Add subgraph tests for Range add element-wise

* Range: Refactor Range class for single layer tests and add range add element-wise test with truncated inputs
2020-12-08 16:05:00 +03:00
Mateusz Tabaka 305f005605
Add reference implementation for PSROIPooling operator (#3245)
* Add reference implementation for PSROIPooling operator

* fix test_roi_pooling

* use std::roundf

* remove unnecessary copies in single layer tets

* Fixes after review

* fixes after review

* use element::Type_t instead of element::

* apply code format

* add PSROIPooling to evaluates_map

* apply code format
2020-12-08 06:35:52 +03:00
Ilya Churaev 256e047ad2
Revert "Deprecate global element types (#3444)" (#3468)
* Revert "Deprecate global element types (#3444)"

This reverts commit 071fb9d1c6.

* Fixed code style
2020-12-04 13:28:53 +03:00
Mikhail Treskin 6467c64000
Remove opset0 support and undesired passes from Interpreter backend (#1469)
* Move evaluate() interface from some OPs to Interpreter

* commit

* Move shuffle channels reference to OP's evaluate

* Add some operations missed in evaluate_node

* Fix select references invocation from evaluate_node()

* Activation refs (#2)

* HardSigmoid

* Elu

* Selu

* Gelu

* Move to test runtime

* Rollback donwgrade passes delition

* Initial batch to space refs

* Return opset1_upgrade

* WIP: Add space to batch evaluate

* Fix space to batch

* add evaluates function in evaluates_map (#4)

* Add space to batch evaluate

* Fix crop in batch to space references

* Remove vectors reallocation in evaluates for b2s and s2b

* .

* Add SpaceToDepth evaluate

* Add depth to space evaluate

* Remove code duplication depth to space evaluate

* Fix some failed layer tests

* Ngraph test (#3)

* Remove some v0 ops & fix some tests

* Fixes BatchNorm

* Next

* dd

* s

* Add dot & replace slice refs

* d

* dkj

* Review fixes part 1

* Fixes. Part 2

* Fixes. Part 3

* Enable cells refs in evaluate map

* Fix some failed layer tests

* Some more fixes

* Fix code style (#6)

* Tests (#7)

* PriorBox

* Mod

* NormilizeL2

* Update prior_box.hpp

* Fix one hot ref call

* .

* Select (#8)

* Select

* Fix code style

* Fix select messages

* ReverseSeq (#9)

* ReverseSeq

* Select

* ExtractImagePatches, Seqence

* Fix Code Style

* remove extra

* Remove etra line@

* Add fake quantize reference

* Align convolution layer tests instantiations with updated definition

* Disabled some failed LPT tests

* Disabled some failed LPT tests

* Remove undesired changes

* Update unit-test manifests + some code cleanup

* Fix code style (#10)

* Normalize L2 refs support (from PR #2327)

* Fix code style

* Apply review comments. Part 1 (#11)

* Apply first part of review comments

* Update onnx_import.in.cpp

* Remove redundant reshape from shuffle_channels evaluate

* Decompose GroupConvolution

* [IE Ngraph] Fix some operation inheritance  (#13)

* [IE TESTS] Depth2Space

* Space2Depth

* ShuffleChannels

* Fix ode style

* Fix code style

* [IE NGraph] Remove decompose op (#14)

* .

* Fix loosing control dependency in replace_node

* Fix loosing control dependency in replace_node

* Fix code style

* Fix FQ references build on windows

* Fix code style

* Apply comments (#15)

* [Ie Ngraph] Remove using v1::Add

* [Ie Ngraph] Remove using v1::Mutliply

* [Ie Ngraph] Remove using v1::Subtract

* [Ie Ngraph] Remove using v1::Divide

* [Ie Ngraph] Remove using v1::Equal

* [Ie Ngraph] Remove using v1::Greater

* [Ie Ngraph] Remove using v1::Greater_eq

* [Ie Ngraph] Remove using v1::Less

* [Ie Ngraph] Remove using v1::LessEq

* [Ie Ngraph] Remove using operator+

* [Ie Ngraph] Remove using operator/

* [Ie Ngraph] Remove using operator*

* [Ie Ngraph] Remove using operator-

* Fix code style

* Ci (#16)

* Fix CentOS compilation

* Revert ngraph::op::vo::Multiply removing due to OpenCV

* Android fix (#17)

* fix failures

* Fix code style

* Add (#18)

* Android fix

* Add

* Add in opset1 upgrade pass

* Add in opset1 upgrade pass

* Remove v0::Add, Reverted removing v0::Multiply (#19)

* Remove overloaded math operators from PyNgraph

* Remove overloaded math operators from PyNgraph

* Fix gna tests (#20)

* Fix gna tests

* Squashed commit of the following:

commit 565b504c1c
Author: Alexander Zhogov <alexander.zhogov@intel.com>
Date:   Tue Oct 13 13:27:34 2020 +0300

    GitHub CI: Add files_size.yml (#2570)

    * GitHub CI: Add files_size.yml

    * Update job name

commit ab0fb29853
Author: Vladislav Vinogradov <vlad.vinogradov@intel.com>
Date:   Tue Oct 13 11:37:30 2020 +0300

    [IE][BUILD] Fix C5208 warning under Windows (#2628)

    * C++ feature in C `typedef struct` code.
    * The warning can be promoted to error in dependent projects.

    C5208: unnamed class used in typedef name cannot declare members other than
    non-static data members, member enumerations, or member classes

commit 15a338e89b
Author: helmutg <helmut@subdivi.de>
Date:   Mon Oct 12 22:24:24 2020 +0200

    add build option USE_SYSTEM_PUGIXML (#2502)

    It allows skipping inference-engine/thirdparty/pugixml and using the
    system copy instead.

    Thanks to @Osse for helping understand cmake scoping rules.

    Co-authored-by: Helmut Grohne <helmut.grohne@intenta.de>

commit 7ac8cd8586
Author: Alexander Zhogov <alexander.zhogov@intel.com>
Date:   Mon Oct 12 19:23:00 2020 +0300

    Azure CI: Fix nGraph ONNX

commit 3a2e33962c
Author: Alexander Zhogov <alexander.zhogov@intel.com>
Date:   Mon Oct 12 19:20:28 2020 +0300

    Azure CI: Disable steps in nGraph ONNX

commit 5835974fad
Author: azhogov <alexander.zhogov@intel.com>
Date:   Mon Oct 12 18:46:14 2020 +0300

    Azure CI: Add linux_ngraph_onnx.yml

* LRN Reference (#21)

* Disable failed tests on ia32

* Remove redundant broadcast from MVN ref

* Fix missed GatherND in opset_int_tbl + code style

* Remove one extra temporary buffer from MVN ref

* Merge master (#22)

* Leaky relu transformation refactor (#2640)

* Refactored LeakyRelu transformation

* Added unit test for LeakyRelu transformation + removed duplicate test function valued_const

* nGraph implementation of NMS-5 (without `evaluate()`) (#2651)

* Written nGraph NMS-5 without evaluate().

* Used NGRAPH_RTTI_DECLARATION.

* setupvars.sh: Updated setting pyenv error to warning. (#2663)

* Fix itt build (#2662)

* Loop-5 operation specification (#2291)

The Loop-5 operation specification

* Time tests improvements (#2642)

* Remove extra functions from run_timetest.py

* Add `log.debug` of raw and aggregated statistics in run_timetest.py

* Implement storing of models locally for test_timetest.py

* Fixed CVS-35316 (#2072)

* Extend MO for operation GatherND (#2540)

* Extend MO for operation GatherND

* Update documentation

* Rename GatherNd.py to gathernd.py

Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Add hsigmoid op to ngraph (#2647)

* [IE CLDNN] Fixes for GatherTree and ReverseSequence  (#2660)

* ReorgYolo reference implementation (#2384)

* Align ReorgYolo to the spec (vector strides -> int stride)

* ReorgYolo ref impl

* ReorgYolo evaluate method

* ReorgYolo tests

* Tests update

* Style apply

* Add some coments

* Code refactor

* Comment update

* Style apply

* Build fix, mark evaluate as override

* Revert "Align ReorgYolo to the spec (vector strides -> int stride)"

* Use int_executable instead of evaluate

* Use char* instead of templates

* Code refactor

* Comment update

* Code review comment

* Add constructor aligned with spec

* Update shape validation

* Update attributes tests

* Add type_prop tests

* Update backend tests

* Add single layer tests

* Update the spec

* Remove wrong transformation test

* Add ReorgYolo to evaluates_map

* code style

Co-authored-by: Evgeny Lazarev <evgeny.lazarev@intel.com>
Co-authored-by: Vladimir Gavrilov <vladimir.gavrilov@intel.com>
Co-authored-by: Artyom Anokhov <artyom.anokhov@intel.com>
Co-authored-by: Andrey Somsikov <andrey.somsikov@intel.com>
Co-authored-by: Vitaliy Urusovskij <vitaliy.urusovskij@intel.com>
Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: iliya mironov <iliya.mironov@intel.com>
Co-authored-by: Vladimir Paramuzov <vladimir.paramuzov@intel.com>
Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* RegionYolo

* Apply review comments

* Merge remote-tracking branch 'upstream/master' into update_evaluates

# Conflicts:
#	ngraph/core/src/op/mvn.cpp
#	ngraph/test/backend/fused_op.in.cpp
#	ngraph/test/runtime/ie/unit_test.manifest
#	ngraph/test/runtime/interpreter/int_executable.hpp
#	ngraph/test/runtime/interpreter/opset_int_tbl.hpp
#	ngraph/test/runtime/interpreter/unit_test.manifest
#	ngraph/test/runtime/opset0_tbl.hpp

* Apply code style

* Apply comments

* Apply code style

* Fix RegionYolo evaluate redefinition

* Removed defines from evaluates map

* Apply code style

* Fix MVN ref

* rename select reference argument

* Fix code style

* Fix Fake Quantize references calculation (#24)

* Fix MVN ref

* Fix MVN & adding NMS

* Fix TI

* Temporary relax comparison threshold for FQ SLT

* Fix GPU LPT Tests

* Add explicit rounding mode seetting in FQ references

* Apply code style

* Rollback op_is test deletion

* Apply code style

* Fix merge conflict resolving issues

* Apply code style

Co-authored-by: Irina Efode <irina.efode@intel.com>
Co-authored-by: Anton Zaytsev <anton.zaytsev@intel.com>
Co-authored-by: Evgeny Lazarev <evgeny.lazarev@intel.com>
Co-authored-by: Vladimir Gavrilov <vladimir.gavrilov@intel.com>
Co-authored-by: Artyom Anokhov <artyom.anokhov@intel.com>
Co-authored-by: Andrey Somsikov <andrey.somsikov@intel.com>
Co-authored-by: Vitaliy Urusovskij <vitaliy.urusovskij@intel.com>
Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: iliya mironov <iliya.mironov@intel.com>
Co-authored-by: Vladimir Paramuzov <vladimir.paramuzov@intel.com>
Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
2020-12-03 12:36:34 +03:00
Ilya Churaev 071fb9d1c6
Deprecate global element types (#3444)
* Removed global types

* Fixed ONNX importer and nGraph tests

* Fixed code style

* Disable some warnings for Windows

* Try to fix python build

* Extend deprecation message

* Fixed code style

* Fixed comments
2020-12-02 21:27:17 +03:00
Patryk Elszkowski 8e64eb21cb
faster implementation of gather_nd operator for reference implementations (#2897)
* faster implementation of gather_nd operator for reference implementations

* remove old impl and time measurements

* exclude test for gather_nd for IE_CPU (output mismatch)

* apply review comments and rename variables for clarify

* rename variables according to PR comments

* try to apply all PR suggestions

* fix indices calcualtions

Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
2020-12-01 12:48:58 +03:00
Gabriele Galiero Casay ac8a39da87
Reference Implementation of ROIPooling op (#2903)
* ROIPooling: Specification and op class alignment

* ROIPooling: Add check to input tensor type to be aligned with spec

* ROIPooling: Corrected spec description for input tensor shape and box coordinates

* ROIPooling: Changed attributes pooled_h and pooled_w from Shape to plain int

* Revert "ROIPooling: Changed attributes pooled_h and pooled_w from Shape to plain int"

This reverts commit d49cfa8e53.

* ROIPooling: Further specification changes

* ROIPooling: Rename enum class ROIPoolingMethod methods

* Fix style

* ROIPooling: Draft reference implementation

* ROIPooling: Adjust feature map element type to float for attribute unit test

* ROIPooling: Add single layer test class

* ROIPooling: Corrected output index to iterate through output tensor elements

* ROIPooling: Added validation checks for input types in op constructor

* ROIPooling: Add unit tests

* ROIPooling: Attributes unit test changed to align with spec

* ROIPooling: Add check for batch id in reference implementation and unit test

* ROIPooling: Refactor single layer test class

* ROIPooling: Add test for invalid pooling method

* ROIPooling: Clean up unnecessary function declaration

* ROIPooling: Remove duplicated default ROIPooling method in op constructors

* ROIPooling: Add Infer method to generate suitable ROI data

* ROIPooling: CPU single layer test instantiation for max method

* ROIPooling: Remove enum class ROIPoolingMethod

* Revert "ROIPooling: Clean up unnecessary function declaration"

This reverts commit 074b540dea.

* ROIPooling: Refactor single layer tests after removing enum class ROIPoolingMethod

* ROIPooling: Add attribute checks in op constructor to align with spec and unit tests

* Resolve CI failure: clang could not resolve static conversion from uint64_t to size_t

* ROIPooling: Fix for output index calculation to loop through all ROIs

* ROIPooling: Add unit test for bilinear interpolation method

* ROIPooling: Add CPU single layer test instantiation for bilinear method

* ROIPooling: Clean up unnecessary enum class for pooling method

* ROIPooling: Add myriad single layer test instantiation

* ROIPooling: Add F16 precision single layer tests for CPU plugin

* ROIPooling: Add node validation check for string method attribute in constructor and unit tests

* ROIPooling: Spec changes to improve understanding of the operation

* ROIPooling: Fix for bilinear method when pooled size is 1x1

* ROIPooling: Add unit test for bilinear method and pooled size 1x1

* ROIPooling: Fix to broken format of specifications

* ROIPooling: Disable Myriad single layer tests

* ROIPooling: Handle dynamic dims and ranks for input tensors and unit tests

* ROIPooling: Code clean up

* ROIPooling: Address review comments

* ROIPooling: Changed location for makeROIPooling helper method

Co-authored-by: Kirill Molchanov <kirill.molchanov@intel.com>
2020-11-30 06:59:31 +03:00
Ivan Tikhonov ff1046c0e1
Fix opset5::Loop specification for sliced input (#3230)
* Disable v10 serealizer (#3184)

* Disable v10 serealizer

* Fixed comments

* Backport of PR #3092 - TopK sorting fix (#3195)

* [IE] - Interpolate ONNX workaround (#3203)

Co-authored-by: DariaMityagina <daria.mityagina@intel.com>

* Fix NMS1/3/4 to Legacy conversion (#3210)

* Fix NMS1/3/4 to Legacy conversion

* Added functoinal tests

* [LPT] Transpose, MatMul: Klocwork fixes (#3192)

* Update install_openvino_dependencies.sh (#3196)

* [ MO TF ] TF FakeQuantize normalization fix (#3180)

* Specify sliced input of Loop op

* Enable back rpecalcu;ated ref falues for TrivialLoop tests

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>

* [NGRAPH] Add sliced input to Loop op

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>

* Add loop test with input slicing

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>

* One more test on loop

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>

* [ nG: TI ] Fix for reshaping TensorIterator

* Trigger CI

* Fix dyn auto slicing tests

* ngraph codestyle

* misprint

* style

* style

* Fix reshaping Loop

* ngraph codestyle

* delete unnecessary comments

* Revert "Disable v10 serealizer (#3184)"

This reverts commit 5abbe2fec5.

Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
Co-authored-by: Andrey Sokolov <andrey.sokolov@intel.com>
Co-authored-by: DariaMityagina <daria.mityagina@intel.com>
Co-authored-by: Gleb Kazantaev <gleb.kazantaev@intel.com>
Co-authored-by: Vladislav Golubev <vladislav.golubev@intel.com>
Co-authored-by: Dmitrii Denisov <dmitrii.denisov@intel.com>
Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com>
Co-authored-by: Alexander Peskov <alexander.peskov@intel.com>
2020-11-22 13:29:14 +03:00
Tomasz Jankowski c36aaf8621
nGraph: Fix TopK output sorting by index (#3092) 2020-11-18 14:14:33 +01:00
Piotr Szmelczynski f90e7b7443
Hard sigmoid ref impl (#3100)
* update HardSigmoid spec

* create HardSigmoid ref impl

* add HardSigmoid to int_executable

* create unit-tests for HardSigmoid

* create onnx_model_hard_sigmoid test

* create onnx prototxt model for hard sigmoid

* add backend/hard_sigmoid to CMakeLists

* Change hard sigmoid prototxt to use attributes

* Change hard_sigmoid onnx model test to have 1 input

* style apply

* Change alpha and beta parameters to be pass by value
2020-11-18 15:52:33 +03:00
Chenhu Wang be044a7003
[CPU] Interpolate operation improvements (#2366)
* interpolate improvement

* JITTED cubic mode

* fix 'code is too big' when JIT

* extend test to cover tail code path

* transformation of interpolate1 to interpolate4

* add low precision transformation for interpolate4
2020-11-17 10:42:34 +03:00
Maxim Andronov a166f95acc
[IE TESTS] Added test for NMS (#2830) 2020-11-17 09:33:19 +03:00
Ivan Tikhonov b45e1a25a5
LSTM/GRU/RNN Sequences : support for seq_lengths input (#2788)
* sequences to ti transformations, support for seq_lengths input, update reference implemetations, add new tests

* fix python api, update sequences to ti transformation

* fix sequences to ti transformation

* Update sequences to TI transformation: fix reverse sequence support

* update single layer tests, fix TI reference impl, fix Sequences to TI transformations

* ngraph code style

* fix build

* fix ngraph python api

* resolver review comments, refactoring

* Resolve review remarks

* delete xfail
2020-11-17 07:04:20 +03:00
Alexandra Sidorova a8e581ff8b
[CPU] Converted Pad Layer to MKLDNNNode and added more optimized implementations (#2586)
Pad-1: fixed ngraph reference for symmetric mode and added cpu tests
2020-11-12 14:25:42 +03:00
Ilya Churaev f1c8ecb40b
Fixed KW for Windows (#3089)
* Fixed KW for Windows

* Fixed code style

* Fixed compilation
2020-11-12 13:34:28 +03:00
Tomasz Dołbniak 20df6eada6
Removal of obsolete constant folding passes (#2902)
* Redundant op::Max CF removal

* Redundant op::Min CF removal

* Redundant op::Sum & op::Product CF removal

* CF Min and Max using evaluate()

* Arithmetic reduction CF pass removal

* Quantize op CF pass removal

* Convert op CF pass removal

* Logical reduction CF pass removal

* Select op CF pass removal

* OneHot CF pass removal

* Code formatting

* ScatterElements CF pass removal

* Gather CF pass removal

* Disable a Quantize op test that fails in CI

* CF pass cleanup

* Convert op cleanup and test adaptation to spec

* Possible fix for failing VPU tests

* Limit the types used in OneHot::evaluate

* Quantize op evaluator removal

* Refactor of Gather evaluator
2020-11-11 15:49:40 +03:00
Ivan Tikhonov c309bb77d2
Reference implementations for Loop and TensorIterator ops (#2978)
* Loop op ngraph implementation, update IE IR Reader and ngraph to cnn converter

* refactoring SubGraphOp class

* type prop unit tests

* ngraph code style

* update comment

* single layer tests for Loop operation

* fix file name

* Add SpecialBodyPorts attribute in Loop op, update single layer tests

* first debug version

* more tests

* missing test file

* removed not needed shapes from test data

* move test data to new folder

* shape infer tests

* Added execution tests

* add several new tests cases, strict checks in Loop impl, temporary disable single layer tests

* ngraph codestyle, refactoring, clone_new_args test

* resolve review remarks

* fix build

* fix tests

* more execution tests

* add a new constructor of Loop op, resolve review remarks

* execution tests

* synchro with current version

* handle scalars and more tests

* scalar test enabled

* loop reference impl

* bug fixes in tests, onnx importer part and in the ref implementation of the Loop op

* applied remarks

* handle unsupported cases

* rewrite unit tests

* update INTERPRETER manifest

* is_termination_condition_always_true simplification

* [TEST] update python models tests

* review remarks

* added xfail to tiny_yolov3

* missing model test

* revert test data

* fixed numbers of failing tests

* fixed failed test description

* fix test message

* fix xfail test

* reference implementation for ngraph::function

* update loop reference implementation

* Refactor loop reference implementation

* ngraph codestyle

* Refactoring

* Submodule update

* Skip check for Reduce ops in mkl for scalar cases, support for yolov3

* fix ngraph reader tests

* revert ceiling op, renaming

* Add allias(Ceiling) for Ceil op in mkl

* delete xfails

* fix build

* single layer tests for tensor iterarator

* Refactor TensorIterator and Loop ref impls

* revert dynamic tensor creation, disable some dynamic test cases

* fix warning

* Resolve review remarks

* revert Predefined values in Loop tests

Co-authored-by: Mateusz Bencer <mateusz.bencer@intel.com>
2020-11-10 15:49:59 +03:00
Mateusz Bencer eeafc8e7dc
Revise Broadcast reference implementation (#2715)
* change tile reference implementation

* remove tile tests from interpreter manifest

* add repeats parameter to tile

* improve tile reference implementation

* add repeats parameter to tile reference call in tile evaluate method

* style apply

* include <numeric>

* add unnamed namespace to helper functions. Change stdio.h to cstdio. Change input_rank to be constant int

* add const reference to parameter repeats in tile reference function

* change createPitches function to use partial_sum instead of accumulate

* change a little bit createPitches function

* style-apply

* fix function naming

* style-apply

* fix calling functions name bug

* Add description of create_pitches function

* first version with debug logs

* reduce footprint

* single layer tests

* added more tests

* fixed handling bool type

* styles applied

* fix tile

* [ONLY DEBUG] print error scenario message

* fixed problem with e2e tests

* fixed casting of start_axis for numpy mode

Co-authored-by: pszmel <piotr.szmelczynski@intel.com>
2020-11-10 10:42:26 +03:00
Vladimir Gavrilov 13b2ef18cc
Apply rest of the comments for NMS-5 review (#3037)
* Commit.

* Moved the preprocessing functions for NMS-5 to Interpreter backend.

* Code style fix.
2020-11-10 07:18:40 +03:00
Vladimir Gavrilov e935d0bd22
Enable NonMaxSuppression-5 operation and various transformations (#2450)
* Some code style fixes.

* Started to write the method v5::NonMaxSuppression::evaluate().

* Started to write nGraph reference implementation of NMS-5.

* Some additions.

* Written preprocessing of boxes data.

* Started to write the function non_max_suppression() that calculates NonMaxSuppression-5 operation.

* Written postprocessing of the evaluate().

* Small fixes.

* Small fix.

* Added include for ngraph/shape.hpp.

* Written the function intersectionOverUnion.

* Some additions.

* Small fix.

* Continued to write the function non_max_suppression().

* Small fixes.

* Small fixes.

* Some changes.

* Some additions.

* Some replacements size_t by int64_t.

* Added casts to float in the construction of selected_score variable.

* Code style fixes.

* Written draft of NMS-5 nGraph reference implementation.

* Code style fixes.

* Started to write tests for void op::v5::NonMaxSuppression::validate_and_infer_types().

* Added tests for scalars/nonscalars.

* Fixes in the test type_prop.nms_v5_output_shape.

* Fixes in tests nms_v5_output_shape_2 and nms_v5_output_shape.

* Written tests for validate_and_infer_types() of NMS-5.

* Code style fixes.

* Now NMS-5 evaluate() can have outputs with calculated shapes.

* Small fixes.

* Corrected tests for NMS-5 validate_and_infer_type().

* Code style fixes.

* Started to write inner version of NMS-5 with static output shapes.

* Written draft of the inner operation NonMaxSuppressionIE3.

* Started to write conversion of op::v5::NonMaxSuppression into NonMaxSuppressionIE3.

* Small changes.

* Some additions.

* Small fixes.

* Fixed typo.

* Fixed typos.

* Written draft of the transformation ConvertNMS5ToLegacyMatcher that converts ngraph::opset5::NonMaxSuppression into op::NonMaxSuppressionIE3.

* Written header file for the transformations from NMS-1, NMS-3, NMS-4 to NMS-5.

* Started to write conversion of NMS-4 to NMS-5.

* Added include for ngraph/opsets/opset4.hpp.

* Started to write conversion of NMS-3 to NMS-5.

* Small fixes.

* Written draft of the conversion of NMS-3 into NMS-5.

* Fixed typo.

* Started to write conversion of NMS-1 to NMS-5.

* Written draft of the conversion NMS-1 to NMS-5.

* Started to write tests for the conversion nGraph NMS-5 to inner NMS.

* Started to write the test ConvertNMS5ToNMSIEStatic.

* Written tests for conversion of nGraph NMS-5 to inner NMSIE3.

* Started to write tests for conversion of previous NMS to nGraph NMS-5.

* Written tests for conversion of old nGraph NMS to NMS-5.

* Started to write tests for opset5::NonMaxSuppression::evaluate().

* Some additions.

* Small fix.

* Written tests for op::v5::NonMaxSuppression::evaluate().

* Used NGRAPH_RTTI_DECLARATION for NonMaxSuppressionIE3.

* Used NGRAPH_RTTI_DECLARATION for NMS-5.

* All static local constants and functions for NMS-5 were moved into non-named namespace.

* Some code style fixes.

* Moved some file.

* Small fix.

* Code style fix.

* Now NMS-5 supports all floating types in inputs 0 and 1.

* Moved some files.

* Fixed include directive in the file convert_nms_5_to_legacy.cpp with transformations NMS-1, 3, 4 -> NMS-5.

* Small changes.

* Deleted conversion NMS-3 -> legacy.

* Small changes.

* Fix in op::v5::NonMaxSuppression::evaluate: output shape [1] instead of [] in the output port 2.

* Code style fixes.

* Deleted conversion of NMS-4 into legacy NMS.

* Deleted redundant ifs.

* Added NMS-5 to Python API.

* Code style fix.

* Small change.

* Fixed element type for constants in the conversion of NMS-5 to NMSIE3.

* Deleted support of f64 in NMS-5.

* Added checks for input element types for inputs #0, #1, #3, #4, #5.

* Small change.

* Now get_floats throws an exception for unsupported types.

* Now nGraph NMS-5 supports 0D and 1D tensors in inputs #2, #3, #4, #5.

* Small fix in test_non_max_suppression.

* Deleted using namespace std

* Fixes in test_non_max_suppression().

* Small fixes.

* Added 'import PartialShape' in test_reduction.py.

* Deleted creating fake inputs in the ctor of op::v5::NonMaxSuppression.

* Deleted creating fake inputs in op::v5::NonMaxSuppression::clone_with_new_inputs.

* Corrections in int64_t op::v5::NonMaxSuppression::max_boxes_output_from_input() const.

* Corrected functions float op::v5::NonMaxSuppression::soft_nms_sigma_from_input() const, float op::v5::NonMaxSuppression::score_threshold_from_input() const,  float op::v5::NonMaxSuppression::iou_threshold_from_input() const.

* Small fixes.

* Deleted commented code.

* Fixes in nms_v5_scalar_inputs_check.

* Some changes.

* Small fixes.

* Code style fixes.

* Small changes.

* Small changes.

* Small fix.

* Deleted commented code.

* Some refactoring in ConvertNMS4ToNMS5 ctor.

* Small fix.

* Common part of conversions NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 was moved into the separate function.

* Now conversions NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 support both 2 inputs, and 5 inputs.

* Now transformations NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 are called from 'umbrella' transformation.

* Now the transformation ConvertNMS5ToLegacyMatcher supports NMS-5 with 2, 3, 4, 5, or 6 inputs.

* The transformation ConvertNMS5ToLegacyMatcher was rewritten using Reshape instead of Unsqueeze.

* Started to rewrite tests for the transformation ConvertNMS5ToLegacyMatcher.

* Some fixes.

* Small fixes.

* Corrected tests for the transformation NMS-5 -> NMSIE3.

* Small formatting fix.

* Now methods max_boxes_output_from_input(), iou_threshold_from_input(), score_threshold_from_input(), soft_nms_sigma_from_input() of op::v5::NunMaxSuppression are public.

* Started to move op::v5::NonMaxSuppression::evaluate() into ngraph/test/runtime/interpreter.

* Added NMS-5 to ngraph/test/runtime/interpreter/int_executable.

* Small fixes.

* Code style fixes.

* Written draft test nonmaxsuppression_center_point_box_format_backend in ngraph/test/backend.

* Small fix.

* Written draft tests of NonMaxSuppression in ngraph/test/runtime.

* Some changes.

* Small changes.

* Disabled IE_CPU tests for NMS-5.

* Deleted op_eval tests for NMS-5.

* Deleted evaluate() method of NMS-5.

* Now all nGraph functions in tests of the transformation NMS-5 -> NMSIE3 have one output.

* Now preprocessing and postprocessing of the calculation of NMS-5 in reference implementation.

* Code style fixes.

* Some fixes in tests for the transformation NMS-5 -> NMSIE3.

* Replaced precision i64 -> i32 for some constants in tests for the transformation NMS-5 -> NMSIE3.

* Written creating CNNLayer for NMS-5.

* Added creating CNNLayer for NonMaxSuppressionIE3.

* some changes.

* Now conversions NMS-1, NMS-3, NMS-4 -> NMS-5  and NMS-5 -> NMSIE3 generate NMS nodes with 5 inputs.

* Fixed ctor in MKLDNN NonMaxSuppressionImpl: validation of number of output edges.

* Added conversion of output_type for NMS-5.

* Fixes in the transformation NMS5 -> NMSIE3.

* Fixes in the conversion of NMS-5 to NMSIE3.

* Fixes in MKLDNN NMS ctor.

* Small fix.

* Fixed tests for the transformation NMS5 -> NMSIE3.

* Fixed tests for conversions NMS-1, NMS-3, NMS-4 -> NMS-5.

* Small fixes in MKLDNN NMS ctor.

* Rewritten create_layer() functions for NMS-5 and NMSIE3 as addSpecificCreator() functions.

* Disabled tests for IE IR reader for NMS-4.

* Deleted debug code.

* Added comment about disabling tests IE_CPU.nonmaxsuppression.

* Written IE IR Reader test for NMS-4.

* Deleted function float_from_constant_node.

* Small fixes.

* Deleted functions function_from_model and construct_weights.

* Small fix.

* Replaced push_back with emplace_back in the conversion of NMS-5 to legacy.

* Small changes.

* Some fixes.

* Refactored reference implementation of NMS-5.

* Moved structure NMSAttributes to unnamed namespace.

* Code style fixes.

* Small fix.
2020-11-06 19:11:04 +03:00
Mateusz Tabaka 731065031d
Remove deprecated v0::TopK (#2947)
* Remove deprecated v0::TopK

* Remove using SortType and using Mode from TopK

* apply code format

* Revert "Remove using SortType and using Mode from TopK"

This reverts commit ee2f99ea89.
2020-11-06 11:36:33 +03:00
Piotr Szmelczynski c8bd92ac0d
Sigmoid revise (#2942)
* remove sigmoid_backprop

* Update Sigmoid spec

* Update Sigmoid spec
2020-11-03 18:16:16 +03:00
Mateusz Tabaka 7b45975af8
Remove obsoleted v0::ReplaceSlice (#2887) 2020-10-30 07:37:15 +03:00
Piotr Szmelczynski 0c373ba79b
Revise ReLU (#2863)
* remove relu_backprop

* Update ReLU spec

* change inputs and outputs subsections of ReLU spec

* Update Mathematical Formulation subsection

* Update Category of ReLU in spec

* Update Short description of ReLU in spec
2020-10-29 11:37:52 +03:00
Andrey Kamaev a6520995fe
MSVC warnings fix (#2620)
* Fix MSVC build warnings in Ngraph

* Fix MSVC build warnings in transformations library

* Fix MSVC build warnings in core,legacy,preprocessing

* Fix MSVC build warnings in XLink

* Fix MSVC build warnings in Myriad plugin
2020-10-27 12:24:57 +03:00
Patryk Elszkowski 5036b12544
enable reference implementation in CTCGreedyDecoder single layer test (#2680)
* enable reference implementation for CTCGreedyDecoder single layer tests

* update unit test to have blnak_index

* remove merge_repeated disable flag for CPU test because CPU impl always
merge

* add CTCGreedyDecoder single layer tests for CPU

* changes to match xPU implementations

* apply reviewers suggestions

Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
2020-10-26 13:34:50 +03:00
Piotr Szmelczynski 85b06835aa
Reference implementation for Tile op (#2641) 2020-10-23 10:39:00 +02:00