Commit Graph

119 Commits

Author SHA1 Message Date
Maxim Shevtsov
f2dda1bbca Added new tests that config set via ie.SetConfig or LoadNetwork is returned via exe_net.GetConfig and align plugin impl to that (#7627) 2021-09-24 10:03:24 +03:00
Egor Shulman
95342de8c8 [CPU] Fixed failed tests (#6742) 2021-09-24 09:37:54 +03:00
Vladimir Zinoviev
fadb768fcd [LPT] INT16, INT32 Quantization support (#7199)
* [LPT] INT16, INT32 Quantization support

* [LPT] Support build on platforms with size_t == unsigned int

* [LPT] Test and fix wrong constant

* Fix build for size_t = unsigned int
2021-09-21 10:00:35 +03:00
Egor Shulman
bdaa44d0be Fixed Minimum op if u8/16/32/64 data type is used (#6665) 2021-09-15 07:52:46 +03:00
Vladislav Volkov
c06a51f2bf [CPU] Models cache for CPU plugin (#6403) 2021-09-14 16:02:47 +03:00
Maxim Shevtsov
3bec32449f OV Performance Hints (CPU and GPU logic for selecting the actual configs), while AUTO/MULTI are passing them thru) (#6993)
* rebasing the perf-modes-2021.3 to the 2021.4

Caveats:
the (explicit) setting #streams is not disabled (as it was before for experiments with DLBenchmark), and the logic slighlty differ (streamsSet)

(cherry picked from commit 1ae1edc0ed)

* overriding streams (to force the TPUT mode to the DLBenchnark)

(cherry picked from commit 7f506cda31)

* disabling reducing #streams to fully mimic baseline c4df94d42d of the 2021.3 (before experiments)

(cherry picked from commit 85073dd1dd)

* clang/identation

(cherry picked from commit 050a4155a9)

* splitting the Transformation to general and CPU specific.

Now hopefully,this fully mimics the  baseline c4df94d42d of the 2021.3 (before experiments), as the streams reduce num (as well as early exit on GRU/LSTM/TensorIterator) is deisabled

(cherry picked from commit e98b2c1a67)

* disabling GRU/LSTM/TI + reducing of streams + 5D considered compute-limited only for int8

(cherry picked from commit 32b8d80dee)

* refactored to avoid compute_limited_ratio, reverted the reducing #streams, removed LSTM from limitations

(cherry picked from commit f2b972171b)

* isa-based threshold logic

(cherry picked from commit b218457e1a)

* mode->hint

(cherry picked from commit ec20aa8eca)

* optional PERFORMANCE_HINT_NUM_REQUESTS

(cherry picked from commit 5a3883e3f3)

* moving the perfHints to the common OV config class + initial tests (CPU only, as the actual AUTO/MULTI should be accommodated on the master)

(cherry picked from commit (then fixed)45bafe7d527f466507dea0693aeed51be4ebf776)

* AUTO support for PerfHints

* MULTI support for PerfHints

* Enabling Perf hints for the GPU plugin

* brushing settings output a bit

* disabling "throughput" perf hint being default (until OV 2.0)

* uncommenting the logic which was disabled to force the DLBenchmark to use the throughput mode by default

* removing dead and experimental code, and debug printfs

* clang/code-style

* code-review remarks

* Moved the output of the actual params that the hint produced to the right place

* aligning MULTI's GetConfig beh to HETERO's as captured in the preso (CVS-59960) ratified with the ArchForum

* clang

* benchmark_app brushing

* Update inference-engine/samples/benchmark_app/README.md

* propagating the perf hints thru one more scenario in the merged AUTO-MULTI

* fixed mispint

* Python benchmark_app update for perf hints

* addresssing reviewers comments on the python benchmark_app

* simplifying/brushing logic a bit

* refactor the heuristic to the separate file (to be shared with iGPU soon)

* refactor conversion of modes to the specific GPU config per feedback from Vladimir
2021-09-13 15:40:36 +03:00
Maksim Kutakov
5096fe19f1 [CPU] Dynamic shapes support using fallback on reference (#6882) 2021-09-08 10:33:20 +03:00
Edward Shogulin
b7deb11d6a [LPT] Legacy restrictions removal: dequantization operations (#6974)
* [LPT] Legacy restrictions removal: dequantization operations

* [LPT] not used tests removal
2021-09-01 09:59:29 +03:00
Gleb Kazantaev
06d212ad83 Enable NormalizeL2Fusion and LeakyReluFusion inside MOC (#7096)
* Enable NormalizeL2Fusion inside MOC

* Fix NormalizewL2 decomposition (KeepDims=True)
2021-08-19 17:24:41 +03:00
Yury Gaydaychuk
7372708254 [CPU] Deform. conv. - reference enforced (#6945) 2021-08-18 13:15:32 +03:00
Pavel Esir
4738bbd757 [MO][nG] add Gather-8 to MO, layer tests, nG python api unit-tests and up/down-grading transformations (#6560)
* gather-8 upgrade/downgrade transforms

* bump to opset8

* add Gather-8 to MO

* fix permutation for Gather

* added TF layer tests, ONNX layer tests for negative indices, and nG python api unit-tests for negative indices

* typo fix, disable downgrading transformation

* disable downgrade in clDNN, line width style fix

* all Gathers are converted to 7th version, transformations will be enabled/disabled while op will be added into plugins

* disabled Gather8LayerTest on GPU

* added common function for Op replacement

* concretized meaning of negative indices, fixed some typos

* applied review comments: left only meaningful layer tests

* removed op replacing functions from common utils

* returned back transformations without subroutines

* corrected style, added comments to common_optimizations.cpp
2021-08-13 11:56:49 +03:00
Luo Cheng
86bb056dbf MulticlassNms/MatrixNms: transformations and CPU implementation (#6653)
* init version, need revise: opset7

* add convert testcase

* multiclass_nms support spec

* init version

* matrixnms support spec

* init support for matrix_nms

* impl matirx_nms

* implemented multiclass_nms reference.

TODO: more test cases.

* support dynamic shape in test

* update to spec 0611

* update to spec 0611

* fixes.

* fix: now sort by class_id and score work.

* fix clang check error

* more test cases verified.

* fixes in ref impl.

* attribute nms_eta works

* test cross_batch and output_type i32.

* enable multiclass-nms cpu plugin fallback ngraph

* keep topk typo

* enable matrix-nms cpu plugin fallback ngraph

* support sort_result_across_batch

* Add matrix_nms unit test

* Add cross batch test cases

* fix typo

* move multiclass to opset8

* move matrixnms to opset8

* Reference implementations for MulticlassNms and MatrixNms ops

* fix name conflict

* remove unused var
sort_result_across_batch default set to false

* avoid float overflow

* fix clang check error

* info for mac fail

* change testcase due to unstable sort

* nms add 'normalized' attribute

* multiclass cpu test support 'normalized'

* nms add 'normalized' attribute

* fixes: 1. normalized support. 2. sort by score before keep_top_k inside a batch.

* fixes: 1. normalized support. 2. sort by score before keep_top_k inside a batch.

* fix sort order in matrix_nms

* fix review comments

* add matrix_nms MKLDNN extension layer

* parallel in matirx nms

* separate filtered_box

* separate class_nms result

* parallel in class

* parallel in batch

* partial new nms

* partial remove useless function

* debug & fix

* debug in indexing

* fix test cases

* remove logging

* fix code-style

* fix typo

* add matrix_nms extension

* nms python api

* remove unused testcases

* refactor transformation

* transform dynamic shape to static shape

* Update inference-engine/src/transformations/include/ngraph_ops/nms_static_shape_ie.hpp

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

* remove register_pass call

* [MKLDNN]migrate matrix_nms to MKLDNNNode

* bug fix in matrix_nms

* padding on matrix_nms

* remove logging

* test case refine

* merged transform_matrix_nms branch

* refine matrixnms testcase

* multiclass nms cpu plugin implement for static shape, rebased on Reference implementations PR

* rebase to new multi-classs transform provided by lc

* Name style algin with matrix-nms

* static shape padding style to batch inside,new unit test method, real classnum shape

* fix format

* fix ci error

* multi-class NMS modification based on PR reviewer opinion: code format, copyright, delete unused include and funciton way

* explicit template instantiation due to mac ci fail

* Yi3/fix review (#16)

* fix coding style

* use parallel_for2d

* fix ci fail

* unify 'copyright 2021'

* mkldnn_multiclass_nms node update based on PR review (#17)

* [MKLDNN] apply suggestion for matrix_nms (#18)

* fix bug

* apply review comments

* apply review comments

* apply review comments

* apply review comments

* skip only Nms test, not MatrixNms MulticlassNms test

Co-authored-by: Zhang Yi3 <yi3.zhang@intel.com>
Co-authored-by: jialipen <cecilia.peng@intel.com>
Co-authored-by: mangguo <mang.guo@intel.com>
Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
Co-authored-by: liubo-intel <bo4.liu@intel.com>
2021-07-30 15:45:44 +03:00
Alexandra Sidorova
1aa58b4c7d [CPU] Enabled MatMul+Transpose transformations and reduced MatMul inference overheads (#6570) 2021-07-28 16:11:41 +03:00
Edward Shogulin
fefe7f4176 [LPT] FakeQuantize folding extending (#6708)
* [LPT] ConvolutionBackpropData fix FQ weights folding

* [LPT] Fixed test to reproduce the bug

* [LPT] fold FakeQuantize

* [LPT] Function tests refactoring

* refactoring

* [LPT] functional test quick fix

* [LPT] dynamic shapes support

Co-authored-by: Zinoviev, Vladimir <vladimir.zinoviev@intel.com>
2021-07-22 23:17:23 +03:00
Mateusz Tabaka
1e1e3bfffd Fix NormalizeL2Fusion and allow LpNormalization to be fused to Normal… (#5664)
* Fix NormalizeL2Fusion and allow LpNormalization to be fused to NormalizeL2

* apply code format

* use cast_vector<uint64_t>

* use MKLDNNNormalizeL2Node::isSupportedOperation in normalizeL2FusionCallback
2021-07-22 07:14:43 +03:00
Edward Shogulin
c3c26b4807 [LPT] Refactoring: PoC (#5226)
* LPT fix for Windows

* LPT fix for Windows

* Remove inference_engine_transformations_EXPORTS

* [nGraph] Register new node in GraphRewrite

* [LPT] nGraph alignment

* [LPT] nGraph alignment: tests

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2021-07-19 16:48:20 +03:00
Ivan Tikhonov
697c52abfe DeformableConv v8: reference implementation (#6514)
* DeformableConv v8:reference implementation

* ngraph codestyle

* update reference iplementation

* Disable tests on GPU

* fix unit tests

* Update DeformConv single layer tests

* fix serialization tests
2021-07-19 06:15:34 +03:00
Ivan Tikhonov
434fcec53c DeformableConvolution v8: MO and IR reader (#6532)
* ModulatedDeformableConvolution extractor

* Update MO to generate DeformableConv opset8

* clean up

* ir reader tests

* fix bilinear_interpolation_pad attribute

* update BOM file

* fix BOM file

* delete unnecessary tests

* resolve review comments

* fix e2e test

* fix e2e test

* resolve review comments

* add comment
2021-07-12 08:09:41 +03:00
Anton Pankratv
d899606493 Merged plugin and exec network internal implementation (#4923)
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2021-05-27 13:33:09 +03:00
Maxim Andronov
cec8ad417f [CPU] Ngraph migration leftovers: performance fixes (#5680) 2021-05-24 08:43:18 +03:00
Anton Voronov
5e4c3c4804 [CPU] Deconvolution int8 support (#5565) 2021-05-21 13:54:56 +03:00
Alexandra Sidorova
dcc288680b [CPU] Added Gather-7 support (#5552) 2021-05-20 09:09:28 +03:00
Vladimir Zinoviev
e41e25533d [LPT] ConvolutionBackpropData support (#5313)
* [LPT] ConvolutionBackpropData support

* minor fixes

* [Transformations] Legacy subtract precision keep

* [LPT] ConvolutionBackpropData tests improvements

* [LPT] ConvolutionBackpropData weights folding when can't be transformed

* [LPT] CanBeTransformed unification and convolution weights folding

* [LPT] GPU INT8 optimizations condition flag

* [LPT] Concat precision predict improvement

* [LPT] Turn off asymmetric quantization for Deconvolution on GPU

* [LPT] Improvements from review

* [LPT] Check if layer after concat isQuantized and require per-tensor quantize

* [LPT] Improvement for Deconv->FQ pattern

* [LPT] Commented failing tests
2021-05-18 00:59:01 +03:00
Edward Shogulin
56bff02a8b [LPT] [CPU] Convert dequantization shift in low precision before FP32 conversion in CPU (#5247)
* [LPT] [CPU] Convert dequantization shift in low precision before FP32 conversion in CPU

* [LPT] Avoid not neccessary conversion to FP32

* [LPT] Split workaround: replace_node manual handling

* [nGraph] [LPT] Q/DQ representation on weights extension: update transformation for conversion to old format

* review notes fix

* [LPT] checkZeroPoint reuse
2021-05-15 08:48:00 +03:00
Vladislav Volkov
d2c9bddff1 Convert operation optimization for FP16 -> INT8 and FP32 -> INT8 (#5275)
Improvements for ConvertPrecision transformation pass
2021-05-14 13:48:02 +03:00
Chenhu Wang
516479ae20 [CPU]shuffle_channel optimization (#4978) 2021-05-13 13:43:42 +03:00
Gorokhov Dmitriy
a19413c0c0 [CPU] Plugin migration on ngraph (#4344) 2021-05-06 19:49:24 +03:00
Vladislav Volkov
c97bb90a91 Nested ITT counters lead to invalid performance measurement results (#5172)
* Compile time enabling or disabling of first inference time counters

* First inference time counters

* Counters for validate_nodes_and_infer_types and check_all_parameters_registered removed from first inference time counters scope

* Code style fix

* Missing macro for CC and invalid domain names

* Code style fix

* Unused function warnings fixed
2021-04-29 07:33:21 +03:00
Vladislav Golubev
05c23dfd94 [LPT][CommonOptimizations] ShuffleChannelsTransformation and ShuffleChannelsFusion (#4916)
* [nGraph] op::v0::ShuffleChannels: added type_info macros

* [LPT] ShuffleChannelsTransformation

* [CPU] ShuffleChannels decomposition disabled

* [LPT][TESTS] ShuffleChannelsTransformation functional tests

* [LPT][TESTS] ShuffleChannelsTransformation plugin tests

* [CommonOptimizations] Added ShuffleChannelsFusion transformation

* [CommonOptimizations][TESTS] ShuffleChannelsFusion tests

* refactoring and adding comments

* [CommonOptimizations] ShuffleChannelsFusion refactoring and fixes

* [CommonOptimizations] ShuffleChannelsFusion: removed unnecessary check

* [CommonOptimizations] transformation refactored and test-cases with dynamic shape added
2021-04-23 13:26:53 +03:00
Alexandra Sidorova
37893caa36 [CPU] Added improvements for StridedSlice (#4248) 2021-04-08 13:17:29 +03:00
Mateusz Tabaka
acf778d655 Disallow SoftmaxFusion when input rank is greater than 5 (#5028) 2021-03-30 14:43:35 +02:00
Evgenya Stepyreva
da7c2dfc2b Enabled (u)int_4 to (u)int8 conversion (#4973) 2021-03-26 12:27:33 +03:00
luocheng
29873c0a1d wait cpu executor destroy (#4796) 2021-03-24 12:55:45 +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
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
Jan Iwaszkiewicz
8ec59ceda4 [CPU][ONNX] Convert FP64 precision to FP32 (#4681) 2021-03-19 19:28:55 +01:00
Anton Pankratv
a2b8b974b8 Simplified IE Exceptions Implementation (#4258) 2021-03-18 16:30:16 +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
Maxim Andronov
cce3375d55 Revert "[CPU] Changed output blobs creation used output info (#3796)" (#4492)
This reverts commit a15246e1d0.
2021-02-25 23:06:19 +03:00
Edward Shogulin
cec2f2fb9e [LPT] integrated fixes for release 2021.3 (#4460)
* [LPT] denormal handling in AddTransformation

* [LPT] ReshapeTransformation: 4D->3D after Convolution fix

* [LPT] fuse eltwise to fq fix

* [LPT] fuse mul to fq: mul by zero handling

* [LPT] FuseConvertTransformation: convert with unexpected precision

* [LPT] Disable constant folding on weights during reshape

* [LPT] new Q/DQ weigths prerequisites

* [LPT] AddTransformation (swapMultiplyAndAdd) constant precision definition workaround

Co-authored-by: Vladislav Golubev <vladislav.golubev@intel.com>
2021-02-25 16:00:19 +03:00
Maxim Andronov
a15246e1d0 [CPU] Changed output blobs creation used output info (#3796) 2021-02-24 10:31:52 +03:00
Nikolay Shchegolev
a5fce440e1 [CPU] Double registration of MVN6 decomposition. (#4388) 2021-02-18 11:11:02 +03:00
iliya mironov
f670b7cb3a Add CTCGreedyDecoder mo support (#4009)
* Add CTCGreedyDecoder mo support

* Update copiright

* Update bom file

* Add transformation

* Fix code style

* Fix according to review

* Add CTCGreedyDecoder v6 to ConvertPrecision

* Hot fix

* Add replasment for ctc_greedy_decoder

* Fix test

* Fix

* Update ie transform

* Draft ctc lost replaser

* Add ctcloss replaser

* Update

* Refactoring code

* Update transformation

* Update decoder

* Remove comments

* Convert seq mask from int to float

* Fix unit test

* Add dynamic tests

* Refactoring code

* Fix py code style

* update style

* Disable ctcgreedydecoder transform for mkldnn plugin

* Add some comments

* Add transfor code comments

* Enable transform from differend plagins

* Fix mo

* fix tests

* Fix comment

* Fix convert precition

* Update comment

* Fix prcition

* Refactoring according to reviw

* Add ir reder extender

* Rename transformation

* Update bom file

* Fix mo replacer

* Fix tests

* Move transform to decomp

* Add check blank_index

* Rafactoring ctcloss

* Change dinemic rank check

* Fix ctclos extractor

* Remove comment

* Fix code style

* Refactoring pattern matcher for transformation CTCGreedyDecoder

* Disavle transform for vpu

* Refactoring according to review

* Refactoring code

* Disable transformation for cldnn

* Remove unused code

* Reverse transfomation

* Fix code style

* Hot fix transform

* Fix unit tests

* Update transform

* Enable transform in common pipline

* Fix names replasments for mo transformations

* Hot fix

* Fix
2021-02-17 14:38:51 +03:00
Evgeny Lazarev
3f5ff2cfe5 Remove generic ie op (#4213)
* Removed legacy IE shape infer

* Removed GenericIE operation

* Removed legacy shape infer tests

* Removed legacy test with legacy IE reshape

* Fixed compilation issues related to removal of GenericIE

* Fixed one more compilation issue with clDNN

* Fixed test for reading experimental ops

* Updated tests and make IR Reader to load old experimenal and extension ops as opset6

* Change opset of some ops only if they are currently experimental/extension to avoid situation like opset1::Proposal -> opset6::Proposal

* Removed more legacy code

* Returned back code removed by mistake

* Fixed issues related to incorrect merge with master

* Merge fixes

* Fixed unit tests which starts to fail because now loading the model with unknown operation is failed earlier

* Removed incorrectly added code

Co-authored-by: Evgeny Lazarev <elazarev.nnov@gmail.com>
2021-02-13 21:15:46 +03:00
Evgenya Stepyreva
a313c0c3ee Dequantize (Sub, Mul) to FakeQuantize (#4189)
* Dequantize (Sub, Mul) to FakeQuantize

* disable for CPU/GPU
2021-02-10 17:08:11 +03:00
Edward Shogulin
f57f1fafc7 [LPT] Q/DQ support integration (#3575)
* [ MO ] New INT weights form

	Ticket #34096

	FQ = Quantize -> Dequantize =
	= FQ` -> Convert(int8) -> Convert(src_dtype) -> FQ =
	= Constant(int8) -> Convert(src_dtype) -> FQ =
	= Constant(int8) -> Convert(src_dtype) -> Subtract(zero_point) -> Multiply(scale)

* [LPT] Q/DQ representation support

Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com>
2021-02-03 17:05:34 +03:00
Nikolay Shchegolev
8d7c9de090 [CPU] Enable MVN-6 operation. (#3400) 2021-02-03 16:49:37 +03:00
Ilya Lavrenov
685bf830d5 Fixed cldnn compilation with static runtime (#4070) 2021-02-02 20:11:40 +03:00
Maxim Andronov
537179b235 [CPU] FakeQuantize decomposition (#3741) 2021-02-02 09:37:02 +03:00
Gorokhov Dmitriy
d58b4c65c8 [CPU] Plugin migration on oneDNN (v1.6) (#3725) 2021-01-26 16:31:10 +03:00