Commit Graph

108 Commits

Author SHA1 Message Date
Kamil Magierski
9df59284bc [GNA] Fix Activation output size not matching convolution if padded. (#1980)
* Fix Activation output size not matching convolution if padded.

* Fix input padding handling in Convolution

* fix static bug

* Use correct value for feature rotation.

* [GNA] Fix regression

* Added tests

* Added tests
2020-09-04 13:23:00 +03:00
Nikita Kudriavtsev
35357f686d [IE][VPU]: Fix for Swish layer (#2034)
* Fix Swish layer serialization.
* Added shared test for Swish
* Firmware update 1326 -> 1349
2020-09-04 11:52:13 +03:00
Ivan Tikhonov
2f5a28d44f LSTMCell/Sequence v1, reference implementations and decompose transformations for LSTM/GRU/RNN Cells (#2000)
* validate_and_infer_types() implementation

* input parameter validation for LSTM, GRU and RNN

* style-check applied

* Add LSTMSequence dynamic shape validation and test props for RNNCell, GRUCell, LSTMCell and LSTMSequence.

* recurrent_sequence.hpp moved to ngraph/core/include/ngraph/op/util/

* style check applied

* removed unused variable from LSTMSequence::validate_and_infer_types

* Add missing newline mark at the end of file.

* Add supression macro for FusedOp deprecation.

* Add element type initialization

* transpose,rnn cell reference implementations

* Apply PR review remarks

* reference implementations for cells op, single layer tests, align lstm cell/sequence according to the spec

* lstm/gru/rnn cell decompostion transformations

* ngraph codestyle

* clean up

* ngraph code style

* change inheritance of Cells, fix build

* fix build

* fix build again

* remove Peepholes from LSTMSeq, fix copy_runtime_info in transformations

* Rewrite tests to use gtest exception assertions.

* resolve tests issues

* ngraph codestyle

* add missed files

* fix typeprop tests

* fix lstm sequence checks

* fix arm build

* fix arm again

* delete unnecessary file

* add convert weghts format function, enable lstm test, resolve review comments

* add ngraph builders

* ngraph codestyle

* fix unit tests

* revert transpose reference implementation

* revert LSTM Cell v0, add LSTMCell v1, update transformation lstm_cell_to_cell_ie

* v1 version of LSTMCell op

* LSTMSequence v1 operation, exclude LSTMSeq from opset4

* fix python api tests

* resolve review comments, tests for decomposition transformations, switch lstm cell to opset4 in mo

Co-authored-by: Szymon Durawa <szymon.durawa@intel.com>
2020-09-04 09:04:36 +03:00
Andrey Dmitriev
6b2ac800aa [GNA] Fixed case of unconnected output of split layer (#1344)
[GNA] Fixed case of unconnected output of split layer

[GNA] Fixed case of unconnected output of split layer

test

[GNA] Fixed case of unconnected output of split layer

fixed
2020-09-03 13:23:58 +03:00
Gleb Kazantaev
1f79a4054b Fix ConvBiasFusion pass for some rare cases (#2032)
* Extended ConvMultiplyFusion tests with bias fusion

* Updated ConvBiasFusion with precise constant validation

* Fix ConBiasFusion tests

* Updated eltwise fusion tests

* Changed test parameters
2020-09-03 11:15:50 +03:00
Nikolay Shchegolev
43ec4a5695 [CPU] CTCLoss operation implementation. (#1482) 2020-09-01 12:52:31 +03: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
Anton Pankratv
7c1b87c7aa Query network should return all supported layers (#1845)
* Query network should return all supported layers

* Added other plugins. Fixed hetero and multi

* IRv7 test use legacy impl
2020-08-26 15:33:37 +03:00
Maksim Kutakov
99136f0940 [IE TESTS] Add Reverse Seq single layer test (#1933)
* [IE TESTS] Add Reverse Seq single layer test

* Added spaces for better readability.
2020-08-26 15:13:32 +03:00
Anton Chetverikov
84c7b048db SoftPlus operation implementation (#1365) 2020-08-25 19:36:39 +03:00
Liubov Batanina
c5b19aa8f9 Added BatchNormInference tests (#1927) 2020-08-25 16:28:05 +03:00
Edward Shogulin
ee96595d1d [LPT] BLOCKED layout ignoring (#1873)
* [LPT] BLOCKED layout ignoring

* [LPT] Permute transformation tests

* [LPT] Tests rework
2020-08-25 10:43:33 +03:00
Liubov Batanina
719797326b Added test for Pad (#1902)
* Addded test for Pad

* Add builder
2020-08-24 14:16:29 +03:00
Roman Lyamin
3a9e160031 [IE TESTS] Added single layer tests HSwish (#1861) 2020-08-20 13:32:16 +03:00
Anton Dudchenko
de8bfae243 [IE][VPU]: Execution graph via ngraph for VPU plugin (#1572)
* Execution graph via ngraph for VPU plugin
* Enable ExecGraphTests
* Assert throw for multi device in tests
* Assert throw for gna device in tests
2020-08-20 12:56:12 +03:00
Gleb Kazantaev
8c5262f864 Convert Pad to GroupConvolution transformation (#1826)
* Added ConvertPadToConvolution pass

* Removed NasNet transformation from MO

* Renamed Conv to GroupConv; Added tests

* Fixed typo; Added RTTI
2020-08-18 17:40:45 +03:00
Ilya Churaev
f17262e05f Add static library with nGraph reference implementations (#1810)
* Removed reference implementations from public API

* Remove coordinate_transform from public API

* Introduced static library with reference implementations
2020-08-17 19:43:11 +03:00
Gleb Kazantaev
983e2a922f opset4 Convolution/GroupConvolution -> Multiply fusion (#1754)
* Added new predicates for smart pattern matching

* Added ConvMul and GroupConvMul fusion passes based on opset4; Added CPU functional tests for comparing fusion accuracy

* Improved ConvMultiply fusion to support scalars; Added positive and negative tests

* Added ConvolutionBackprop/GrouConvolutionBackprop Multiply fusion; Added functional tests
2020-08-14 13:47:02 +03:00
Alexander Peskov
7c921b8b45 [CPU] Add explicit storage for MemoryNode (#895) 2020-08-13 19:06:20 +03:00
Anna Alberska
d8b366c573 [GNA] Add Basic_LSTM_S test (#805)
* add Basic_LSTM_S test

* add comparing with model with unrolled TI

* move computing reference output to overridden CalculateRefs()
2020-08-11 12:46:27 +03:00
Ilya Lavrenov
e2e2785131 Moved legacy API to legacy/ subfolder for include (#1677) 2020-08-10 18:33:25 +03:00
Ilya Churaev
3928f8806d Fixed input/output shape initialization (#1695)
* Fixed input/output shape initialization

* Use template_extension library in tests
2020-08-10 18:24:25 +03:00
Maxim Andronov
f9023ff7da [CPU] Add support 4th and 5th input DetectionOutput (#1290)
* [CPU] Add support 4th and 5th input DetectionOutput

* fix any comments

* move reference to ngraph

* some changes for mx nms

* change namespace for ref impl
2020-08-07 09:05:41 +03:00
Maxim Andronov
21c4312453 [CPU] Add check to reduce for scalar dims (#1577) 2020-08-06 14:44:29 +03:00
Ilya Lavrenov
6a5993fb36 Implement unicode conversion using Windows native functions (#1590)
* Implement unicode conversion using Windows native functions

* NOCPPLINT

* Fixed deprecated c++ api usage in tests

* Moved impl to cpp

* Moved Unicode utils to Plugin API

* Added missed include for Windows

* Fixes for unit tests; CentOS fixes

* Fixed Windows compilation

* Fixed unit tests on Unix

* Fixed unix 2
2020-08-06 12:01:34 +03:00
Anton Zaytsev
8570015347 [IE TESTS] Add VariadicSplit in SingleLayerTest (#1468)
* [IE TESTS] add variadic split

* [IE TESTS] update  variadic split

* [IE TESTS] update instance variadic split

* [IE TESTS] update variadic_split.cpp
2020-08-05 15:06:55 +03:00
Ilya Churaev
d791d295aa Use clone_function instead of specialize_function (#1523)
* Try to use clone_function instead of specialize_function

* Try to fix stress tests

* Remove redundant specialize_function

* Fixed TI clone

* Removed redundant code

* Uncomment threading tests

* Fixed docs

* copy function friendly name too

* Fixed copy rt_info

* Fixed comments
2020-08-03 18:23:02 +03:00
Ilya Lavrenov
b58d03ae05 Removed dirty skip from tests definitions (#1591) 2020-08-03 13:22:13 +03:00
Alexander Perepelkin
d8502bf7d3 Virtual inheritance to allow inheriting test classes and overriding common logic (#1557) 2020-07-30 23:57:01 +03:00
Andrey Dmitriev
861bcc2949 [GNA] Support for cascade concat with non functional layers between concats (#598)
[GNA] Support for cascade concat with non functional layers between concats
2020-07-30 16:45:18 +03:00
Roman Vyunov (Intel)
00630127e7 [IE][VPU]: Enabling of NonZero single layer tests (#1502) 2020-07-30 13:14:51 +03:00
Ilya Lavrenov
77345a7383 Template documentation update (#1519)
* Updated Inference Engine Plugin developer guide
after inference using ngraph reference backend is added

* Documentation fixes

* Fixed review comments
2020-07-29 19:56:24 +03:00
Irina Efode
0560b61cbd [IE TESTS] Add Interpolate single layer test (#1456) 2020-07-27 11:45:19 +03:00
Irina Efode
db176dfc5d [IE TESTS] Add Minimum tests (#1470) 2020-07-24 17:51:21 +03:00
Liubov Batanina
a38e9f9059 Add input transposing for MatMul (#1462) 2020-07-24 15:15:20 +03:00
Ilya Lavrenov
07bedc5d6f Network serializer for v7 is removed (#1414)
* Network serializer for v7 is removed

* Fixed compilation

* Fixed Windows build

* WA for GPU

* Create function 2 times

* Fixed compilation

* Added return
2020-07-23 16:23:19 +03:00
Ilya Lavrenov
8e081c8388 Removed CNNLayer entries from ie_common.h (#1420)
* Removed useless header include

* Removed CNNLayer entries from ie_common.h
2020-07-22 06:44:05 +03:00
Roman Lyamin
613d822458 [IE TESTS] Added single layer test Mish (#1401) 2020-07-21 15:11:05 +03:00
Ilya Churaev
54ae67414e Remove redundant node methods (#1324)
* Remove placement

* Removed validate and infer eltwise

* Remove is eltwise

* Remove support broadcast and decompose

* Removed is_op, is_parameter, is_pattern

* Fixed code style

* Added is_constant and is_output

* Removed is_communicative and is_null

* Fixed code style

* Fixed typo

* Fixed comments

* Fixed typo

* Revert is_parameter, is_output, is_result for OpenCV build
2020-07-21 06:02:00 +03:00
Ilya Lavrenov
2ddf08d14b Removed tests for old IR reader (#1368) 2020-07-18 12:42:40 +03:00
Nikita Kudriavtsev
73ee68afb2 [IE][VPU]: CMX limit compile option (#1268)
In some networks, mvTensor would request a large CMX-DMA transfer (<512K). That starves DMA for other timing critical tasks such as SIPP. Limit CMX-DMA request size as an option in myriad_compile:
* Add compile option TILING_CMX_LIMIT_KB
* Declare compile option TILING_CMX_LIMIT_KB in IE tools (compile_tool and vpu_compile)
* Add tests for compile option TILING_CMX_LIMIT_KB. Small fix for naming behavior tests.
2020-07-16 19:54:53 +03:00
Irina Efode
bfd318cbd3 [IE TESTS] Add PReLu single layer test (#1306)
* [IE TESTS] Add PReLu single layer test

* [IE TESTS] Small refactoring of test infrastructure

* [IE TESTS] Add shape for activation
2020-07-16 18:16:57 +03:00
Ilya Lavrenov
949fee3cfc Remove implicit conversion from getInputTo, getLayerCreator (#1274)
* Added ctor for CNNNetworkImpl to convert from ngraphImpl

* Re-use in all places instead of manual conversion

* Hide convertToCNNNetworkImpl usage

* Removed conversion from getCreatorLayer

* Fixes 2

* Fixes 3

* Fixes 4

* Fixed ieFuncTests

* Fixed more tests

* Fixed LPT tests

* Remove useless test

* Fixed GNA

* Fixed Gleb's comments

* Fixed Core integration tests

* Trying to fix python

* Fixed GPU tests

* Small fixes

* Fixed QueryNetwork after removing implicit conversion

* Fixed Core integration tests for QueryNetwork

* Fixed python; MULTI device QueryNetwork

* Fixed MULTI QueryNetwork

* Removed unused methods

* Enabled LPT FullyConnectedTestModel test

* Fixed typo in python
2020-07-16 16:44:48 +03:00
Irina Efode
afee06ec3d [IE TESTS] Small refactoring of test infrastructure (#1332) 2020-07-16 14:20:08 +03:00
Anton Zaytsev
24961638cc [IE TESTS] Add ShapeOf SingleLayerTest (#1285)
* [IE TESTS] add single layer test ShapeOf

* [IE TESTS] update for master

* [IE TESTS] add subgraph test

* [IE TESTS] update todo in skip_tests_config

* [IE TESTS] update skip_tests_config

* [IE TESTS] update skip_tests_config

* [IE TESTS] update opset3
2020-07-14 23:55:32 +03:00
Edward Shogulin
d791962464 [LPT] FuseFakeQuantizeAndScaleShift transformation for last layer fix (#1291)
* [LPT] FuseFakeQuantizeAndScaleShift transformation for last layer fix

* [LPT] refactoring

* [LPT] FuseFakeQuantizeAndScaleShift test: last layer name validation was added
2020-07-14 18:55:06 +03:00
Andrew Bakalin
45d1b4eb19 [IE][VPU][GT]: Process StridedSlice stage on device as one kernel (#1244)
* Remove replacement of StridedSlice with other stages and execute it on device as one kernel.
* Refactor strided slice tests to be able to parametrize it by precision.
* Update firmware.
2020-07-10 14:32:49 +03:00
Gorokhov Dmitriy
8768313fef [TESTS] Added Comparison and Logical single layer tests (#1242) 2020-07-10 13:56:22 +03:00
Bartosz Sochacki
8da662b2b8 [GNA] Support in GNA plugin for power layer with non-1 exponents (#997)
* added support for power layer with non-1 exponents to GNA plugin

* reverted a change caused by merge issue

* fixes for review comments (typo fix - lrelu instead of leru, unnamed structure instead of of named one in union with arguments of activation function, name fix - input instead of inputs),

scale-shift implementation based on affine layer instead of PWL,

* fixed code style

* fixes for coding style in scale_factor_calc.hpp

* added domain for power function

* fixed review comment - power function specific methods

* added check if dynamic casting was successful

* removed I16 as it is not supported by ngraph

* fixed initialization per review comment
2020-07-10 13:39:29 +03:00
Kamil Magierski
d9706da8d0 [GNA] MemoryStateImpl (#839)
* [GNA] fix query state for GNAMemoryState

* [GNA] MemoryState implementation:

Fix shared tests
Fix smoke tests
fix SetState
Implement LastState
Fix Reset

* Move getPrecision() to GNAMemoryState

Change Smoke Reset() test to check resetting one state

* [GNA] add dequantize to getLastState()

* code refactor

Co-authored-by: Anna Alberska <anna.alberska@intel.com>
Co-authored-by: kmagiers <kmagiers@intel.com>
2020-07-10 13:37:12 +03:00