* Enabling cache support for Myriad plugin
Remaining issues:
1) 49309 - support DEVICE_ARCHITECTURE
2) Fix 51472 for import/export issue with batch size > 1
* Added 'options' to DeviceArchitecture and more clarifications
* initial split of on_adapter function in order to check if all checks will pass
* remove blank line and change if statements for on_apdapter for void type
* add type checking instead of name checking
* add bracket two if/else if statements and move helper functions to private
* fix style
* revert removing ngarph check for empty pramas and result
* move map_type_from_body method to private, add const& function arguments
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.
* 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
* 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
* 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
* 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