Commit Graph

121 Commits

Author SHA1 Message Date
Gladilov, Gleb e61a594199
[IE][VPU]: Configuration options in VPU plugins refactoring (#3211)
* [IE]: Enables Abstract class -> Parameter conversion support

Parameter has templated constructor allowing to write code

```
Parameter p = i; // i of type int for example
```

This constructor uses SFINAE to resolve ambiguity with
move-constructor, so checks that argument is not of the same type.
In case it's not the same type it calls std::tuple constructors that
constructs an instance of argument type. In the following case:

```
Parameter p = static_cast<Parameter>(abstractRef);
// abstractRef is a reference to abstract class
```

We have a reference to some abstract class that defines explicit
cast operator to Parameter. In contrast with expectations,
instead of cast operator, Parameter constructor is instantiated,
since template type deduction for Parameter constructor didn't fail
(abstract class has not the same type as Parameter). Instantiation
of tuple constructor used inside failed: it's impossible to create an
instance of abstract class what lead to compile-time error. To resolve
the issue additional condition introduced to check if argument type is
abstract.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE]: Enables PrintTo method for Parameter and tests on it

Inference Engine API for configuration options uses Parameter
type as a return type of GetConfig method. Parameter is intended
to store object associated with configuration option.
To support objects of different types its constructor is templated.
Parameter overloads cast operators which are templated
as well. Both constructor and cast operators are implicit, which
makes it possible to implicitly convert any type to Parameter
and vice versa.

Since Parameter is a part of Inference Engine configuration API it's
essential google tests on API contain Parameter as tests parameter.
For each test parameter Google Test framework tries to print it to
an output stream. For that purpose, Google Test checks if test
parameter has output stream operator or PrintTo method. If not, it
checks if it could be implicitly converted to integral type and,
in this case, prints it as a long integer.

InferenceEngine::Parameter does not define output stream operator,
but could be implicitly converted to an integer, according cast
operators mentioned above, so Google Test tries to convert to
integer. Since Parameter not necessarily contains integer, this
conversion throws an exception of type mismatch, which makes it
impossible to use Parameter in Google Test framework as is.

In order to resolve that issue Parameter should define either
output stream operator or PrintTo method. If Parameter will
define output stream operator it will make it possible to compile
streaming almost any object to an output stream. The reason for it
is C++ checks if object could be implicitly converted to other type
which defines output stream operator, if objects itself doesn't do it
(e.g. `stream << "text";` calls std::string::operator<<, since
char const* is implicitly convertible to std::string).

Taking this into consideration the only way to support Parameter in
Google Test without breaking backward compatibility is define PrintTo
method.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE]: Fixes ill-formed extending std names

According to the standard:

The behavior of a C++ program is undefined if
it adds declarations or definitions to namespace
std or to a namespace within namespace std unless
otherwise specified. A program may add a template
specialization for any standard library template
to namespace std only if the declaration depends
on a user-defined type and the specialization meets
the standard library requirements for the original
template and is not explicitly prohibited.

As as an unexpected result, InferenceEngine::Parameter
that contains std::vector<std::string> can be printed
via PrintTo. In that case operator<< version from
Inference Engine is picked up.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Moves CompilationConfig out of GT header

Keeping config in a separate header simplifies migration
to new interface.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Removes Platform enum

Since there is enum from MVNC for the same purpose
there is no need in Platform anyway

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Introduces containers utility header

Contains some helpers to work with C++ maps

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Introduces new configuration API

The main ideas are separate option-specific logic
from common container, automate logic processing
public vs private, deprecated, compile-time vs
runtime-time options and remove code duplication.

Since IE defines configuration API using std::string
and Parameter, options have to provide ways to be
represented as Parameter (ex.: GetConfig is called)
and be defined using std::string (ex.: SetConfig is
called). Keeping information about actual key value
is useful for error reporting.

New API fallbacks to previous version in case of
unsupported options are requested. This way migration
becomes iterative and looks simpler.

Options containers are related to corresponding components:
CompilationConfig (name to be changed) - GraphTransformer,
PluginConfiguration - base class for plugins configurations,
MyriadConfiguration - Myriad plugin configuration,
HDDLConfiguration - HDDL plugin configuration (to be
introduced in a separate request)

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Replaces CompilationConfig with PluginConfiguration

Some of options to be refactored are stored inside CompilationConfig.
CompilationConfig is passed to graph transformer as a compiler to be
processed. Since it's separate data structure and migration process
is iterative we need a mechanism to provide some of compilation
options from new interface and some from old. It cannot be done via
plugin specific class (MyriadConfiguration), since there are others
plugins as graph transformer users. Plugin specific class
(MyriadConfiguration) already inherits from old version (MyriadConfig),
which in turn inherits from ParsedConfig containing CompilationConfig.

To resolve the issue MyriadConfig inheritance from ParsedConfig is made
virtual to make it possible for PluginConfiguration to virtually inherit
from ParsedConfig as well an so make PluginConfiguration data structure
for configuration options for graph transformer. Since
PluginConfiguration is base class of MyriadConfiguration as well as
MyriadConfig and inheritance is virtual plugin just casts its specific
configuration to base one passing to graph transformer.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Enables new tests on configuration API

* Enables following new shared tests on configuration API
  * Can load network with empty configuration
  * Check default value for configuration option
  * Can load network with correct configuration
  * Check custom value for configuration option (set and compare)
  * Check public configuration options are visible through API
  * Check private configuration options are invisible through API
  * Check GetConfig throws an exception on incorrect key
* Refactors myriad plugin instantiations for shared tests

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Extracts LogLevel enum to a separate header

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Refactors LOG_LEVEL configuration option

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Refactors COPY_OPTIMIZATION configuration option

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Fixes behavior tests build

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Updates tests on new exception class

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Removes unused variable from mvnc test

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>

* [IE][VPU]: Removes SizeVector streaming call

New assertion macro IE_ASSERT implementation uses
output streaming operator with r-value reference
argument as a stream. This prevents the compiler
from picking up overload from InferenceEngine::details,
since our version takes stream by non-const l-value
reference.

Since there is no simple solution to provide output
streaming operator overload for r-value references as
well and this call is just a message for assert in
test utilities, it was decided just to remove call
for now.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>
2021-06-17 18:54:39 +03:00
Szymon Irzabek 0f6f09bd3d
Gna revert padded to valid convolution and 2d convolution decomposition transforms (#5941)
* Revert "Gna conv2d decompose (#5604)"

This reverts commit f6c3b90364.

* Revert "GNA padded2conv tests & fixes (#5589)"

This reverts commit 5db77bf9e6.
2021-06-02 11:07:40 +03:00
Elizaveta Lobanova ee368fb828
[GNA] Fixed errors about unsupported 1d tensors (#5667) 2021-05-21 18:55:59 +03:00
Szymon Irzabek f6c3b90364
Gna conv2d decompose (#5604)
* adding conv2d decomposition

* save point

* build of conv_2d factorization succeeds

* working 2d conv decomposing transform

* added pseudo code for handling larger kernels

* fix conv splitting due to size

* active work on convolution 1xK without dilation

* validated NHWC ordered networks with convolution kernel sizes:
3x3
3x1
5x1
1x5
1x3

TODO: 2d max pooling

* removed debug printouts

* fusing max pooling/bias/af when -disable_nhwc_to_nchw option is used

* code cleanup

* [GNA] Fixes for CI run

* [GNA] Add tests, fix transform

* [GNA] Fix padded2valid and conv2d decomposition coexistence

* [GNA] Temporarily disable tests due to mock call count issues

* [GNA] Split tests for different hw versions

Co-authored-by: prozen <piotr.rozen@intel.com>
2021-05-20 11:01:29 +03:00
Ilya Lavrenov f84b25722c
Removed legacy dependency on snippets (#5656) 2021-05-18 00:24:37 +03:00
Ilya Lavrenov c76c0eb39e
Moved ie_tests to legacy (#5561)
* Removed obsolete tests files

* Removed old SLT

* Moved ie_tests to legacy
2021-05-12 12:57:48 +03:00
Ilya Lavrenov 349e2910fe
Openvino autogenerated cmake (#5484)
* Exclude xbyak from install

* Added automatically generated InferenceEngineConfig.cmake

* Reverted a version back

* Fixed issues with target aliases

* Make TBB dependency private

* Made ie_parallel.cmake self-sufficient

* Don't expose ie_paralle.cmake to end users

* Fixed compilation with TBB

* Fixes for TBB

* Fixed vpu_graph_transformer compilation

* Fixed tests compilation

* Added install of ie_parallel.cmake

* Switched ENABLE_ALTERNATIVE_TEMP to OFF. Fixed COMPONENTS for TBB

* Fixed file name in install rules

* Added find_dependency for TBB in ie_parallel.cmake

* WA for cmake bug with PACKAGE_PREFIX_DIR

* Fixed no-deprecation to fix speech-library build

* Reverted version from 2.1.0 to 2.1

* Revert "Reverted version from 2.1.0 to 2.1"

This reverts commit 7cb5d1563c.

* Returned custom version file back

* Added InferenceEngineConfig-version.cmake to share as well

* Disabled one more GPU test

* Added one more WA for CI

* WA for CI issue for C API

* WIP
2021-05-07 11:57:51 +03:00
Szymon Irzabek ed255eee71
[GNA] Additional PWL segments are added to avoid saturation (#5399)
* [GNA] Additional PWL segments are added to avoid saturation

After design phase for PWL segments has finished,
additional segments are added to avoid saturation.

This commit also reduces the number of PWL segments created
for some layer types.

* [GNA] Make PWL unit tests take into account saturation errata
2021-05-07 11:13:05 +03:00
Gorokhov Dmitriy a19413c0c0
[CPU] Plugin migration on ngraph (#4344) 2021-05-06 19:49:24 +03:00
Ilya Churaev ff9e67e732
Skip MVN operation on constant branches (#5460)
* Skip MVN operation on constant branches

* Added test
2021-04-30 10:37:27 +03:00
Ilya Lavrenov c350f61a42
Move all base wrapper classes from Plugin API to source folder (#5419)
* Small refactoring in TEMPLATE plugin

* Fixed compilation on Windows

* Fixed code style

* Hide CALL_STATUS_FNC helpers to private API

* Moved some base classes to private place from plugin_api

* Updates for VariableState creation

* Take Jane's changes for Demension names

* Revert "Take Jane's changes for Demension names"

This reverts commit 9f6c8fa5a6.

* Removed ICNNNetwork include

* removed more icnnnetwork includes

* Added missed include with ie_input_info.hpp

* Fixed GNA plugin to provide names w/o \0
2021-04-29 19:50:46 +03:00
Mikhail Nosov 6624a77827
Disabled sporadically failed GNAAOTTests (#5455) 2021-04-29 14:10:21 +03:00
Mikhail Nosov 05cae2714f
Generate unique file names for GNAAOTTests (#5403)
Issue can be reproduced on stress testing:
Get stress scripts from git@github.com:google/gtest-parallel.git
> python3 <workdir>/gtest-parallel/gtest_parallel.py  ./InferenceEngineUnitTests --gtest_filter=*GNAAOT* -r 100

It starts each test separately in different threads/processes and there is big chance of conflicts with unit_tests.bin
2021-04-27 08:59:20 +03:00
Roman Donchenko ed5313b2e1
Fix common misspelling: wraper -> wrapper (#5355) 2021-04-26 13:42:12 +03:00
Alexandra Sidorova 0d3baee1f3
[CPU] [IE TESTS] Added improvements for DepthToSpace and SpaceToDepth (#3897) 2021-04-21 16:45:07 +03:00
Anton Pankratv 46987def54
Merged internal Infer Request implementation (#5125) 2021-04-19 15:16:47 +03:00
Alexandra Sidorova 37893caa36
[CPU] Added improvements for StridedSlice (#4248) 2021-04-08 13:17:29 +03:00
Anton Pankratv b20d9b725c
Used internal exec network impl (#4922) 2021-04-08 12:29:41 +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
Anton Pankratv 3b3d9a0989
Used IE_THROW macro (#4869)
* Added ie throw macro

* Used IE_THROW macro
2021-03-23 18:57:12 +03:00
Anton Pankratv a2b8b974b8
Simplified IE Exceptions Implementation (#4258) 2021-03-18 16:30:16 +03:00
Marina Kolpakova 6e490c24e2
[§] introduces snippets generator (#4349) 2021-03-10 14:15:38 +03:00
Anton Pankratv a5e2497788
Synchronous inference using stream executor affinity and parallelism constraints (#528)
* Syncronous inference using stream executor affinity and parallelizm constraints

* Fixed review coments
2021-03-09 20:32:14 +03:00
Anton Pankratv 2fcf92be42
Removed IRelease Interface (#4032) 2021-03-05 12:08:01 +03:00
Piotr Rozen bf467e097f
[GNA] Fixed issue with multiple connections between pair of nodes (Split=>Concat) (#3953)
* fixed: gna split-concat-concat sequence issue
fixed: gna permute-conv-maxpool-permute issue

* fix issue with multiple connections between split|crop|memory & concat
fix issue with serializing IR V7 model

* fixed: gna split-concat-concat sequence issue
fixed: gna permute-conv-maxpool-permute issue

* fix issue with multiple connections between split|crop|memory & concat
fix issue with serializing IR V7 model

* fixed issues after rebase

* Fix for the test TEST_F(FP32NonQuantizedTest, LSTMCellPropagateForward)

Input x[96] = 0.1
Scaled input = 0.01
Affine output = 64 * 0.01 * 0.1 + 0.1 = 0.164
Sigmoid(Affine output) = 0.541
Tanh(Affine output) = 0.163
Sigmoid(Affine output)*Tanh(Affine output) = 0.088

Sigmoid(Affine output)*Scaled input = 0.005

H = Sigmoid(Affine output)*Tanh(Affine output) + Sigmoid(Affine output)*Scaled input = 0.093
tanh(H) = 0.093

Result = H + Sigmoid(Affine output)*Scaled input = 0.093 + 0.541*0.093 = 0.093 + 0.050 = 0.143

* Updated copyright date

* [GNA] Added tests for cases connection split->concat

* [GNA] Added fix memory -> concat case

* fixed inf loop during quantization

* fixed code formatting

* fixed failing test smoke_concat_quant_memory_requant/ConcatQuantDuringMemoryRequantTest.CompareWithRefs/netPRC=FP16_IS=128_HS=128_targetDevice=GNA

* fixed removed & mark from pass manager main for loop

* added split=>concat case to InsertCopyLayerPass

Co-authored-by: Andrey Dmitriev <andrey.dmitriev@intel.com>
2021-03-03 12:54:09 +03:00
Ilya Lavrenov edbb802e55
Removed some legacy code (#4371) 2021-02-17 13:57:14 +03:00
Maksim Kutakov 24aeb16fd1
[CPU BF16] OneHot layer extended with bf16 support. (#4171) 2021-02-17 10:52:23 +03:00
Piotr Rozen 3f6dbb8a00
[GNA] 4D StridedSlice, Clamp, InsertIdentityLayerPass, SubstituteScaleShiftBroadCastPass fixes (#4061)
* fixed: StrideSlice/Crop was broken when crop axis != dim.size() - 1 & added support for tensor dim > 2
fixed: clamp had hard coded upper & lower boundary to -50/50
fixed: InsertIdentityLayerPass was adding not necessary identities that was leading to exception when 2 identities was added to convolution output
fixed: SubstituteScaleShiftBroadCastPass caused invalid input tensor dimension overwrite - instead of overwrite currently reshape is injected

* updated copyright header dates

* updated copyright date

* fixed braces not at the end of line

* fixed braces in if else sequence

* shortened line length

* fixed issues reported in review

* fixed test - model in test assumed clamped range <-5,5> however code had hard coded value <-50,50>, which test assumed as correct result

* fixed smoke_MemoryEltwiseReshapeConcatTest/MemoryEltwiseReshapeConcatTest

* [GNA] Added test for crop 4d

Co-authored-by: Andrey Dmitriev <andrey.dmitriev@intel.com>
2021-02-12 12:27:00 +03:00
Anton Pankratv 945da5ff4f
Removed template from base (#4045)
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2021-02-04 17:43:20 +03:00
Anton Pankratv 54c889f876
Implemented base cancelation implementation (#3805) 2021-02-04 11:19:44 +03:00
Chenhu Wang db84033aa8
[CPU] Introduced Load/Store emitters (#3567)
- Created emitters for jitted load and store and apply to MVN node
- MVN template function removed
- Optimized tiles processing in MVN node implementation
2021-02-04 10:21:26 +03:00
Anton Pankratv 0a63b9214a
Used std::string as API paramters (#4050) 2021-02-03 19:21:39 +03:00
Maksim Kutakov f0398212f8
[CPU] Split layer nspc -> ncsp special case put back. (#3839) 2021-02-02 15:40:50 +03:00
Gorokhov Dmitriy d58b4c65c8
[CPU] Plugin migration on oneDNN (v1.6) (#3725) 2021-01-26 16:31:10 +03:00
Ilya Lavrenov 8311b98222
Pre-deprecation of ICNNNetwork (#3887)
* Deprecated ICNNNetwork

* MKLDNN plugin: partially

* MYRIAD plugin: partially

* Fixed Myriad Plugin

* Improved GNA; fixed MKLDNN

* Fixed tests

* Fixed GNA

* Fixed unit tests linkage

* Removed ICNNNetwork from tests

* Removed obsolete tests
2021-01-25 14:09:03 +03:00
Ilya Lavrenov 9cfe909e1e
Unused variables (#3963)
* Added -Wused-variable flag

* Fixes for clang compiler

* Removed wrong -Wno-error from protobuf compilation

* More fixes
2021-01-22 17:41:15 +03:00
Krzysztof Bruniecki 00c57a3bdf
Enable CNN2D tests for GNa Lib 2.1.0.1048 (#3529)
Enable tests including rectangular kernel and multiple kernels
  Pad filters to 16B
  Fix style space after if before ( needed
  Fix PRETTY_FUNCTION double def
  Fix canMatchWith1AsyncThread
  Fix ifdefs for gna 2.0
  Add and fix mock
  Simplify and fix condition for Rotate features
  Refine commnets in GNA CONV tests file
  Apply review, Refactor ConvolutionPrimitive
  Refine CNN enforce legacy
  Add debug print
  Move debug dump definitions
  Add new metric for GNA library version
  Add coments on FP32
2021-01-15 16:56:37 +03:00
Nikita Kudriavtsev 5d63b5f41f
[IE][VPU]: Fixed the calculation of timeout for x32 system (#3842) 2021-01-15 12:17:28 +03:00
Ilya Lavrenov 036f574756
module library type for IE plugins, extensions (#3656)
* CMAKE: Added MODULE linker flags

* Fixed plugins.xml s

* Use module instead of shared library

* Fixes

* tab 2 spaces

* Renamed get_shared_library_name to ie_plugin_get_file_name
2020-12-23 18:25:42 +03:00
Maksim Kutakov 95f531e9e0
[CPU] Improved Split layer (#3449)
* [CPU] Added more optimal Split implementation
2020-12-16 16:51:01 +03:00
Vladislav Volkov ec48fcb29b
CPU plugin selective build (#3360) 2020-12-07 17:49:08 +03:00
Chenhu Wang d35e3e806b
[CPU]disable and cleanup interp and resample that are covered by interpolate (#3164)
* [BF16] Interpolate layer and test were updated for support BF16

Co-authored-by: alexey-varyzgin <alexey.varyzgin@intel.com>
2020-12-04 11:05:10 +03:00
Ilya Lavrenov 2d75d8aff2
Removed global using namespace from Plugin API (#3451) 2020-12-03 17:52:55 +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
Bartosz Sochacki fc1a3ce2f1
[GNA] Fake quantization layer support for int-8 mode for GNA plugin (#2937)
* [GNA] added support for per-channel FakeQuantise layer

* [GNA] added quantisation types detection in FQ enabled networks, and added input scale factors detection from FQ connected to input layer

* added FakeQuantize callback that will be use to cast integer values stored as float in FakeQuantized layer

* fixed per-channel multiplier calculation for int8 case

* precision improvements for int8 fake quantization and support for propagating scale factors to activation layers

* added initial int16 support

* added support for fake quantize layer with many connected output layers and support for FQ data encoded as FP16

* added support for already quantized weights

* Shared single layer test

* Added subgraph test

* Fix comment

* int8

* Enabling FQ tests on GNA

Co-authored-by: Eugene Smirnov <eugene.smirnov@intel.com>
Co-authored-by: Andrey Dmitriev <andrey.dmitriev@intel.com>
2020-11-20 16:40:19 +03:00
Krzysztof Bruniecki 3f2ac0ff55
Print GNA lib version on error using Gna2GetLibraryVersion (#3154) 2020-11-19 18:02:51 +03:00
Elizaveta Lobanova ed6113854a
[GNA] Security fixes for 2021.2 (#3167) 2020-11-17 19:26:17 +03:00
Svetlana Dolinina 7bd76dc12b
Move QueryState from ExecutableNetwork to InferRequest (#2818)
* QueryState moved to InferRequest

* deprecate ExecutableNetwork::QueryState,chaged tests (without any check yet)

* fix build

* review fixes + build fix

* build fix + review changes

* remove blank line

* style fixes

* test build fixes

* style fix

* style fix

* fixed build of tests

* fix

* mac build fix

* hddl plugin build fix

* clean up unneeded implementation for method

* fixed tests build

* add implementation for getstate, correct getName for MklDNN

* fixed description of state API in comments

* lint fixes

* Rename MemoryState to VariableState

* added tests for cpu for VariableStates, several small fixes in tests and code

* merge fix

* lint fix

* remove whitespaces

* spaces fix

* fix in test to make it workable for all plugins

* fix typo

* fix test for gna

* remove extra comment

* fix test for gna
2020-11-12 12:40:43 +03:00
Edward Shogulin 719187ca04
[LPT] CNNNetwork LPT removal (#3035)
* [LPT] CNNNetwork LPT removal

* Fixes for LPT removal

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2020-11-11 14:56:58 +03:00
Ilya Lavrenov 5be7f32f95
Enable LTO only for Release (#2968) 2020-11-05 11:31:32 +03:00