Commit Graph

3167 Commits

Author SHA1 Message Date
Egor Duplensky
e033b18bce
[CPU] Disable drop excess convert+reorder optimization (#4743)
The optimization does not have a use case at the moment
since in scope of greedy mode we removed insertion of
convert/reorder after input layer.
This logic will be re-implemented after ngraph migration
and then we can bring back the optimization together with
some tests.
2021-03-22 14:40:08 +03:00
Yegor Kruglov
244af264e6
Add remove_value_output attribute to onnx ArgMax extractor (#4831)
* add remove_value_output to onnx argmax extractor

* update TopK extender

* update copyright

* change condition in topk extender based on connection logic
2021-03-22 14:19:27 +03:00
Irina Efode
1f4f449308
[IE TESTS] Add AVG Pass-rates to the report. Identify good refs (#4854)
* [IE TESTS] Add AVG Pass-rates to the report. Identify good refs

* Uncomment extra

* Fixes

* Improve report

* Fix typo

* vers

* Percent
2021-03-22 14:03:45 +03:00
Gleb Kazantaev
aa4cbde1bd
Pruning transformation (#4666)
* Pruning transformation POC

* Reimplement logic with masks and their dependencies

* Remove wrong changes

* Update VisualizeTree with max const lements parameter

* Improved VisualizeTree

* Move Pruning to offline_transformations target

* Added python API for Pruning transformation

* Use NGRAPH_DEBUG for logging

* Added const get_rt_info method

* nGraph Code Style

* get_rt_info methods update

* Commented debug infra

* Code Cleanup

* Removed BN changes

* nGraph Code Style

* Add rt_info copy for output ports

* Use Mask * instead of Mask::Ptr to avoid cross dependency

* Removed dllexport for static library

* resolce pr comments

* fix copyright

* Check fix for traget_link_libraries

* Remove LTO for offline_transformations
2021-03-22 13:28:40 +03:00
Eunsoo Sheen
084117adf0
[IE CLDNN] Permute optimization with tiling for fsv16 format (#4706) 2021-03-22 10:44:48 +03:00
Katarzyna Mitrus
3866896ba6
Add type info to MatMul spec (#4855) 2021-03-22 10:28:58 +03:00
Ivan Tikhonov
a868d88d49
Do not convert Sequences to TensorIterator, when plugin supports the original primitive (#4631)
* do not convert Sequences to TensorIterator when plugin supports Sequence primitive

* fix referece implementations for Sequences, processing seq_len value == 0 case

* Adding new mode for LSTMSequence single layer tests

* update single layer tests

* fix failed unit tests, updated single layer tests for rnn/gru sequences

* fix failed unit tests

* fix single layer tests

* ignore failed single layer tests on gpu (known issue), fix review remarks
2021-03-22 06:46:46 +03:00
Mateusz Bencer
f8c037c238
apply onnx patch only once (#4890) 2021-03-20 17:37:22 +03:00
Mikhail Nosov
2f84b51e17
C API for LoadNetwork by model file name (#4891) 2021-03-20 17:37:07 +03:00
Jan Iwaszkiewicz
8ec59ceda4
[CPU][ONNX] Convert FP64 precision to FP32 (#4681) 2021-03-19 19:28:55 +01:00
Mikhail Nosov
70eb23533c
Proper cleanup of cache_dir on start/end tests (#4888)
Also add ability to skip the test depending on plugins 'skip_test_config'
2021-03-19 20:42:32 +03:00
Mikhail Ryzhov
771a90c523
Fixed mac libs filter (#4871)
* Fixed mac libs filter

* Fixed typo issue
2021-03-19 16:55:16 +03:00
Tomasz Jankowski
636986be3f
[ONNX] Add dynamism to Conv bias input (#4835) 2021-03-19 14:19:32 +01:00
Bartosz Sledz
5ce9e2ae2a
Add support for dynamic input in ONNX Instance Normalization operator (#4805) 2021-03-19 13:57:43 +01:00
Evgeny Lazarev
64e96fbd9a
Fixed dead lock in the telemetry sender (#4883) 2021-03-19 15:12:27 +03:00
Patryk Elszkowski
068e7ec459
Add pad backend test using NDArray (#4823)
Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
2021-03-19 13:51:35 +03:00
Pavel Esir
eaa4c7949f
[spec] added spec for Gather-7, some corrections in Gather-1 (#4687)
* added spec for Gather-7, some corrections in Gather-1

* applied review comments

* applied @rkazants comments

* applied @rkazants comments: added separate types for axis, fixed shapes in IR

* applied review

* applied review comments: added example with axis > batch_dims

* apply review comment from @lazarevevgeny

* applied review comments from @tsavina

* Update docs/ops/movement/Gather_7.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2021-03-19 12:08:48 +03:00
Anton Pankratv
35bff0d8a1
Moved executable network implementation from header (#4049) 2021-03-19 11:58:16 +03:00
Mateusz Tabaka
93d2bae95a
Move Mul node before Reshape in GroupConvolutionMultiplyFusion (#4031)
* Move Mul node before Reshape in GroupConvolutionMultiplyFusion

In following scenario:

                                    +-----------+
                                    |  weights  |
                                    +-----------+
                                         |
                                         v
                                    +-----------+
                                    |  Reshape  |
                       ....         +-----------+
                          \              /
                           \            /
                            v          v
                       +--------------------+
                       |  GroupConvolution  |
                       +--------------------+
                                |
                                v
                           +-----------+      +----------+
                           |  Multiply | <--- | Constant |
                           +-----------+      +----------+

if a second input (weights) to GroupConvolution is a Reshape,
we should apply Multiply node directly to weights rather than Reshape node:

                                    +-----------+
                                    |  weights  |
                                    +-----------+
                                         |
                                         v
                                    +-----------+      +----------+
                                    |  Multiply | <--- | Constant |
                                    +-----------+      +----------+
                                         |
                                         v
                                    +-----------+
                                    |  Reshape  |
                       ....         +-----------+
                          \              /
                           \            /
                            v          v
                       +--------------------+
                       |  GroupConvolution  |
                       +--------------------+
                                |
                                v

That approach has no side effects in the usual scenario when weights are constant,
but it's necessary for models with FakeQuantize since it gives possibility to perform
GroupConvolutionTransformation from LPT transformations.

* remove unnecessary new lines

* simplify code

* check if input to reshape has shape that starts with G * O

* add pattern::has_static_dims({0, 1}) to weights

* Use K = 3 in WeightsWithFakeQuantizeAndReshape tests

* Add LPT tests for groupconvolution_qdq_transformation

* fix PullReshapeThroughDequantizationTransformation tests
2021-03-19 10:39:50 +03:00
Tomasz Krupa
e62631c601
Check transformation callback in bidirectional sequence decomposition (#4836)
* Check transformation callback in bidirectional sequence decomposition

* Add BidirectionalSequenceDecomposition tests
2021-03-19 09:46:56 +03:00
Liubov Batanina
f102d3ff0a
Added missed headers to NormalizeL2 reference (#4832) 2021-03-19 09:10:28 +03:00
Evgenya Stepyreva
f4c13b6771
Small shape propagation & evaluators update (#4809)
* Small shape propagation & evaluators update

* minor style changes

* Selu operation shape inference

* Experimental tests for activation operations in the IE test infreastructure

* minor style fixes

* prelu fix
2021-03-18 23:29:35 +03:00
Alexandra Sidorova
704278e09e
[CPU][IE TESTS] Added VariadicSplit and Pad subgraph tests (#4583)
* [IE TESTS] Added VariadicSplit and Pad subgraph tests

* Added more connectedIndexes
2021-03-18 19:07:29 +03:00
iliya mironov
5bb8571980
Add ScatterElements value propagation (#4724)
* Add ScatterElements value propogation

* Add condition for input nodes

* Add asserts

* Refactoring scatter according to review

* Add unit tests for 1d axis tensor

* Refactoring according to review

* refactoring unit test

* Refactoring according to review

* Update unit test

* Update unit test
2021-03-18 16:55:35 +03:00
Anton Pankratv
a2b8b974b8
Simplified IE Exceptions Implementation (#4258) 2021-03-18 16:30:16 +03:00
Mateusz Tabaka
d068810936
Add SoftmaxFusion transformation (#4827)
SoftmaxFusion is based on SoftmaxFromKeras replacement from MO.
2021-03-18 15:31:30 +03:00
Maxim Vafin
f27efeab49
Document YOLACT support (#4749) (#4858)
* Document YOLACT support

* Add preprocessing section

* Apply suggestions from code review

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2021-03-18 14:12:37 +03:00
Mikhail Nosov
59707b7937
[Plugins test] Add func tests for import/export support by plugins (#4847)
* [Plugins test] Add functional test for correct import/export support by plugins

Test suite creates number of models with various precisions.
For each model:
- If plugin doesn't support IMPORT_EXPORT_SUPPORT metric - skip the test
- Try LoadNetwork without cache enabled fails - skip the test
- Do one inference
If Load and Infer request is succeeded and plugin has import metric:
- Load network with cache enabled. Infer request and compare outputs with original infer
- Import network, perform inference. Compare outputs with previous ones

* Fix Centos build warnings
Myriad: reset executableNetwork before next load
Myriad: Reduced time consumption for Myriad tests

* Caching test suite - batch size parameter support
2021-03-18 13:03:18 +03:00
Anton Chetverikov
e455a69d07
Add documentation on how to convert F3Net model (#4709)
* Add F3Net to list of supported models

* Add instruction for F3Net model pytorch->onnx conversion

* Add new file to ie_docs.xml

* Update instruction

* Apply comments

* Apply comments

* Apply review comments
2021-03-18 12:15:48 +03:00
Ilya Lavrenov
3435e7acb7
Proper detection of Apple M1 (#4848) 2021-03-18 11:17:13 +03:00
Ilya Lavrenov
25c2fea2f9
Build python wheel w/o strict dependency to _pyngraph (#4837)
* Build python wheel w/o strict dependency to _pyngraph

* Exclude extra components which are not needed for IE python wheel

- myriad_compile
- myriad_perfcheck
- compile_tool
- inference_engine_c
2021-03-18 11:00:14 +03:00
Mateusz Bencer
7602e0cd6a
fix using protobuf-lite on macos (#4850) 2021-03-18 07:28:30 +03:00
Ilya Churaev
1334d7d122
Enable OV clang format command for nGraph (#4792)
* Added add_clang_format commands

* Added clang_format targets as dependencies for original targets

* Update CI scripts

* Fixed code-style for nGraph unit tests

* Change job name

* Disable clang-format for Windows

* Fixed nGraph python build

* Fixed comments and enabled code style for ONNX Editor

* Disable code style check on compilation step
2021-03-18 06:38:10 +03:00
Vladimir Gavrilov
24c31fba6a
Fixed bug in the MO transformation UnsqueezeTileReshapeBlockToInterpolate (#4710)
* Some additional checks in the MO transformation UnsqueezeTileReshapeBlockToInterpolate.

* Refactored transformation UnsqueezeTileReshapeBlockToInterpolate: checks of applicabilty were moved into the separate function.

* Rewritten the MO transformation UnsqueezeTileReshapeBlockToInterpolate.

* Now we replace all block Unsqueeze+Tile+Reshape by Interpolate-4.

* Fixed comment.

* Added comments about applicability criteria.

* Some fixes.

* Small fix.

* Deleted redundant type casts.

* Added an example into comment.

* Now an interpolated axis length is calculated using the function node_to_get_shape_value_of_indices.

* Fixed tests.

* Optimized imports.
2021-03-17 21:56:25 +03:00
Jozef Daniecki
3d838067d8
ScatterNDUpdate operation spec refactoring. (#4851) 2021-03-17 19:40:40 +03:00
Ilya Sharikov
a382934a80
Added test for checking lib sizes, when using conditional compilation option (#4292) 2021-03-17 17:56:47 +03:00
Szymon Irzabek
38d16e24e9
Add basic gna2 model dump function (#4034)
* [GNA] Add gna model dumping

* [GNA] Modify debug layout, add timestamp, fix compound bias dump

* [GNA] Move data dump to another file

* [GNA] Create model data dump file only when needed
2021-03-17 15:51:43 +03:00
Gabriele Galiero Casay
0d0f06a2e4
Clamp specification refactoring (#4663)
* Refactor specification

* Complete detail description section

* Rewrite mathematical formula

* Fix range of values for min and max attributes

* Add note for conversion policy between float and integral type of input tensor

* Address review comments

* Fix typo in max attribute
* Remove redundant examples
2021-03-17 13:37:49 +03:00
Maksim Derbasov
2a19fc2d8a
Fix warnings spotted by cl compiler (#4793)
* Fix warnings spotted by cl compiler

* Use inline instead of anonymous namespace

* Review comments
2021-03-17 13:08:42 +03:00
Katarzyna Mitrus
cc718f5602
Fix shape propagation with broadcast to second input (#4826)
* Reshape interval propagation tests with scalar

* Set or_tensor result shape to log_or ourput

* Create result HostTensor without shape

* Add tests for scalar broadcast in binary ops

* Add tests for 1D inputs
2021-03-17 12:21:53 +03:00
Mikhail Nosov
4c5d9c2a1b
[Template]: Metrics IMPORT_EXPORT_SUPPORT and DEVICE_ARCHITECTURE (#4818)
Test:
Use benchmark_app from this PR #4814

Run ./benchmark_app -h
Verify that template plugin is listed in supported caching devices

Run ./benchmark_app -m <model.onnx> -d TEMPLATE -i <file> -cache tmpCache
Verify that tmpCache is created and network is exported to blob
Verify that if model is ONNX (e.g. ResNet50) - that loading of network is performed faster when cache is available

Run several times: ./benchmark_app -m <model.onnx> -d TEMPLATE -i <file> -cache tmpCache -single_load
Verify that if model is ONNX (e.g. ResNet50) - that loading of network is performed faster when cache is available
Verify that in this mode loading of network is faster than without "-single_load" option
2021-03-17 12:15:53 +03:00
Evgenya Stepyreva
f3abba3685
[ MO ] Put FQ fuses under the disable_fusing key (#4829) 2021-03-17 08:51:40 +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
Andrey Dmitriev
fab2b1b911
[DOCS] added iname/oname (#4825) 2021-03-16 23:37:16 +03:00
Vladislav Volkov
758af64bb8
MKLDNN weights cache key calculation algorithm changed (#4739) 2021-03-16 21:44:20 +03:00
Mikhail Ryzhov
31bd00f385
[PyPI] remove rpath for dylib (#4732)
* [PyPI] remove rpath for dylib
* use os.system instead of subprocess
2021-03-16 17:01:25 +03:00
Anastasia Popova
7111aff4a9
Fix of tensor names propagation in loops and in add_opoutput(). (#4565)
* Added tensor names propagation in loops and add_opoutput.

* Removed wrong changes.

* Fixed result rename test.

* Stage names fixed.

* Added tensor names propagation to outputs for caffe, tensorflow.

* Added tensor names propagation to outputs for kaldi.

* Fixed bugs.

* Bug fixed.

* Added fake outputs removal.

* Fixed bug.

* Added removal attr to fake outputs in kaldi, caffe.

* Fixed bug.

* Port indices fixed.

* Fixed fake outputs removal.

* Added get_attribute_between_nodes, set_attribute_between_nodes methods, fixed fake output removal.

* More comments added.

* Removed unnecessary stage sets in tests.

* Removed unnecessary output check.

* Revert wrong change.

* New line at the end of file.

* Output cut test.

* Output cut test added.

* Output cut test.

* Added unit tests, comments. Code refactoring.

* Removed unnecessary soft_get.

* Fixed bug in output_cut, code refactoring.

* Code refactoring.

* Added comments.

* Fixed bug in while loop.

* Corrected comments, code refactoring.

* Comments edited, code refactoring.

* Code refactoring.
2021-03-16 16:00:56 +03:00
Andrew Bakalin
c644cbde04
[IE][VPU]: Limit dlclose() WA to be used for Ubuntu only (#4807)
* Recently we have merged the WA for MyriadPlugin to be not unloaded at runtime for Linux systems.
It has been found that there are some problems with the usage of this linker option on CentOS, which led to Segmentation Fault on it, on the second call of dlopen() on myriadPlugin.
I tried to update glibc version on CentOS (to 2.28) and the problem disappeared.
Both Ubuntu 18 and 20 works fine and as it was requested as the used platform for the initial problem, I've decided to limit the solution for Ubuntu OS only.
2021-03-16 14:46:44 +03:00
Vladimir Gavrilov
0f4f912eab
Specification of the operation DFT (#4404)
* Created opset7.md to add the specification of the operation FFT.

* Started to write the specification of the operation FFT.

* Added link to the specification of the operation FFT.

* Continued to write the specification of the FFT.

* Written about inputs and outputs of FFT.

* Started to write examples.

* Added example when there is no input 'signal_size'.

* Added more example.

* Small fixes.

* Small fix.

* Renamed FFT to DFFT.

* Small fix.

* Small fix.

* Started to write the algorithm of FFT.

* Added asserts.

* Started to write the method __call__ of the class of DFFT calculation.

* Fixed category.

* Continued to write the algorithm of the FFT calculation.

* Continued to write the algorithm of the FFT calculation.

* Continued to write the algorithm of the FFT calculation.

* Continued to write the algorithm of the calculation of DFFT.

* Written the algorithm of the calculation of DFFT.

* Small fix.

* Renamed operation.

* Added examples of 3D input tensors.

* Covered complex number representation.

* Written formulas for FFT.

* Written about start point of trimming.

* Small fixes.

* Small fixes.

* Some fixes.

* Added some note.

* Added a description of the calculation of the output shape.

* Added examples with unsorted axes and with (-1) in signal_size.

* Fixed range of axes indices.

* Small fix.

* Small change.

* Added T_SIZE type.

* Added negative axes support.

* Some fixes.

* Some fixes.
2021-03-16 14:20:47 +03:00
Vladimir Gavrilov
37b251eb76
Specification of the operation IDFT (#4435)
* Written the draft of the specification of the operation IFFT.

* Small fix.

* Renamed the operation IFFT into DIFFT. Deleted attribute.

* Renamed operation to IDFT.

* Deleted int8 type.

* Added examples of 3D input tensors.

* Added formulas and text.

* Fixed ie_docs.xml.

* Fixed sign in the IFFT formula.

* Some fixes.

* Added examples with unsorted axes and with (-1) in signal_size.

* Some fixes.

* Small fix.

* Small fixes.

* Added type T_SIZE.

* Deleted redundant sentence.

* Added support for negative axes.

* Some changes.
2021-03-16 14:20:24 +03:00