Commit Graph

54 Commits

Author SHA1 Message Date
Tomasz Dołbniak 9e9e33e772
Axes input handling in ReduceSum evaluator (#5614) 2021-06-10 18:13:56 +03:00
Katarzyna Mitrus a541f0929a
Attributes visitor tests - Transpose and Sqrt op (#5430)
* Add get value map size to the visitor util

* Type parametrized test POC

* Unify visitor test approach

* Remove unused using ValueMap

* Add const to get_value_map_size() function
2021-04-28 11:22:22 +03:00
Tomasz Dołbniak 3e8bc2db69
Handle f32/bf16 conversion in UT (#5330) 2021-04-22 11:59:29 +02:00
Ilya Churaev a672b9c599
Enabled Wall for nGraph (#5270)
* Enabled Wall for nGraph

* Fixed Linux build

* Fixed ONNX Editor and class-memaccess

* Fixed topK

* Fixed some builds

* Fixed nGraph Python API

* Use std::fill instead of cycle

* Wno-unded and deprecation for app python versions
2021-04-22 06:24:03 +03:00
Ilya Churaev 543acb517e
Enabled sign-compare flag for nGraph (#5189)
* Enabled Werror flag for nGraph

* Fixed softmax test

* Fixed ONNX Editor

* Fixed gather_nd

* Fixed i32 compilation
2021-04-15 12:12:51 +03:00
Tomasz Dołbniak 3b0c6aa408
Run IR models via TestCase (#4964) 2021-04-01 11:22:31 +02:00
Alexey Suhov 6478f1742a
Align copyright notice in python scripts (CVS-51320) (#4974)
* Align copyright notice in python scripts (CVS-51320)
2021-03-26 17:54:28 +03:00
Ilya Churaev c657574a82
Optimize nGraph linker dependencies (#4929)
* Refactored nGraph tests dependencies

* Fixed CI

* Fixed ONNX dependencies

* Fixed comments
2021-03-25 13:30:18 +03:00
Dmitry Kurtaev 64874fa69c
Remove __clang__ macros from headers (#4575)
* Fix headers for Clang compilation

* Parameter::Any destructor

* Force RTTI for any compiler

* Parameter::RealData RTTI

* Revert Parameter::Any
2021-03-25 12:26:43 +03:00
Alexey Suhov a748c26fee
Align copyright notice in cpp and cmake source files (CVS-51320) (#4950) 2021-03-25 02:40:09 +03:00
Ilya Churaev f0e574903a
Int4 support for nGraph (#4712)
* Start int4 type

* Changed int4 type

* Fixed code style

* Added u4 type

* Added tests

* Add U4 I4 precisions to the IE

* Removed redundant tests

* Added convert precision

* Fixed tests

* Fixed C tests

* Fixed logic for signed values

* Fixed nGraph tests

* Added more tests

* Fixed code style

* Update inference-engine/src/transformations/src/transformations/convert_precision.cpp

Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com>

Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com>
2021-03-24 16:17:43 +03:00
Anton Pankratv 3b3d9a0989
Used IE_THROW macro (#4869)
* Added ie throw macro

* Used IE_THROW macro
2021-03-23 18:57:12 +03:00
Mateusz Bencer 7f3a8ce885
Move ONNX Editor to separate target (#4293)
* Subgraph extraction in ONNX models

* Windows compilation error fix + docs update

* Code cleanup after the first round of reviews

* CI compilation error fix

* Even more CI compilation error fixes

* Proper usage of ADL in generic code

* ONNX shape inference related code cleanup

* Disable the onnx test utils when pb-lite is used

* PB dependency removal from UT, strong types for input and output edges, more verbose errors in tests

* Fix for the protobuf descriptor database corruption

* testing visibility changes

* Revert the changes that didn't work

* Make tests green again?

* Make the current tests pass

* Remove the ONNX header from editor's tests

* Switch from stable_partition to remove_if because of compiler bugs

* Obsolete test removal and cmakelists cleanup in tests

* Macos failed, reverting some changes

* Handle the multiple output consumers UC

* Keep the tensor name when replacing an initializer

* Cutting a graph with multiple consumers of inputs and initializers

* Subgraph extraction with multiple initializer consumers

* Add CMakeList, move files

* fixed headers locations

* fixed calling tests

* apply code styles

* change namespace to onnx_editor

* removd not needed dependencies to onnx_editor

* Remove linking libonnx from unit-test

* Consider all flavors of protobuf libraries

* disable lto for onnx and onnx_proto

* revert set ONNX_INCLUDE_DIR change

* create new target onnx_common

* cmake dependencies clean-up

* Added onnx_common visibility

* pass ModelProto as reference + remove redundant dependencies

* expose onnx symbols by onnx_common

* remove -fno-lto, move InputEdge and OutputEdge to other header

* configure onnx linking for MSVC and APPLE

* remove unused comment

* fixed linking configuration for msvc and apple/clang

* clean cmakes

* added dependencies

* remove onnx and onnx_proto from NGRAPH_EXPORT_TARGETS_ENABLE

* make onnx and protobuf dynamic

* cmake dependency clean-up

* added onnx patch - make only onnx_proto shared

* use protobuf should depend on BUILD_SHARED_LIBS

* fixed patch

* fixed install targets

* add if to install protobuf

* fixed onnx flag

* move protobuf install

* cmake dependencies

* added protobuf header include dir + clean-up ng cmake

* added protobuf to ng targets

* fix apple build

* dependencies clean-up

* make onnx_editor static lib

* remove onnx editor visibility

* fixed protobuf export enablement

* fix apple build

* test build protobuf by fetch content

* fix apple protobuf build

* Docs update

* Producer name update in test onnx models

* More comments in the subgraph extraction code

* Merge remote-tracking branch 'upstream/master' into mbencer/MoveEditorToSeparateLib

* add dependency to onnx_proto for test utils

* dependency to ngraph_test_util

* ngraph_test_util dependency. part. 2

* conditional dependency of onnx to ngraph_test_util

* Apply suggestions from code review

Co-authored-by: Tomasz Socha <tomasz.socha@intel.com>

* review remarks

* remove onnx_proto default visibility

* camke remarks, not exporting onnx_common and onnx_editor to target set

* [test fix macos CI] Revert "remove onnx_proto default visibility"

* set onnx_proto visibility only for macos

* [PyPI] remove rpath for dylib

* Corrected cmd

* fix protobuf-lite linking

Co-authored-by: tomdol <tomasz.dolbniak@intel.com>
Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
Co-authored-by: Mateusz Tabaka <mateusz.tabaka@intel.com>
Co-authored-by: Tomasz Socha <tomasz.socha@intel.com>
Co-authored-by: mryzhov <mikhail.ryzhov@intel.com>
2021-03-17 07:07:53 +03:00
Katarzyna Mitrus 5f098e1079
nGraph code style upgrade to clang-format-9 (#4721)
* ngraph clang-format upgrade to 9

* Reformatted files

* Remove comma at the end of test data vector
2021-03-15 22:06:01 +03:00
Gabriele Galiero Casay bd949c6baf
BinaryConvolution Reference Implementation (#4278)
* Add BinaryConvolution unit tests.

* Changed types to u1.

* Add BIN precision handling in TestCase class.

* Refactored validate and infer types to enhance dynamic shape inference

* Add type_prop test to cover invalid op cases and dynamic shapes

* Fix style

* Disable check for float type of data batch input

* Add type_prop test for incompatible input channels in inputs

* Disable backend unit tests

* Fix style

* Add reference implementation

* Add backend tests

* Add single layer tests

* Add check for float element type of batch data input

* Refactor backend test cases to compare with regular convolution

* Add serialization tests

* Clean up

* Add 1D and 3D tests into op_eval

* Changes in reference implementation to improve readability

* Add ticket information for todo tasks

* Fix implementation misbehavior for filter channels

* Add backend unit tests to cover strides, dilations, padding, channels and batches

* Add end of line into files

* Change name of type_prop unit tests

* Simplified lambda to get spatial dimensions of filters

* Add comment to support filters input as Parameter

* Add namespace details for BinaryConvolution utility functions

* Address review comments

Co-authored-by: jdanieck <jozef.daniecki@intel.com>
2021-03-09 22:58:25 +03:00
Evgeny Lazarev 99f94ca09c
Adding v7::Gelu operation (#4497)
* Added support for Gelu-6 to the MO

* Adding Gelu-6 to ngraph and python API + some tests

* Fixed typo in the Gelu approximation mode

* Fixed Gelu-6 reference implementation for Tanh mode

* Added transformation to downgrade v6::Gelu to v2::Gelu

* Added specification for the Gelu-6

* Code style fixes

* The Gelu-6 operation specification update

* Fixed compilation issue in reference implementation for Gelu

* Fix compilation issues for some OSs

* Code style fix

* One more cpplint issue fix

* Fixed Gelu6 reference implementation compilation on Windows.

* Code style fix

* Fixed various ngraph unit tests

* Code style check

* Reverted Gelu-2 to be fused op

* Fixed Gelu6 downgrade transformation

* Added unit test for Gelu6Downgrade transformation

* Update copyright year

* Updated copyright year

* Replaced tab characters with 4 spaces in IR reader tests

* Code style fixes

* Added default value for GeluApproximation mode for Gelu-6 op

* Fixed code style for Gelu-6

* Changed order of parameters for the Gelu evaluate to potentially avoid backward compatibility issues with ARM plugin

* Fixed code style

* Introduced opset7. Moved Gelu6 to opset7

* Fixed non-updated transformation

* Fixed opset version in ngraph Python API for Gelu operation

* Fixed typo in the opset number in the documentation

* Reverted some changes related to Gelu6

* Updated MO to produce Gelu7

* Updated unit tests for Gelu

* Updated Gelu7 specification

* Changed gelu reference implementation. Added opset7 to Python packages

* Updated Python API tests for Gelu operation

* Code style fix

* Marked get_approximation_mode function as const

* Added missing "const" qualifier

* Fixed code style issues in tests

* Added extractor for MxNet operation Gelu

* Spelling issues fix

* Updated MxNet supported symbols

* Added NGRAPH_OP_SCOPE for Gelu7 validate_and_infer_types

* Fixed a typo in the comment
2021-03-09 22:45:45 +03:00
Tomasz Dołbniak a085b68d37
Subgraph extraction in ONNX model editor (#4107) 2021-03-04 10:12:37 +01:00
Tomasz Dołbniak 4d9ede42ca
Floats comparison implementation in IE_Engines (#4342) 2021-02-24 12:10:00 +01:00
Ilya Churaev a327b72481
Removed redundant memcpy calls. Share weights from original blob (#4259)
* Removed redundant calls of memcpy. Share weights from original blob

* Fixed nGraph tests
2021-02-10 16:39:15 +03:00
Mateusz Bencer 4e33dac7fa
Set output blobs precision for IE tests (#3905)
* Calling SetPrecission on cnn network outputs

* added tests

* get_output_name refactor

* add missing test file

* run tests on all backends (or disable if backend is not available)

* fixed tests

* fixed TestEngine
2021-01-20 10:26:41 +03:00
Tomasz Jankowski 35384a63a6
[nGraph][ONNX] Extend ONNX Importer for operation "GatherElements-6" (#3822) 2021-01-19 14:42:24 +01:00
Tomasz Dołbniak 303c549791
nGraph copyright update for 2021 (#3832) 2021-01-13 16:43:04 +03:00
Ilya Churaev ad3405ef5e
Removed global factory for nodes (#3701) 2020-12-24 10:47:05 +03:00
Sergey Lyubimtsev 4f0720176c
CMake install fixes (#3600)
* [MO] Add CMake install for Model Optimizer

* [MO] Update test for version.py

* [MO] Add CMake install for Model Optimizer

* [MO] Update test for version.py

* [MO] Add CMake install for Model Optimizer

* [MO] Update test for version.py

* - fix install paths for onnx_reader and ir_reader

- remove static lib installation for plugins on plugins
- 97-myriad-usbboot.rules is installed only for Linux

* added new line

* - Return GNAPlugin to default build list

- Remove test artifacts from cmake install distribution
- Remove nGraph static libs from cmake install distribution

* revert install rule for archive(.lib)

* revert install rule for onnx_importer (.lib)
2020-12-23 23:27:23 +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
Jan Iwaszkiewicz e1a7f7e5af
[nGraph][IE] Enable FP64 data type in IE and review nGraph Python tests (#2563) 2020-12-02 12:09:28 +01:00
Mateusz Tabaka 2ec0904d40
Remove obsoleted v0::Dot and v0::QuantizedDot (#3128)
* Remove obsoleted v0::Dot and v0::QuantizedDot

* fix ngraph unit tests
2020-11-19 09:06:19 +03:00
Tomasz Dołbniak a1d858c502
Remove the assert that could terminate the process, throw an exception instead (#3205) 2020-11-18 22:27:51 +03:00
Mateusz Bencer 2b23eb8ade
Enable CPU and Interpreter Loop tests (#3042) 2020-11-13 13:32:19 +01:00
Vladislav Vinogradov 8331c397cd
[IE][NGRAPH][BUILD] Enable UNITY build for more targets (#2592)
* Avoid symbols clash due to source merging.
* Tested on Ubuntu 20.04 with GCC 9.3.0.
2020-10-13 17:35:55 +03:00
helmutg f858b0c46f
drop unnecessary cmake dependency on ext_gtest (#2389)
ngraph_test_util links libgtest, which depends on ext_gtest already.

Co-authored-by: Helmut Grohne <helmut.grohne@intenta.de>
2020-09-30 16:01:11 +03:00
Katarzyna Mitrus 8f843c620a
[ONNX] Update ONNX importer to use RNN/GRU Sequence ops (#2035) 2020-09-23 10:11:34 +02:00
Vladimir Gavrilov 7a74792ac4
Intepolate-4 nGraph operation (#1412)
* Fixed prototype of evaluate method.

* Rewritten Interpolate-4 ctors (added argument output_shape). Corrected tests.

* Fixed typo.

* Fixed number of args of make_shared in op::v4::Interpolate::clone_with_new_inputs.

* Fixes in Interpolate-4 tests.

* Now ONNX Upsample-1 is readed as Interpolate-4 with 4 inputs.

* Code style fixes.

* Some fixes in Interpolate-4 layer test.

* Now ONNX Upsample-9 is readed as Interpolate-4 with 4 inputs.

* Small fixes.

* Some changes.

* Fixed processing of 'scales' input in evaluation of Interpolate-4: now 'scales' contains scales only from 'axes'.

* Fixes in documentation.

* Now reference implementation of Interpolate-4 is rewritten for using 3 required inputs.

* Some code style fixes.

* Small fix.

* Started to write tests for method evaluate() of Interpolate-4.

* Continued to write tests for evaluate() of Interpolate-4.

* Some fixes.

* Some additions.

* Written draft of tests for 'cubic' mode with using scales.

* Some changes.

* Started to write tests for 'nearest' mode.

* Started to write tests for 'linear_onnx' mode.

* Some changes.

* Small fixes.

* Added setup of output type.

* Small addition.

* Added debug print into Interpolate-4 evaluate.

* Now in Interpolate-4 evaluation tests 3 inputs of Interpolate are Constants.

* Small changes.

* Added some debug print.

* Added more debug print.

* Some fixes.

* Now 4th argument of runtime::interpolate has type std::vector<int64_t>.

* Added checks for result of calculations.

* Added another expected values vector for the mode 'cubic'.

* Temporarily commented result value checks  for the cubic mode.

* Written tests for 'nearest' mode.

* Some reorganization.

* Written tests for 'linear_onnx' mode.

* Fixed padding loop.

* Fixed docs for 'linear_onnx' mode.

* Written tests for 'cubic' mode.

* Deleted debug print.

* Fixed code style.

* Enabled CPU layer tests for Interpolate-4.

* Reverted changes of this file.

* Now ONNX importer reads Resize-1 as Interpolate-4 with 4 inputs.

* Now ONNX importer reads Resize-11 as Interpolate-4 with 4 inputs.

* Small fixes.

* Fixed docs.

* Added small epsilon in the shape calculation in the function op::v4::Interpolate::infer_using_scales.

* Small fix.

* Reduced size of the template function eval().

* Now the 'nearest' mode is rewritten to CoordinateTransfom instead of NDim* classes

* Now the 'cubic' mode is rewritten to use CoordinateTransformation instead of NDim classes.

* Started to rewrite 'linear' mode using CoordinateTransform.

* Started to write helper class.

* Small fix.

* Small changes.

* Some fix.

* Fixed typo.

* Now the preamble of 'linear_onnx' mode implementation is a method of helper class.

* Now the function clip_coord is the method of helper class, and the mode 'linear' uses CoordinateTransform instead of NDim classes.

* Deleted NDim classes.

* Some fixes.

* Some refactoring.

* Some refactoring: now inner calculation of 'linear' is in helper class.

* Moved reference implementation of Interpolate-4 into library with reference implementations.

* Small fix.

* Deleted commented tests.

* Code stile fixes.

* Deleted redundant type prop tests for Interpolate-4.

* Documentation fixes.

* Disabled IE_CPU tests for ONNX Resize: Interpolate-4 is not implemented in plugins.

* Temporarily disabled some ONNX tests.

* Some refactoring: deleted redundant attributes of InterpolateEval class.

* Small fix.

* Added NGRAPH_RTTI_DECLARATION and NGRAPH_RTTI_DEFINITION.

* Added debug print to 'cubic' mode calculation.

* Some deletions.

* Small fix.

* Fixed typos.

* Added another debug print.

* Now indices_shape is constructed from std::vector<std::size_t>(num_of_axes, 4) again.

* Fixed CMakeLists.txt.

* Small fix.

* Added more debug print.

* Fixed typo.

* Fixed calculation of the first argument of helper.clip_coord in the inner loop of cubic_func.

* Some code style fixes.

* Alphabetically sorted operations of opset4.

* Deleted constant cannot_define_axes.

* Used std::iota instead of loop.

* Renamed structure InfoToCallReference.

* Now void op::v4::Interpolate::validate_and_infer_types() checks an element type of an input tensor.

* Code style fix.

* Changes in reading of ONNX Resize and Upsample: we generate Interpolate-4 without 'axes' input.

* Now bodies of functions evaluate_interpolate_v4() and inline bool evaluate() are moved in the method bool op::v4::Interpolate::evaluate.

* Fixes in example of the documentation of Interpolate-4.

* Fixed typos.

* Small fix.

* Some fixes.

* Deleted some type aliases.

* Uncommented a test for 'cubic' mode.

* Small code style fix in bool op::v4::Interpolate::evaluate.

* Uncommented more test for Interpolate-4 reference implementation.

* Added more debug print.

* Some changes.

* Uncommented all tests for Interpolate-4 evaluate().

* Deleted debug print.

* Deleted 'simple' mode from the map nearest_mode_map.

* Code style fixes.

* Disabled some CPU tests.

* Some fixes.

* Small fixes.

* Some fixes.

* Fixed typo.

* Fixed typo.

* Small change.

* Fixed some typos.

* Fixed some typos.

* Fix in operator() of the class GetOriginalCoordinate.

* Disabled some CPU tests.

* Small changes.

* Deleted template function from resize.cpp.

* Code style fixes.

* Refactored the method op::v4::Interpolate::evaluate.

* Added documentation for infer_using_scales() and infer_using_shapes().

* Added documentation for classes GetNearestPixel and GetOriginalCoordinate.

* Small fixes.

* Some code style fixes.

* Small fixes.

* Some changes.

* Added NGRAPH_SUPPRESS_DEPRECATED_START and NGRAPH_SUPPRESS_DEPRECATED_END for using v0::InterpolateAttrs; and using v0::Interpolate;

* Code style fix.

* Enabled ONNX import only tests for Resize-10, Upsample-8, Upsample-9.

* Fixed element type for scales_const. Fixed targetShapes and pads in single layer tests.

* Small changes.

* Added conversion from NGRAPH to CNNLayer.

* Added documentation for the class InterpolateEval.

* Now 'nearest' mode has special tests in cpu single layer tests.

* Small changes.

* Fixes in cpu single layer tests.

* Temporarily commented Interpolate-4 in ConvertFunctionToCNNNetworkTests.

* Added some docs.

* Enabled some tests for Resize-11.

* Added test.

* Corrected expected values in the resize_downsample_scales_align_corners case.

* Added more test for the 'cubic' mode.

* Added more test for linear_onnx mode.

* Deleted debug print for linear_onnx mode.

* Deleted debug prints. Added yet another test for 'nearest' mode.

* Fixes for import of ONNX Resize-10 and Upsamples.

* Applyed Evgeny Lazarev fix for Interpolate-4 infer function.

* Code style fixes.

* Some tests were deleted from unit_test.manifest file for INTERPRETER.

* Deleted test for downscale Resize-10: results of infer are correct, but comparison is not.

* Enabled test INTERPRETER.onnx_empty_initializers_handling.

* Some fixes.

* Added the method run_with_tolerance_as_fp() to the class TestCase and the method compare_results_with_tolerance_as_fp() to the class TestCaseEngine.

* Small fix.

* Small fix.

* Added yet another type_prop test.

* Disabled CPU test IE_CPU.onnx_empty_initializers_handling.

* Code style fixes.

* Enabled some ONNX tests.

* Some changes.

* Code style fix.

* Enabled test INTERPRETER.onnx_model_round.

* Disabled tests with behavior as behavior of INTERPRETER.onnx_resize11_scales_down_linear.

* Changed tolerance for test onnx_empty_initializers_handling.

* Changed tolerance in the test onnx_resize11_sizes_linear (otherwise this test is failed in MacOS). Disabled test INTERPRETER.onnx_resize11_sizes_nearest_asymmetric_floor, because this test failed in MacOS only.
2020-09-01 06:57:34 +03:00
Ilya Churaev d25bb6314a
Deprecate nGraph v0 ops and builders (#1856)
* Deprecate nGraph v0 ops

* Fixed build

* Added deprecated defines to fix windows
2020-08-20 12:27:14 +03:00
Ilya Churaev 4270153ad2
Remove nGraph layout (#1763) 2020-08-17 06:05:08 +03:00
Ilya Churaev 819aadd981
Removed ngraph assertion (#1719) 2020-08-12 15:39:51 +03:00
Ilya Churaev c46c978c79
Remove GetOutputElement op (#1604) 2020-08-11 15:28:14 +03:00
Ilya Churaev 135e7c0aba
Move downgrade passes to pass folder (#1675) 2020-08-07 21:46:13 +03:00
Ilya Churaev 7a314f216a
Remove JSON serializer (#1638) 2020-08-06 05:51:05 +03:00
Ilya Churaev 850665d992
Enable NGRAPH_DEPRECATED (#1617)
* Enable NGRAPH_DEPRECATED

* Try to fix Windows

* Added NGRAPH_SUPPRESS_DEPRECATED_END for headers

* Removed tests on downgrade/upgrade passes
2020-08-05 11:13:05 +03:00
Ilya Churaev 3ce87f5487
Mark evaluate method as constant (#1628) 2020-08-05 08:39:00 +03:00
Gabriele Galiero Casay 19f798b084
Ngraph unit tests refactoring: part 2 (#1518) 2020-08-04 11:56:46 +02:00
Jozef Daniecki eca80086ac
Add Acosh operator to ONNX importer opset4 (#1351) 2020-07-20 10:18:03 +02:00
Ilya Churaev 29816f7a44
Remove get_arguments (#1323)
* Removed get_arguments

* Fixed code style
2020-07-17 09:50:06 +03:00
Ilya Churaev 317a60545b
remove nGraph deprecated methods (part 1) (#1314)
* Remove remove_goe

* Remove traverse_nodes

* Removed deprecated constructors

* Removed deprecated tensor methods

* Fixed IE build

* Fixed code style
2020-07-16 06:03:59 +03:00
Ilya Churaev 32d7959b92
Added U32 precision (#1297) 2020-07-14 10:27:10 +03:00
Ilya Churaev 8d1e7a705d
Removed adjoints (#1269) 2020-07-10 13:49:43 +03:00
Ilya Churaev 869cbe489b
Removed opset0 from public API (#1144) 2020-07-02 13:08:21 +03:00