Commit Graph

278 Commits

Author SHA1 Message Date
Svetlana Dolinina
ed96cc7c1a added Kaldi dropoutmask extraction (#7456)
* added Kaldi dropoutmask extraction and Kaldi lstmNonlinearity replacer extended for dropout case

(cherry picked from commit 0dd05f8053)

* fixed frame time calculation for Kaldi models with shapeof branches

* fix bug in frame time calculation for Kaldi models with shapeOf paths

* remove incorrect attribute from transformation

* refactoring based on review, couple more checks

* minor review fixes
2021-09-24 00:03:47 +03:00
Roman Donchenko
8598ce89a3 Add missing spaces between words in string literals (#7540)
And in one case, a missing period.
2021-09-20 15:38:49 +03:00
Anton Chetverikov
9cfdad9afc Change sort functions to fix incorrect order in port dictionaries (#7283)
* Change sort functions to fix incorrect order

* Add separate sorts for different cases

* Update sort function to correct control flow edges handling

* Refactor all sorts for dictionary ordering

* Update build_graph function for correct control_flow edges creation

* Add tests for nodes and ports sort equality

* Fix wrong port value

* Add direct conversion from bool to int

* Use .replace instead of .strip

* Add test with both control_flow and ordinary edges, refactored edges lists filling

* Refactored nodes dict filling

* Delete unused test code
2021-09-20 10:17:44 +03:00
Ilya Lavrenov
0df7dab345 New IRC package structure (#6255)
* OV new package structure

* Fixes

* More fixes

* Fixed code style in ngraph tests

* Fixes

* Paths to setupvars inside demo scripts

* Fixed demo_security_barrier_camera.sh

* Added setupvars.sh to old location as well

* Fixed path

* Fixed MO install path in .co

* Fixed install of public headers

* Fixed frontends installation

* Updated DM config files

* Keep opencv in the root

* Improvements

* Fixes for demo scripts

* Added path to TBB

* Fix for MO unit-tests

* Fixed tests on Windows

* Reverted arch

* Removed arch

* Reverted arch back: second attemp

* System type

* Fix for Windows

* Resolve merge conflicts

* Fixed path

* Path for Windows

* Added debug for Windows

* Added requirements_dev.txt to install

* Fixed wheel's setup.py

* Fixed lin build

* Fixes after merge

* Fix 2

* Fixes

* Frontends path

* Fixed deployment manager

* Fixed Windows

* Added cldnn unit tests installation

* Install samples

* Fix samples

* Fix path for samples

* Proper path

* Try to fix MO hardcodes

* samples binary location

* MO print

* Added install for libopencv_c_wrapper.so

* Added library destination

* Fixed install rule for samples

* Updated demo scripts readme.md

* Samples

* Keep source permissions for Python samples

* Fixed python

* Updated path to fast run scripts

* Fixed C samples tests

* Removed debug output

* Small fixes

* Try to unify prefix
2021-09-15 16:49:11 +03:00
Anastasia Popova
cf48792134 Random Uniform MO implementation (#6694)
* Added RandomUniform operation.

* Conflicts fix.

* Fix conflicts.

* Fix conflicts.

* Added ONNX extractor, fixed FP16 conversion, added double implementation.

* int32, int64 types.

* Added initial type attribute.

* Added extractors for MxNet and TF for RandomUniformInt.

* Fixed ChangeRandomUniformOutputType transformation.

* Corrected ONNX, MxNetextractors.

* Fixed extender.

* Code style corrected, updated BOM file.

* Small correction.

* Code reformat.

* Fixed type check.

* Small corrections, code style.

* Added RandomUniform tests to manifest file.

* Include fixed.

* Code style.

* Small corrections.

* Tests fixed.

* Manifest file updated.

* Removed initial type attribute.

* Small correction.

* Fixed problem with Const types change.

* Update ngraph/core/include/ngraph/op/random_uniform.hpp

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

* Update ngraph/core/src/op/random_uniform.cpp

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

* Update ngraph/core/src/op/random_uniform.cpp

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

* Applied comments to shell implementation.

* Applied comments to shell implementation.

* Moved shell and reference to separate PR.

* Moved shell and reference to separate PR.

* Corrected comments, code refactoring.

* Fixed seed attributes.

* Corrected mxnet extractor.

* Returned RandomUniform onnx extractor.

* Small fix.

* Used generator in tests, fixed input ports count in AttributedRandomUniform.

* Temporarily added DropoutWithRandomUniformReplacer and debug output.

* Temporarily added DropoutWithRandomUniformReplacer and debug output.

* Temporarily added DropoutWithRandomUniformReplacer and debug output.

* Temporarily added DropoutWithRandomUniformReplacer and debug output.

* Moved DropoutWithRandomUniformReplacer to ngraph, removed debug output.

* Fixed wrong change.

* Fixed wrong change.

* Added check that RandomUniform is in ShapeOf subgraph.

* Added layer tests, updated supported operations list.

* Small correction.

* Fix conflicts.

* Fix conflicts.

* Small fix.

* Used const for not changing values.

* Apply suggestions from code review

Co-authored-by: Gleb Kazantaev <gleb.nnstu@gmail.com>

* Added IR check in layer tests.

* Fixed error.

* Fixed test.

* Update inference-engine/src/transformations/include/transformations/common_optimizations/dropout_with_random_uniform_replacer.hpp

Co-authored-by: Gleb Kazantaev <gleb.nnstu@gmail.com>

* Removed ShapeOf and Mul from DropoutWithRandomUniformReplacer.

* Replaced register_new_node with make_shared.

* Added fp16 test.

* Extended for RandomUniform->Convert case.

* Used modf().

* Removed modf().

* Update inference-engine/src/transformations/src/transformations/common_optimizations/dropout_with_random_uniform_replacer.cpp

Co-authored-by: Gleb Kazantaev <gleb.nnstu@gmail.com>

* Added negative tests, added nullptr check for add_const_value.

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
Co-authored-by: Gleb Kazantaev <gleb.nnstu@gmail.com>
2021-09-14 21:26:57 +03:00
Yegor Kruglov
9d53b3536d [MO] Updating MO to detect TF 2.X OD API models (#6983)
* updated FasterRCNN and SSD analysis patterns

* updated tf od api conditions

* updated ssd patterns

* added more ssd topologies

* move preprocessor to tf od api condition

* update TF OD API conditions

* refactoring

* specify data type
2021-09-10 17:44:42 +03:00
Evgenya Stepyreva
aa106ad270 Unused transformations deleted (#7428) 2021-09-09 10:07:59 +03:00
iliya mironov
60714ce40a Fix return values for lift_up_through func (#7323)
* Fix return valuese for lift_up_through func

* Update unit test

* Refactoring code according to code review

* Fix revers outputs

* Fix unit test

* Fix comment

* Add multioutput support

* Add unit test for cace with several output from ReverseChannel op

* Fix distinantion connect
2021-09-08 14:48:59 +03:00
Mateusz Tabaka
990b7e67da [MO] MulFakeQuantizeFuse - don't fuse if mul constant has zero or negative values (#7347) 2021-09-08 13:26:49 +03:00
Evgeny Lazarev
4547818fb1 Move TF OD API docs to code + several fixes for TF OD API models conversion (#7377)
* Refactored code, updated comments and documentation related to TF OD API models pre-processing.

* Improved MO messages related to pre-processor block removal during conversion of the TD OD API models. Remove mean/scale if padding is used and mean/scale is applied before resize

* Updated TF OD API transformation and documentation for SSD models

* Updated comments and documentation for the ObjectDetectionAPIMaskRCNNSigmoidReplacement transformation

* Updated comments and documentation for the ObjectDetectionAPIMaskRCNNROIPoolingSecondReplacement transformation

* Updated comments and documentation for the ObjectDetectionAPIPSROIPoolingReplacement transformation

* Updated comments and documentation for the ObjectDetectionAPIProposalReplacement transformation

* Updated comments and documentation for the ObjectDetectionAPIDetectionOutputReplacement transformation

* Minor code style fixes

* Fixed unit tests for ObjectDetectionAPIPreprocessor2Replacement transformation

* Improved unit test for pipeline.config parser. Fixed very long bug with incorrect test data for the PipelineConfig parser class

* Code style fixes

* Get rid of "coordinates_swap_method" parameter in the JSON configuration file for TF OD API models

* Code style fixes and minor refactoring

* Simplied code related to swapping Proposal coordinates

* Removed incorrectly removed code

* Fixed code review comments about the code comments
2021-09-08 10:03:01 +03:00
Evgeny Lazarev
3775dad345 MO dynamic shapes support (#5918)
* Allow MO to generate IR with -1 in dimensions

* Some fixes to support -1 for StridedSlice operation

* Updated TensorArrayGatherV3 shape infer to support dynamic output shape

* Several fixes to support undefined dimensions in the Broadcast,Reshape,Slice and Tile

* Fixed bug in the normalization transformation of TF NMS to opset NMS

* Updated shape infer functions related to StridedSlice and NMS

* Updated Select shape inference function to use common shape broadcasting function supporting dynamism

* Fixed operation TFResize shape infer function to work correctly for case when model is converted with --disable_nhwc_to_nchw

* Dynamic Range and update asserts in NMS

* Changed the way how dynamic dimensions are specified. Refactored shape inference functions and common places to use new approach

* More fixes to support dynamic shapes

* More fixes for support of dynamic shapes

* Fixed generation of IR with dynamic dimensions

* Allow reading IRs with undefined dimensions

* More changes in the IE to support dynamic dimensions

* Fixes for Switch, Merge, Concat shape and value infer related to dynamism

* Fixed TensorArray related ops to properly handle dynamic dimensions. Fixed StridedSlice infer for case with new_axis

* Fixed shape_for_layout function to generate masked array

* Fixed shape inference for Convolution and Poolings to support dynamic spatial dimensions

* Updated shape infer functions for CTCGreedyDecotder, CTCLoss and Enter

* Fixed shape inference with dynamic dimensions for MatMul, Split, Upsample, SpaceToBatch, some fixes for the TI

* Fixes for undefined dimensions support for Proposal and DetectionOutput

* Fixed ExtractImagePatches, DepthToSpace and RegionYolo shape infer functions to work with partially dynamic dimensions

* Changes in tf_window_op_pad_infer to better work with dynamic dimensions

* Fixed output shape calculation for StridedSlice operation

* More StridedSlice fixes

* Fixed resolve_convolution_with_group

* Fixed unit tests

* Fixed unit tests

* Fixed Switch op unit tests

* Fixed shape inference for Upsample operation

* Updated unit tests for the Concat operation

* Fixed eltwise shape infer unit tests

* Fixed shape infer tests for Convolution and DetectionOutput ops

* Fixed Crop shape infer function tests

* Fixed Slice op unit test and minor fix in the shape inference. Fixed emitter

* Updated unit test for telemetry and match_shape function for dynamism

* Fixed unit test for the DetectionOutput

* Added support for the TF ClipByValue operation

* Fixed GatherND shape inference for dynamic shapes support

* Dynamic shapes support for the MO IR Reader

* Fixed BlockLSTM operation to not work as an extractor

* Allow to serialize IRs with partially defined shapes

* Updated SelectBroadcast transformation to not check shape values

* Fixed MO IR comparator

* Fixed SS value propagation when slices are dynamic

* Do not re-run graph clean-up for ProposalMutation

* Fixed InterpolateSequenceToInterpolate transformation to support dynamic dimensions

* Fixed Loop iteration count calculation and reading IteratorGetNext shapes

* Fixed unit test for serialization

* Fixed serialization test

* Fixed RandomUniform shape infer

* Fixed several transformations related to RNN to respect dynamic output shapes

* Fixed Deconvolutin shape calculation for dynamic batch. Eltwise shape infer improvements

* Fixed shape infer functions for ExperimentalDetectron ops, reverted changes for NonZero and removed debug prints

* Fixed check for dynamism of a list, fixed value propagation for Concat op and remove redundant shape infer for reshape

* Update Eltwise value propagation to use np.ma

* Fixed ExpandDims shape infer function

* Shape infer functions fixes and improvements

* Remove Accum op from the MO

* Updated activation functions shape infer

* Removed unsupported operation Correlation

* Fixed shape infers for several functions

* Removed unsupported DataAugmentation operation

* Fixed shape infer functions for several ops in extensions directory

* Removed not-support operation PowerFile

* Removed unsupported SpatialTransformer,SimplerNMS and PredictionHeatmap operations

* More shape infer functions updates

* Merge shape infer fix

* Fixed typo

* Fixed TensorArraySize shape infer function

* Fixed VariadicSplit and Squeeze shape infer

* Fixed ONNX models Parameter extractor

* Updated Select value propagation for the dynamic case

* Fixed ReorgYolo shape infer and test

* Removed unnecessary tests

* Fixed Tile shape infer

* Fixed SparseFillEmptryRows unit tests

* Fixed package bom

* Added extractor for the TF operation Mod

* Fixed value propagation for MatMul operation

* Updated Parameter extender to generate shape_array when shape is partially defined only

* Fixed BOM file

* Fixed issue with the TF OD API models and DetectionOutput op. Now the shape infer function for the DO do not re-infer "num_classes" attribute value if it is already known

* Fixed unit test for the DO infer

* Fixed num classes calculation for the DO generation for Faster/Mask-RCNN models

* Changed NMS op to produce static output shape

* Restore dynamic output shape calculation for the NMS for NMS-5

* Fixed CellNormalizer transformation. It should work for static shapes only

* RNNCell Op class fixes

* Revert some changes

* Updated documentation with a list of supported operations

* Revert changes

* Fixes for the ConstantFill op

* Removed redundant SequenceLengthToMask transformation

* TensorArray* ops shape infer code style and refactoring

* Reverse some unnecessary changes in the ConvolutionNormalizer

* Fixes and unit tests for shape_array, compare_shapes, is_fully_defined functions

* Implemented shape_insert, shape_delete functions and tests for them

* Modified code to use shape_delete function

* Added usage of shape_insert function where necessary

* Use shape_insert function in many places

* Some fixes in shape inference for various ops

* Updated shape_delete function to support negative indices

* Changes and unit tests for the MatMul infer function

* Removed strange code from the TF Merge infer function

* Merge op shape infer fixes

* Fixed value propagation in the transformation EltwiseInputReshape.py for the dynamic dimension case

* Code cleanup

* Updated GatherND to support dynamic dimensions

* Minor fixes

* Fixed shape_insert and shape_delete to support np.int64 and np.int32 types

* Updated Upsample operation unit tests with dynamic input shapes

* Minor change in the extensions/back/ConvolutionNormalizer.py to make sure that input dimensions are static

* Fixed ConvertGroupedStridedSlice transformation and added unit tests

* Revert debug changes

* Fixed value propagation for Unsqueeze to work with partially defined input values

* Typo fix

* Added unit tests for the Unsqueeze op shape infer

* broadcasting functions changes and unit tests

* Fixed Tile value inference for partially defined input tensor

* Unit tests for Split and VariadicSplit ops

* Fixes for the Concat infer + unit tests

* Removed redundant tf_pack shape infer

* Fixed Concat value infer and added unit tests

* Fixed StridedSlice shape inference for case with dynamic slices

* Fixes related to StridedSlice shape infer, changes in tests

* Unit tests for the eltwise shape and value infer

* Fixed Pad op value propagation to allow dynamic input values to be propagated

* Unit test for Pooling dynamic input shape infer

* Squeeze op unit tests for dynamic input shape

* Added assert to the Squeeze op shape infer for case when squeeze dimension is dynamic value

* Added message to the MO when input shapes are dynamic

* Convolution dynamic unit test

* Removed redundant transformation GroupedConvWeightsNormalize

* Removed non-ascii character from the message

* Fixed typo in the BOM file

* Code style and comment fixes

* Fixed copy-paste issue in the DO shape infer function

* Fixed setting dynamic shape in the MO command line

* Added function to compare tensor with dynamic values. Fixes in the unit tests and shape infer functions

* Improved Reshape shape infer + added unit tests

* Fixed value propagation for Select op

* Renamed several internal functions, minor code fixes.

* Code style fixes

* Modified condition in the _set_shape method of the Port class to not check shape if the "override_output_shape" attribute is specified

* Fixed constant value propagation for ReduceOps when inputs have dynamic values. Added unit test

* Fixed shape infer for the Loop for dynamic dimensions case

* Fix in the NMS shape infer to avoid ragged numpy array generation. Fixed Scatter shape infer validation

* Improved shapes infer for eltwise ops with respect to dynamic dimensions

* Changed code comments

* Renamed tensor names in the ClipByValueTFTransformation

* Changed np.ma.allequal to strict_compare_tensors in the Merge op infer

* Chanded np.ma.allequal with strict_compare_tensor.

* Fixed Merge op value infer

* Fixed debug code

* Removed commented line

* Updated condition to check for dynamic shapes in the Partial infer to not fail for MxNet models

* Improvements to the get_shape_from_slice and is_dynamic_slice functions

* Reverted change in the `normalize_slices_attr` for ellipsis mask case

* Updated shape conditions in the ScatterNDBase op to support dynamic dimensions

* Crop op file refactoring

* Set "type" attribute to None for SparseFillEmptyRows op which is not from any opset

* Removed unnecessary extractor test

* Restored Crop operation type

* Removed "type" attribute from the Crop operation and updated the MO code to find Crop by "op" attribute

* Fixed If shape infer function to produce dynamic dimensions

* Updated If shape and value infer to properly work when condition is static

* Fixed fusing transformation check to work with dynamic dimensions. Change comparison in the shape_inference function to not use strict shapes comparison

* Optimize imports in the LayerNorm

* ConvertGroupedStridedSlice minor fixes related to dynamism support

* Fixed ConvertGroupedStridedSlice to properly check if the dimension is sliced
2021-09-01 14:35:06 +03:00
Evgeny Lazarev
0587569369 Enable TensorFlow Min operation (#7144)
* Added extractor for the TF operation Min (reduce min)

* Added unit tests for the TF Reduce ops
2021-08-25 09:42:24 +03:00
iliya mironov
80c5f1a325 Add support opset11 for gemm normalizer (#6733)
* Add support opset11 for gemm normolizer

* Add layer test for gemm opset 11

* Fix layer test

* Fix layer test

* Refactoring according to code review

* Fix

* Update biases norm

* Refactoring matmul norm

* Fix accoding to review

* Fix alpha parameter

* Fix variable naming

* Refactoring according to code review
2021-08-24 15:43:19 +03:00
Anton Chetverikov
f8e90f0c56 [MO] Add transformation for single CTCGreedyDecoder operation (#7023)
* Add transformation for single CTCGreedyDecoder operation

* Fix style in op specification

* Update transformation logic

* refactor old tests and add tests for new transformation

* Move tf specific front transformations to tf folder

* Update transformation logic and comments

* Add run_after function and update comments

* Add output_sparse_format attribute to extractor

* Update transformation conditions and tests

* Fix incorrect comment

* Move sparse_to_dense_replacer to front/tf folder to fix problems with class registration

* Update import

* Update output ports handling in transformation

* Update test

* Fix BOM file

* Update pattern for ctcloss transformation

* Fix and refactor tests for ctcloss transform

* Update transformation conditions
2021-08-24 15:42:27 +03:00
Yegor Kruglov
14dcd43c32 [MO] Replacing StridedSlice with Squeeze/Unsqueeze (#6693)
* added reinterp_shape parameter to tf ss extractor

* removed reinterp_shape

* added transformation to replace ss

* updated bom

* fix for e2e tests

* updated a case when shrink_axis_mask and new_axis_mask are both initialized

* unittests

* added comments

* updated graph_condition

* comments resolving

* updated the case, when shrink_axis_mask and new_axis_mask are both initialized

* added layer tests for squeeze/unsqueeze cases

* remove case when shrink and new axis masks are both set
2021-08-24 13:19:40 +03:00
Svetlana Dolinina
70e0b7817f Nested loop (#6710)
* initial changes to support nested loop

* fixed issues

* fixed nested loop extraction

* added comments

* removed unneeded comments

* review fix

* added tests

* turned off loop tests on GPU

* set xfail for TF tests

* removed TF test to move it in another repo

* fix typo in comment

* move duplicated code to separate functions;
added asserts

* add function for onnx constant creation;
add function to create body of loop
add comments to test

* move main change for nested loop to separate function
2021-08-23 23:11:39 +03:00
Pavel Esir
f77d838e6c [MO] turn on MarkSubGraphsWithCorrectLayout for TF NCHW (#7150)
* turned on MarkingSubgraphsWithCorrectLayout for TF NCHW

* restricted MarkSubgraphsWithCorrectLayout.py only to TF

* added comments why need to MarkSubgraphsWithCorrectLayout even for TF NCHW models
2021-08-20 18:47:45 +03:00
Eugeny Volosenkov
38022c4cd6 Mo implementation for If with tf extractor (#6662)
* Add tf2.x impl for If

* Fix ir_engine

* Fix opset

* Fix BOM file

* Added new test

* Fix comments

* Add subgraph_utils

* Fix comments

* Fix transform

* code refactoring

* Fix description

* rewrite support for empty tensor in if

* added onnx extractor

* delete onnx_if

* fix bug with fake_outputs

* Fix test

* Fix control_flow and fix commentaries

* create method results_mapping_and_finding_fake_outputs(output_nodes_in_subgraph,
2021-08-19 10:13:21 +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
iliya mironov
eadeae6c47 Fix ChangeOutputTypeAttributes BackReplacementPattern (#6949)
* Hot fix

* Add unit test
2021-08-09 19:22:21 +03:00
Vladimir Gavrilov
838e701e5e ExpandRangeConstant adjustment for bidirectional Broadcast (#6739)
* Fixes in the transformation ExpandRangeConstant.

* Fixed test.

* Now we use use ShapeOf for both inputs of Broadcast.

* Now the transformation ExpandRangeConstant uses two Gather layers.

* Deletec commented code.

* Fixed tests for the transformation ExpandRangeConstant.

* Rewritten the transformation ExpandRangeConstant using Select.
2021-08-09 16:49:07 +03:00
Pavel Esir
bfca47ad5e [MO] Range output_type correction for FP16 (#6590)
* added ChangeRangeOutputType.py

* applied review comments

* corrected error message - warn user to use FP32

* renamed ChangeCastOutputType.py et ell.

* merged ChangeRangeOutputType.py, ChangeCastOutputType.py into a singe file

* corrections

* typo fix

* applied comments: faster find_and_replace loop, wording correction
2021-08-02 11:41:12 +03:00
Evgeny Lazarev
d28ecc4f2f New approach for Proposal sub-graph conversion for TF OD API models (#5847)
* Draft version of new approach for Proposal sub-graph conversion for TF OD API models

* Added clip_after_nms = True for Proposal sub-graph being replaced with DetectionOutput

* Refactored code to insert DetectionOutput instead of Proposal operation

* Code cleanup

* Added separate function to insert DetectionOutput instead of Proposal operation

* Updated transformation configuration files for the TF OD API models with Proposal transformation

* Code refactoring

* Code refactoring

* Fix for the condition

* Fixed transformation

* Fixed transformation. One more time

* Updated document about conversion of the TF OD API models

* Update code comments
2021-08-01 10:17:22 +03:00
Roman Kazantsev
032cebb9da Implement transformation for TensorFlow 2 Map Function (aka tf.map_fn) (#6836)
* Implement transformation for TensorFlow 2 Map Function primitive

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

* Add a description for get_external_node_by_internal_id function

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

* Correct a name for get_external_nodes_by_internal_id function

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

* Fix a description for get_external_nodes_by_internal_id function

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

* Add logging and fix indentation

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

* Use skip_nodes_by_condition to by-pass StopGradient nodes for tf.map_fn

Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
2021-07-30 12:10:59 +03:00
Roman Kazantsev
12fb83dc1e Correct layout for Einsum inputs and output (#6696)
* 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>

* Correct layout adjustment for Einsum inputs and output

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

* Correct a comment in the unit-test

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

* Setup correct transformation dependencies for LayoutChangeForEinsum

Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
2021-07-23 11:01:06 +03:00
Evgenya Stepyreva
a3825ba1a5 Zero point optimization (#6683)
* Zero point optimization

* Expand the equality to zero criteria
2021-07-21 15:59:59 +00:00
iliya mironov
253ff51e69 Remove split-concat subgraph before pad op (#6506)
* Remove split-concat subgraph before pad op

* Fix unit tests

* Add unit tests for PadNormalizer

* Fix according to review

* add propagation up for Pad

* Fix value propogation

* Remove PadMormolizer

* Refactoring according to review
2021-07-21 14:33:43 +03:00
Evgenya Stepyreva
46a20fdb12 Zero point optimization (#6617)
Ticket: #59063
Summary: try to fuse zero point to the weights in order to make the zero point == 0.
2021-07-13 15:37:15 +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
Gleb Kazantaev
2a970a56d3 Enable common optimizations on MO (#6245)
* Enable common optimizations on MO

* Added tensor name tracking; updated tests

* Disable DilatedConvolution transform

* Fix TopK3 transformation

* Codestyle fix

* Update tensor name logic

* Fix scatter nd shape inference for dynamic shape

* Update FrameworkNode to propagate dynamic output shape

* Enable HSwish in MO that is missing in nGrpah

* Cleanup MO and IE code

* Fix review comments

* Fix unit test
2021-07-09 00:38:07 +03:00
Anton Chetverikov
8a31e8aafb Provide keep_output_port attribute to add_opoutput function (#6117)
* Implement way to provide keep_output_port attribute to add_opoutput function

* Update tests

* Update comment

* Fake commit to pictures merge problem

* Change default value

* Add type

* Revert "Fake commit to pictures merge problem"

This reverts commit 41850765e0.
2021-07-05 12:34:44 +05:00
Evgeny Lazarev
21d060ac2b Updated conversion of TF OD API 2.4 SSD models (#6473)
* Updated conversion of TF OD API 2.4 SSD models

* Fixed issue when more Conv2D nodes were selected for weights permutation when converting TF OD API models

* Code style fixes

* Fixed code comments
2021-07-02 17:35:59 +03:00
Svetlana Dolinina
ccf786438b Kaldi priors (#6258)
* add priors to loader and counts transformation

* fixes in select insertion for case with context gathering - LSTM - context gathering
fix for edge parallel to ReadValue
extend counts option to case of priors inside mdl model file

* fixed tests

* fixed typo

* fixed issue with input names

* fix priors loading + comments

* fix e2e test: error with not found transformation

* print debug info for dependency graph - should be reverted

* should be reverted: debug commit

* Revert "fix e2e test: error with not found transformation"

This reverts commit 8320fa99bf.

* revert debug commits

* fixes after review

* review fixes

* review change

* review changes
2021-07-02 15:18:23 +05:00
Evgeny Lazarev
635ab37a86 MO now shows a hint when --disable_nhwc_to_nchw is needed (#6350)
* MO now shows a hint when --disable_nhwc_to_nchw is needed

* Updated message to be printed using log.error

* Small code refactoring
2021-06-25 12:12:52 +03:00
Yegor Kruglov
10e5936dee [MO] Fixes in Merge infer function (#6125)
* move output shape setting to the conditions

* e2e fix

* updated unittests
2021-06-24 18:53:13 +03:00
iliya mironov
7211cd3aa6 Fix transpose with reverse (#6234)
* Fix transpose with reverse

* Add unit test
2021-06-24 18:12:32 +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
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
iliya mironov
421465adc1 Add ShapeOfConstFolding transform (#5858)
* Add ShapeOfConstFolding transform

* Add unit tests

* Update bom file

* Update transform file

* Hot fix

* Fix midle replaser

* Update unit tests

* Fix get value

* Refactoring Const Folding transformation. Move to back

* Update bom file

* Remove unuse code

* Add some unit tests

* Refactoring unit test

* Hot fix
2021-06-09 12:14:39 +03:00
Roman Kazantsev
2c3abf8f42 Use int64 for TopK indices output (#6085)
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
2021-06-09 10:00:20 +03:00
iliya mironov
ae5608534e Add support resize with 2 inputs (#5927)
* Add support resize with 2 inputs

* Add unit tests

* Hot fix

* Change resize check from port count to connected num port conditions

* Fix conditions

* Refactoring code according to review

* Fix according to review

* Change onnresize11 input condition
2021-06-08 13:15:54 +03:00
Yegor Kruglov
4d9fe14ec6 [MO] ConvolutionWithGroupResolver update to enable TF DepthwiseConv2dNative with in_channels=1 (#5528)
* changed permutation attribute in conv extractor

* changed conv get_group parameter

* implemented a transformation

* updated BOM

* specified transformation for in_channels 1

* added unittest and comment string

* updated convolution normalizer to convert depthwise convolution with group=1 to group convolution

* renamed function

* updated IR reader

* conversations resolving

* condition change
2021-06-07 20:22:26 +03:00
Yegor Kruglov
6a18b45337 [MO] Implementation of names uniqueness check (#5651)
* added new transformation to check the uniqueness of nodes names

* added unittest

* remove redundant line

* conversation resolving

* updated unittest

* added new unittest, added check for uniqueness of new node name

* added a description

* added renaming of several results with the same name and unittest for this case

* another implementation, updated unittests

* added a comment

* updated comments

* added comment to the nodes_with_equal_names func

* added a condition

* added a result name check in unittests
2021-06-07 16:44:16 +03:00
Pavel Esir
d9d63d0d7e [MO] fix MarkNodesWithShapeValues (#5808)
* fix marking of nodes with shape values: corrected 'leaky' starting condition

* cleaned up code

* fixed t2t type collision error: removed strict assert from Pow; now type_infer is same as for other eltwise ops; added warnings about type alignment

* type cast for Pow according to ONNX spec

* fix highlight in dump_graph_for_graphviz

* soft_get('op')

* Revert "soft_get('op')"

This reverts commit cadfe18f

* Revert "type cast for Pow according to ONNX spec"

This reverts commit bf85ebf8

* applied review comments

* comment for ShapeOf bfs, removed Error from elementwise op

* reverted back dump_graph_for_graphviz: fill_color -> node_attrs

* applied last review comments: returned back Error, added type_infer into unit-test utils
2021-06-04 18:49:49 +03:00
Evgeny Lazarev
0db9d3e2c5 Added extractor for ONNX operation Size (#6031)
* Added extractor for ONNX operation Size

* Moved transformation of Size operation from TF specific to generic front phase

* Updated list of supported ONNX operation

* Moved unit test for Size decomposition to a new location
2021-06-04 17:18:01 +03:00
Anastasia Popova
3825e90ae1 Fix of RollWithEmptyAxesReplacer transformation. (#5937)
* Fixed Roll output shape bug in RollWithEmptyAxesReplacer transformations.

* Added check in unit test.
2021-06-03 14:45:05 +03:00
Anton Chetverikov
f88222933a [MO] Add extractor for ONNX *OrEqual operations (#5932)
* Add extractor for ONNX GreaterOrEqual operation

* Add more extractors

* Fix extractor

Co-authored-by: achetver <anton.chetverikov@.intel.com>
2021-06-02 09:06:41 +03:00
Evgenya Stepyreva
74293c54df Transpose FQ optimization (#5763)
* Transpose FQ optimization

* Tests added
2021-05-25 16:42:21 +03:00
Evgeny Lazarev
43bdf6b3c1 Fix pad op with int input 2021.4 (#5772)
* Added operation ConvertLike to the MO

* Fixed transformations with Pad which insert Const with pad value of incorrect type

* Added constant folding to ConvertLike operation

* Fixed unit tests for Pad transformations to include ConverLike operations

* Update copyright year

* nGraph code style fix
2021-05-25 11:55:27 +03:00
Anastasia Popova
04de4e34bc Additional telemetry events in MO. (#5662)
* Added additional telemetry events.

* Separated sending tf1 and tf2.

* Small correction.

* Unit test fix.

* Added op_names_statistic field in graph. Added op names saving in loop ext, while ext.

* Optimize imports.

* Added debug print.

* Added comments, removed debug print.

* Added comment.

* Renamed dynamic shapes event label to partially defined, added unit tests.

* Added attribute checks, moved telemetry methods to separate file.

* Small corrections.

* Updated BOM file.
2021-05-24 15:21:29 +03:00