Commit Graph

3905 Commits

Author SHA1 Message Date
Ilya Lavrenov
7e66411928
Remove deprecated api (#6256)
* Revert "Fixed creation of C++ wrappers from old API (#5805)"

This reverts commit ffe03b6ed3.

* Removed deprecated API

* Fixes 2
2021-06-20 13:01:32 +03:00
Gleb Kazantaev
72c8743a71
Add NGRAPH_UNIT_TEST_ENABLE cmake key to control backends build in unit-test target (#6232) 2021-06-18 17:59:43 +03:00
cecilia peng
ac01777166
MatrixNMS-8 spec. (#5948)
* Specification of a new operator called MatrixNMS.

This Op functionally equivalent to NonMaxSuppression-5, with an non max suppression algorithm called matrix_nms, and perform more post-processing phases, and lay out
the detection outputs in the way of PaddlePaddle detection.

* Update docs/ops/sort/MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>

* Update docs/ops/sort/MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>

* Update docs/ops/sort/MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>

* Update docs/ops/sort/MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>

* Update docs/ops/sort/MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>

* Update docs/ops/sort/MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>

* Update docs/ops/sort/MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>

* Update docs/ops/sort/MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>

* Update MatrixNMS_8.md

* Update MatrixNMS_8.md

Co-authored-by: Anastasiya Ageeva <anastasiya.ageeva@intel.com>
2021-06-18 17:39:23 +03:00
Alexander Shchepetov
020af3dddd
add TF Roll op test (#6228) 2021-06-18 17:36:08 +03:00
Gleb Kazantaev
b5f2383c1c
Add std::shared_ptr<Variable> attribute comparison support (#6222)
* Add std::shared_ptr<Variable> attribute comparision support

* Added unit test
2021-06-18 17:27:12 +03:00
Gladilov, Gleb
63211d548f
Fixes skip tests config after tests renaming (#6231)
Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>
2021-06-18 13:34:30 +03:00
Rafal Blaczkowski
b6e62e7a0b
Update Openvino ONNX CI Azure check (#6227)
* Update

* update models

* update models

* Fix models path
2021-06-18 12:58:42 +03:00
Krzysztof Bruniecki
1048e6f69b
[GNA] Introduce an option to invoke the QoS feature (#5827)
* [GNA] [WIP] Introduce an option to invoke the QoS feature 56759

* Apply remaining revew (typos) for PR 5741

* Introduce HW_WITH_SW_FBACK

* Add unit test for HW_WITH_SW_FBACK

* Enable HW_WITH_SW_FBACK in speech_sample cpp

* Use perf counters to report number of HW delivered frames to the user (eg speech_sample)

* Update speech_sample.hpp

based on review

* Update gna_config.hpp

Describe special perf counter

* lint fix

* Apply review

  * Remove special performance counter
  * Add GNA frequency for 6/151 CPU family/model

* Update inference-engine/samples/speech_sample/main.cpp

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>

* Update main.cpp

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
2021-06-18 12:42:18 +03:00
Vladimir Gavrilov
70f9d8564e
Written reading the operation CTCGreedyDecoder for ONNX (as a custom operation). (#6215) 2021-06-18 09:54:41 +03:00
Ivan Tikhonov
8543b42ac0
DeformableConvolution v8 specification (#5684)
* ModulatedDeformableConvolution spec

* add bilinear_interpolation_mode attribute

* updated formulas for DeformableConv v1 and v8, applied review remarks

* fix doxygen formulas

* Update Deformable conv v8 spec, update docs
2021-06-18 09:50:29 +03:00
Gabriele Galiero Casay
9dd0531599
Negative operation specification refactoring (#6204)
* update spec

* update supported types in spec

* Minor changes in spec

Co-authored-by: pszmel <piotr.szmelczynski@intel.com>
2021-06-18 09:20:40 +03:00
cecilia peng
73ef2ffb41
MulticlassNms-8 spec. (#5907)
* MulticlassNms-8 spec.

This Op functionally extends NonMaxSuppression-5, to perform more post-processing phases, and lay out
the detection outputs in the way of PaddlePaddle detection.

* Update MulticlassNMS_8.md

Clarify the meaning of "nms_top_k".

* Update MulticlassNMS_8.md

* Update MulticlassNMS_8.md

* Update MulticlassNMS_8.md

* Update MulticlassNMS_8.md

* Update MulticlassNMS_8.md
2021-06-18 09:20:00 +03:00
Piotr Szmelczynski
94352874a5
Revise ceiling (#6124)
* update spec

* add RTTI macro

* clean backend test file

* create visitor test

* remove Ceiling cpu functional tests from skip_test_config

* fix skip_test_config conflict

* Add type_prop test for Ceiling.

* Fix failing ceiling type_prop tests.

* Replace unary_ops.cpp with single test op files.

* Enable integer tests.

Co-authored-by: Szymon Durawa <szymon.durawa@intel.com>
2021-06-18 05:50:02 +03:00
Tomasz Dołbniak
1fadfdafe7
Deprecation of Node::get_default_value and some cleanup (#6203)
* Deprecated the get_default_value method of Node class

* Cleanup of the obsolete get_version methods

* Deprecation warnings suppression

* Deprecation of get_default_value for v0 ops
2021-06-18 05:41:26 +03:00
Egor Duplensky
03b00f63bc
[CPU] Extend blob dumping (#5939)
* [CPU] Extend blob dumping

* Allow multiple node types
* Allow dump only input / output blobs
* Allow dump all blobs using "*"
2021-06-17 21:18:14 +03:00
Maria Kaglinskaya
6d4704ba9d
Fix klocwork master (#6219)
* Fix klockwork issues in pruning transformation

* Fixed tabs
2021-06-17 19:59:33 +03:00
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
Nadezhda Ageeva
3063afdbfc
[GNA]: enable ITT couners and conditional compilation for GNA plugin (#5998) 2021-06-17 16:47:59 +03:00
Maria Kaglinskaya
cadaefea8c
Added i8, u8 precisions in Gather constant folding (#6195) 2021-06-17 16:10:58 +03:00
Pavel Esir
ccd568a2d2
[nG] Gather-8 shell (#6171)
* gather-8 nGraph shell

* added opset8 tbl; added visit_attribute test

* corrected opset tbl
2021-06-17 13:02:07 +03:00
Edward Shogulin
8390f40788
[LPT] Empty shape on weights handling: cherry-pick to master (#6170)
* [LPT] empty shape on weights fix

* [LPT] SplitTransformation naming fix

* [LPT] tests

Co-authored-by: Vladislav Golubev <vladislav.golubev@intel.com>
2021-06-17 12:36:25 +03:00
Jozef Daniecki
f9771253ae
VariadicSplit revision (#6106)
* Add visitor tests for VariadicSplit.

* Add backend tests sceleton.

* Add backend unit tests.

* Add backend tests with dynamic function.

* Remove redundand headers.

* Modified backend tests to check also scalar axis.

* Remove unused headers.

* Changed backend tests to test `-1` value in split_lenghts tensor.

* Const correctness improved in validate_and_infer_types.

* Add VariadicSplit to summarize.py.
2021-06-17 08:47:35 +03:00
Gabriele Galiero Casay
db67c1b2b9
Add reduce operations to script with trusted ops (#6200) 2021-06-16 18:11:25 +03:00
Taylor Yeonbok Lee
b8313c4fae
[IE CLDNN] Disable crop optimization only when the node is inside a loop body program (#6192) 2021-06-16 17:47:08 +03:00
Elizaveta Lobanova
5c55d390e8
[GNA] Allow 2d reshape of the first diagonal layer (#6115) 2021-06-16 16:19:21 +03:00
Gleb Kazantaev
2c775d48b2
Remove Pruning from MO (#6191) 2021-06-16 16:02:57 +03:00
Tomasz Jankowski
b1db3448e7
[ONNX] Extend ONNX Importer for operation "Einsum" (#6074) 2021-06-16 14:57:29 +02:00
Vladislav Volkov
99ebda98f1
[CPU] Memory leak in jit_uni_i8i8_pooling kernel (#6188) 2021-06-16 15:54:40 +03:00
Egor Duplensky
5b847fabe8
[CPU] Refactor load_emitter_context semantic. Update store emitter (#5824)
* [CPU] Refactor load_emitter_context semantic. Update store emitter

New load_emitter_context constructor arguments order
seems to be more convenient.
Store emitter now emits bf16 emu.
2021-06-16 14:42:26 +03:00
Alexandra Sidorova
b05977a536
[CPU][IE TESTS] Added more input shapes for Pooling tests (#6083) 2021-06-16 14:14:50 +03:00
Mateusz Tabaka
d76d267478
Add support for fp64 in Convert's evaluate (#5911)
It's required for t2t-vit models.
2021-06-16 13:46:33 +03:00
Mateusz Tabaka
dc0d482c23
Add support for fp64 in Sqrt's evaluate method (#5913)
It's required for t2t-vit models.
2021-06-16 13:45:36 +03:00
Rafal Blaczkowski
7b2779c406
cleanup improvement (#6186) 2021-06-16 13:25:06 +03:00
Alexander Shchepetov
b0c508d4ff
Add layer tests (#5789)
Co-authored-by: alexander.shchepetov <ashchepe@nnlvdp-cflr51.inn.intel.com>
2021-06-16 12:50:16 +03:00
Edward Shogulin
72cb75ffc7
[LPT] Reshape folding extending: cherry-pick to master (#6151)
* [LPT] Reshape folding extending

* [LPT] tests addition

* typo quick fix
2021-06-16 11:14:29 +03:00
Chenhu Wang
dbe1c1ab49
[CPU] Change rounding type in load/store emitters (#6134) 2021-06-16 10:32:32 +03:00
Anna Khakimova
b6d7af12ae
PP: Color conversion kernels refactoring (#5985)
* [PP] POC of vectorised kernels refactoring

 - base/framework changes

* [PP] POC of vectorised kernels refactoring

 - ChanToPlane implementation

* [PP] POC of vectorised kernels refactoring

 - ChanToPlane, switched order of dispatching to first choose ISA type

* [PP] POC of vectorised kernels refactoring

 - ChanToPlane, moved choose ISA stage to kernel package generation

* Preparing

* NV12ToRGB kernel refactoring

* * I420ToRGB kernel refactoring

Co-authored-by: Anton Potapov <anton.potapov@intel.com>
2021-06-16 10:07:46 +03:00
Vladimir Paramuzov
2f81968a31
[IE CLDNN] Introduced new runtime API (#5417) 2021-06-16 09:27:16 +03:00
Evgenya Stepyreva
b36c7736da
Deprecated legacy maximum_value method (#6178)
* Deprecated legacy maximum_value method since it is less reliable than the existing one

* Style and doxygen \deprecated comment
2021-06-16 09:06:19 +03:00
Gabriele Galiero Casay
8c68f8b43c
Revise reference implementation for ReduceMin operation (#5797)
* Revise reference implementation for ReduceMin operation

* Refactor backend unit tests

 * Move tests with zero dims to op_eval

* Fix code style

* Added minor changes

 * Replace CoordinateTransform for CoordinateTransformBasic
 * Added constant expression to set keep_dims as false

* Add const qualifier to local variables

* Use host tensor to retrieve and normalize axes

* Re-arrange unit tests in manifest
2021-06-16 09:01:57 +03:00
Patryk Elszkowski
59fd456ba2
minor fixes in Parameter spec (#6146)
* minor fixes in Parameter spec

* expand supported type list and add output shape info
2021-06-16 07:37:37 +03:00
Jan Iwaszkiewicz
c4274d4c32
Change version of pybind (#6145) 2021-06-16 07:36:06 +03:00
Patryk Elszkowski
4fb2d83db9
use RTTI declaration macro and add visitor API test (#6147) 2021-06-16 07:09:57 +03:00
Roman Kazantsev
3292543252
Fix recovery of output subscript in Einsum implicit mode (#6131)
* Fix recovery of output subscript in Einsum implicit mode

Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Fix code style

Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
2021-06-16 06:43:12 +03:00
Gleb Kazantaev
ea3ed8af21
Turn on IE and NG python APIs by default inside Model Optimizer (#5721)
* Turn on IE and NG python APIs by default inside Model Optimizer

* Remove fallback

* Fix mo_ut

* Remove MO wheel tests

* Add model_optimizer custom target to gather all MO deps inside single traget

* Fix PR comments
2021-06-16 03:12:24 +03:00
Marina Kolpakova
ad852f78b4
[§] cleans snippets interface and adds subgraph tests (#6123) 2021-06-16 01:00:19 +03:00
Szymon Durawa
613bb981ce
external_port_id is calculated based on number of op inputs. (#6037)
* External_port_id is calcultaed based on number of op inputs.

* Add test for external_port_id serialization.

* Restore data section appearance in xml file.
2021-06-16 00:44:34 +03:00
Mikhail Nosov
0981a15846
[Caching] Klocwork fixes (#6157) 2021-06-15 22:40:46 +03:00
Edward Shogulin
a16af0d2ea
[LPT] FakeQuantize folding fix to support ConvolutionBackpropData with FQ on weights (#6160) 2021-06-15 16:59:10 +03:00
Bartosz Lesniewski
58eef532e9
Revise ExtractImagePatches op - specification (#6105)
* Change example input matrices to tex

* Remove leftover matrix template

* Remove reference to TF operation
2021-06-15 13:54:00 +00:00