Unroll transformation for TensorIterator (#1259)
authorIvan Tikhonov <ivan.tikhonov@intel.com>
Tue, 11 Aug 2020 15:46:57 +0000 (18:46 +0300)
committerGitHub <noreply@github.com>
Tue, 11 Aug 2020 15:46:57 +0000 (18:46 +0300)
commitabab645c42fd181081717a50598f6bd1098d7895
treec8da74244e11448d7b03dcb5589790dd6372462b
parentb4b03b14f71eac53b1abee5e9e9e6194337b1829
Unroll transformation for TensorIterator (#1259)

* unroll ti transformation, lstm sequence ie, rnn sequence ie

* Update unroll ti transformation, added GRUSequenceIE op, fixed several ti e2e tests

* apply ngraph codestyle

* fix naming after unroll transformation

* Added default constructor for RNNCellBase, fix conversions

* copy runtime info

* added UnrollTI unit tests

* clean up, move sequence ops in a separate PR

* clean up, ngraph code style

* temporary disable ngraph reader unit tests for ti

* fix unit tests on windows

* naming: use name of tensor after unroll tensor iteration transformation

* apply transformations to tensor iterator body, separate pass for ti transformations, fix naming issue

* fix build

* remove TensorIterationTransformations pass

* fix includes

* resolve conflicts

* fix build: incorrect includes

* remove split/concat for single iteration of TI, update to opset4, unit tests

* use matcher pass instead of graph rewrite

* try to enable UnrollTI transformation for all plugins

* disable unrollTI transformation for cpu plugin

* resolve review comments, enable unit tests

* update transformation description

* fix unit tests

* update transformation pipeline

* clean up

* clean up

* resolve review comments
17 files changed:
inference-engine/src/cldnn_engine/cldnn_engine.cpp
inference-engine/src/inference_engine/cnn_network_ngraph_impl.cpp
inference-engine/src/legacy_api/src/cnn_network_impl.cpp
inference-engine/src/legacy_api/src/convert_function_to_cnn_network.cpp
inference-engine/src/mkldnn_plugin/mkldnn_plugin.cpp
inference-engine/src/transformations/include/transformations/tensor_iterator_transformations/apply_transformations_to_ti_body.hpp [moved from inference-engine/src/transformations/include/transformations/apply_transformations_to_ti_body.hpp with 100% similarity]
inference-engine/src/transformations/include/transformations/tensor_iterator_transformations/unroll_tensor_iterator.hpp [new file with mode: 0644]
inference-engine/src/transformations/include/transformations/utils/utils.hpp
inference-engine/src/transformations/src/transformations/tensor_iterator_transformations/apply_transformations_to_ti_body.cpp [moved from inference-engine/src/transformations/src/transformations/apply_transformations_to_ti_body.cpp with 90% similarity]
inference-engine/src/transformations/src/transformations/tensor_iterator_transformations/unroll_tensor_iterator.cpp [new file with mode: 0644]
inference-engine/src/vpu/graph_transformer/src/frontend/frontend.cpp
inference-engine/src/vpu/myriad_plugin/myriad_plugin.cpp
inference-engine/tests/functional/inference_engine/transformations/unroll_tensor_iterator_test.cpp [new file with mode: 0644]
ngraph/core/include/ngraph/descriptor/tensor.hpp
ngraph/core/src/descriptor/tensor.cpp
ngraph/core/src/graph_util.cpp
ngraph/core/src/op/util/fused_op.cpp