* fix calculation of memoryoffset shape in 2 cases: after normalization layer (shape can be read from InputDim in loader) and after affincecomponent layer (shape saved in out-size based on weights shape)
* improve comments
* [MO][TF] Fixed TFSliceToSlice conversion error on Win, replaced int32_max with ShapeOf, minor correction in comments
* review apply: added create_op_with_const_inputs
* review apply: renamed variables, updated typehints for int64_array, float_array, float32_array
* renamed to correct_ends
* returned back check_op_attrs=True
* 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
* Added OV_ITT_SCOPED_TASK for ConvertLike constant folding
* Added TF broadcast_to extractor
* updated Supported_Frameworks_Layers.md
* corrected name
* corrected op name in Supported_Frameworks_Layers.md
* added a space after BroadcastTo in Supported_Frameworks_Layers.md
* Refactored infer function and function supported_attrs for the layer Interpolate.
* Small change.
* Deleted unneeded checks in transformations ResizeToInterpolate2D and ResizeToInterpolate3D.
* Small fix in the extractor of ONNX Resize.
* Now the extractor of TF ResizeBilinear generates Interpolate-1 again, because 'axis' in final version of Interpolate-4 specification is an input but is not attribute.
* Now the extractor of TF ResizeNearest generates Interpolate-1 again, because 'axis' in final version of Interpolate-4 specification is an input but is not attribute.
* Added static method get_axis into class Interpolate.
* Refactored class CanBeFused in the transformation InterpolateSequenceToInterpolate.
* Fixed transformation InterpolateSequenceToInterpolate according to the last version of the specification of Interpolate-4.
* Started to write support of Interpolate-4 in the transformation InterpolateWithConcat.
* Added support for Interpolate-4 into the transformation InterpolateWithConcat.
* Added support for Interpolate-4 into the transformation InterpolateConcat.
* Added support for Interpolate-4 into the transformation InterpolateReshapeWA.
* Added support for Interpolate-4 into the transformation InterpolateTranspose.
* Started to add test for opset4 case of the transformation InterpolateSequenceToInterpolate.
* Added test for InterpolateSequenceToInterpolate (test_2d_interpolate_sequence_1_opset4_case).
* Added test for InterpolateSequenceToInterpolate (test_2d_interpolate_sequence_4_opset4_case).
* Added another test for InterpolateSequenceToInterpolate (test_2d_interpolate_sequence_5_opset4_case).
* Added another test for InterpolateSequenceToInterpolate (test_3d_interpolate_sequence_1_opset4_case).
* Finished addition of tests for opset4 case of InterpolateSequenceToInterpolate.
* Small change.
* Now opset is only opset1 or opset4 in the transformation InterpolateTranspose.
* Small fixes in transformations ResizeToInterpolate2D and ResizeToInterpolate3D.
* Deleted reading of unused ONNX attributes.
* Fixed docstring of the transformation InterpolateV1ToInterpolateV4.
* Added node name in assert about axes input.
* Fixes in the definition of the operation ONNXResize11.
* Now Interpolate-4 cannot have 'extension' as opset.
* Now the transformation InterpolateV1ToInterpolateV4 uses find_and_replace_pattern but not replace_sub_graph.
* Fixed tests for transformations InterpolateReshapeWA and InterpolateConcat.
* Fixed some tests.
* Rewritten operation Interpolate-4 class according to new variant of documentation.
* Some fixes in ONNXResize11 operation class.
* Now the transformation ONNXResize11ToInterpolate generates Interpolate-4 with 4 inputs.
* Now the transformation UpsampleToResample generates Interpolate-4 with 4 inputs.
* Now the transformation NearestNeighborUpsampling generates Interpolate-4 with 4 inputs.
* Now transformations ResizeToInterpolate2D and ResizeToInterpolate3D generate Interpolate-4 with 4 inputs.
* Now the transformation SplitConcatPairToInterpolate generates Interpolate-4 with 4 inputs.
* Now the transformation UnsqueezeTileReshapeBlockToInterpolate generates Interpolate-4 with 4 inputs.
* Now the transformation InterpolateV1ToInterpolateV4 generates Interpolate-4 with 4 inputs.
* Some fixes.
* Fixed the transformation InterpolateSequenceToInterpolate according to new variant of Interpolate-4 specification.
* Fixed typos.
* Added shape_calculation_mode to supported_attrs.
* Small fixes.
* Added operation ONNXResize10 and the transformation ONNXResize10ToInterpolate4.
* Fixed function correct_scales_using_dst_shape.
* Some fixes in InterpolateSequenceToInterpolate.
* Fixed bug in the method __call__ of the class CanBeFused: now self.accumulated_axes is correctly cleared in all cases.
* Small change.
* Fixed tests for the transformation SplitConcatPairToInterpolate.
* Now transformations InterpolateWithConcat, InterpolateReshapeWA, InterpolateConcat support Interpolate-4.
* Fixed the transformation InterpolateTranspose for the case of Interpolate-4.
* Written the back transformation InterpolateV4AxesCorrection to convert 'axes' input of Interpolate-4 from NHWC to NCHW layout.
* Added PermuteInput in Interpolate-4 infer.
* Fixed typos.
* Deleted the transformation InterpolateAxesCorrection.
* Now Interpolate-4 permutes axis, not shape in input port 3.
* Small fix.
* Some fix.
* Fixed bug in the transformation UpsampleToResample.
* Added some debug prints.
* Added more debug prints.
* Now ONNX Upsample-9 operation is read as ONNXResize10.
* Small fix.
* Small fixes.
* Fixed tests for the transformation SplitConcatPairToInterpolate.
* Deleted debug prints.
* Deleted some debug prints.
* Fixes in the transformation UnsqueezeTileReshapeBlockToInterpolate and its tests.
* Small fix in the transformation InterpolateSequenceToInterpolate.
* Started to write nGraph transformation to convert Interpolate-1 to Interpolate-4.
* Deleted redundant files.
* Small fixes.
* Small fix.
* Written draft of the transformation Interpolate-1 -> Interpolate-4.
* Small fix.
* Now ONNX Importer reads Resize-10 as Interpolate-4.
* Fixes in the test onnx_model_resize10_import_only.
* Small fix in the test for the conversion Interpolate-1 -> Interpolate-4.
* Small fixes.
* Fixed NGraphReaderTests for Interpolate.
* Some fixes.
* Deleted class for Resample operation.
* Fix in the transformation NearestNeighborUpsampling: fixed precision of the input 'scales' of generated Interpolate-4.
* Fixed typo.
* Now the TF operations ResizeBilinear is readed as internal MO operation TFResizeBilinear. This internal operation is converted into Interpolate-4.
* Small fix in BOM-file.
* Added checks of existence of attributes of TF ResizeBilinear operation.
* Small fixes in the conversion of the internal MO operation TFResizeBilinear to Interpolate-4.
* Small fixes.
* Small fixes.
* Now the transformation ONNXResize10ToInterpolateV4 calculates sizes input as input_shape * (scales + epsilon).
* Added the internal MO operation TFResizeNearestNeighbor.
* Fixes in the transformation SplitConcatPairToInterpolate and its tests.
* Fixes in the transformation UnsqueezeTileReshapeBlockToInterpolate and its tests.
* Written the transformation that converts the internal operation TFResizeNearestNeighbor into Interpolate-4.
* Now MO reads the TF operation ResizeNearestNeighbor as the internal MO operation TFResizeNearestNeighbor.
* Small fix.
* Now the specification of Interpolate-4 clarifies that the mode linear_onnx supports only 2D or 4D input tensors.
* Small fix.
* Some fixes.
* Moved the transformation ONNXResize10ToInterpolateV4 to the front stage.
* Deleted infer function and function supported_attrs for ONNXResize10 operation.
* Deleted supported_attrs() for TFResizeBilinear and TFResizeNearestNeighbor.
* Some fixes.
* Fixes in the shape infer function of the nGraph operation Interpolate-4. Now 'axes' input can be non-constant. In the such case, all elements of the output shape are Dimension::dynamic().
* Deleted corner cases processing in transformations TFResizeBilinearToInterpolateV4 and TFResizeNearestNeighborToInterpolateV4.
* Rewritten the function replace_resize_bilinear.
* Written inner MO operation TFResize that covers TF operations ResizeBilinear and ResizeNearestNeighbor.
* Now TF operations ResizeBilinear and ResizeNearestNeighbor are read as an internal operation TFResize in MO. Transformations TFResizeNearestNeighborToInterpolateV4 and TFResizeBilinearToInterpolateV4 are fused into one transformation TFResizeToInterpolateV4.
* Some changes in the shape infer function of nGraph op Interpolate-4.
* Small fix.
* Some changes.
* The transformation TFResizeToInterpolateV4 is moved to the front stage.
* Deleted redundant assert.
* Deleted transformations ResizeToInterpolate2D and ResizeToInterpolate3D.
* Some renaming.
* Small change.
* Deleted .copy() in the shape infer function of the internal operation TFResize.
* Small fix.
* Small fixes.
* Added comment about the case when the input 'axes' of Interpolate-4 is non-constant.
* Written test for Interpolate-4 shape infer, for the case when the input 'axes' is non-constant and shape_calculation_mode = scales.
* Some fixes.
* Small fixes.
* Small fix.
* Added yet another test for the case of non-constant 'axes' input of Interpolate-4 (when shape_calculation_mode = sizes).
* Added some comment.
* Small fix.
* Reverted changes for InterpolateWithConcat.
* Added type checks for all inputs of nGraph operation Interpolate-4.
* Added u32 and u64 to supported element types of sizes and axes inputs of nGraph operation Interpolate-4.
* Fixed some functional tests.
* Some changes.
* Added helper function float32_array.
* Now the MO transformation InterpolateV1ToInterpolate preserves names of layers.
* Small fix.
* Small fix.
* Reverted some change.
* Small fixes.
* Small fix.
* Small fix.
* Small fix.
* Small fix.
* Reverted changes in the nGraph reader tests for Interpolate-1.
* Some revert.
* Fixed some copyright year.
* [MO] Implement TensorFlow 2 While support in MO
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add extractors for both While and StatelessWhile and do minor changes
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Improve update_body_graph function and manage graph names properly
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix a map for original name of parameters from body and cond
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Implement draft version of support of TF2 Keras RNN
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Implement Keras LSTM and GRU support in MO
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Improve code for Keras RNN support
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Finalize implementation of TF2 Keras RNN support in MO
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Apply the first part of the comments after review #1
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Avoid use of explicit values of port indices in the transformation
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Finalize code after the first-round review
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Apply comments after the second-round review
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Commit.
* Written the header file of the nGraph operation ExperimentalDetectronROIFeatureExtractor.
* Started to write cpp-file for the nGraph operation ExperimentalDetectronROIFeatureExtractor.
* Deleted in_ports_count attribute for the MO operation ExperimentalDetectronROIFeatureExtractor.
* Written validate_and_infer_type() method of ngraph::op::v6::ExperimentalDetectronROIFeatureExtractor.
* Code style fixes.
* Code style fixes.
* Small fixes.
* Code style fixes.
* Now operation ExperimentalDetectronROIFeatureExtractor is read as nGraph operation ExperimentalDetectronROIFeatureExtractor.
* Implemented op::v6::ExperimentalDetectronROIFeatureExtractor::clone_with_new_inputs().
* Added macro NGRAPH_OP_SCOPE to the cpp-file of the nGraph operation ExperimentalDetectronROIFeatureExtractor.
* Fixes in some tests.
* Code style fix.
* Fixed yet another test for ExperimentalDetectronROIFeatureExtractor.
* Added tests for reading ExperimentalDetectronROIFeatureExtractor as operation from opset6.
* Added more test for reading ExperimentalDetectronROIFeatureExtractor as operation from opset6.
* Started to write shape infer tests for the nGraph operation ExperimentalDetectronROIFeatureExtractor.
* Corrected ngraph/test/CMakeLists.txt.
* Small changes.
* Code style fix.
* Small fixes.
* Added ctor of ExperimentalDetectronROIFeatureExtractor with NodeVector as argument.
* Added setting the attribute in_ports_count when the MO operation ExperimentalDetectronROIFeatureExtractor is creating in the MO transformation ONNXMaskRCNNTransformation.
* Added shape infer for the second output of the nGraph operation ExperimentalDetectronROIFeatureExtractor.
* Written shape infer tests for nGraph operation ExperimentalDetectronROIFeatureExtractor (case when input shapes are partially dynamic).
* Small fixes.
* Code style fix.
* Deleted redundant &expected_channels.
* Code style fix.
* Small refactoring.
* Small fixes.
* Small changes.
* Small fixes.
* Deleted attribute distribute_rois_between_levels of ExperimentalDetectronROIFeatureExtractoe.
* Deleted attribute preserve_rois_order of ExperimentalDetectronROIFeatureExtractoe.
* Deleted attribute image_id of ExperimentalDetectronROIFeatureExtractoe.
* Now MO generates attribute 'aligned' of ExperimentalDetectronROIFeatureExtractor only with values 'true' or 'false'.
* Small fix.
* Fix in the conversion of the attribute 'aligned' of MO operation ExperimentalDetectronROIFeatureExtractor to string.
* Tabs were replaced by spaces in some XMLs.
* Tabs were replaced by spaces in ngraph_reshape_tests.cpp.
* Fixed copyrights.
* Applied small patch to IREngine from PR https://github.com/openvinotoolkit/openvino/pull/3814.
* Tabs were replaced by spaces in cnn_ngraph_impl_tests.cpp.
* op::v6::ExperimentalDetectronROIFeatureExtractor::validate_and_infer_types() was rewritten using operator & for channels.
* Added tests for input shapes of op::v6::ExperimentalDetectronROIFeatureExtractor in the case when inputs shapes consist of intervals.
* Fixes in test type_prop.detectron_roi_feature_extractor_intervals.
* [MO] Implement transformation to avoid RandomUniform in a particular drop-out block
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Remove old RandomUniform transformation and correct const values
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix atol value
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Move DropoutWithRandomUniform transformation to the front
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Change just RandomUniform to Broadcast in the transformation
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Correct comment for the transformation
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Remove redundant line
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Initial support of GatherElements in MO and nGraph
* apply_style
* added lost extractor for GatherElements
* Corrected GatherElements::validate_and_infer_types
* updated package_BOM.txt
* Type_t added
* started to implement ngraph shape_type_infer unit-tests
* finally implemented all ngraph shape_inference unit-tests
* updated Supported_Frameworks_Layers.md
* added correct handling of dynamic shapes in nGraph, added unit-tests for dynamic cases, fixed dump typos in MO, replaced axis type from int -> int64_t
* implemented shape infer for dynamic shapes with intervals
* finalized MO implementation
* applied comment from review
* style-apply
* spec correction
* removed conflict
* fixed typos
* removed obsolete comments form type_prop
* significant corrections in validate_and_infer_types
* style-apply
* data_rank check for axis
* Config for TF 2.0 Faster R-CNN models, refactored subgraph_between_nodes to use graph API
* Added support for new type of Preprocessing block in the TF 2.0 OD API models. Various fixes to enable the Faster R-CNN ResNet 50
* Updated text comments
* Fixed sub_graph_between_nodes for TensorIteratorMerge. Added support for the TF 2.X EfficientDet models (not yet reshape-able)
* Fixed unit tests
* Fixed regression for TF 1.X OD API SSD model, enabled TF 2.0 OD API SSD models
* Code clean up
* Switched TF 2.0 OD API Faster R-CNN to preprocessor replacement type 2
* Refactored ObjectDetectionAPIPreprocessorReplacement and ObjectDetectionAPIPreprocessor2Replacement
* Fixed bug in the Div transformation to Mul when input is integer.
* Added support for the TF 2.0 OD API Mask R-CNN
* Added unit tests for Div operation. Updated incorrectly modified mask_rcnn_support_api_v1.14.json
* Updated document with list of supported configuration files for TF OD API models
* Review comments
* Added tests for control flow edges for the sub_graph_between_nodes function
* Two more tests
* initial commit
* initial commit
* move fix to tf conv_extractor
* added 3d case
* fix e2e with 3d conv
* remove 3d case
Co-authored-by: yegor.kruglov <ykruglov@nnlvdp-mkaglins.inn.intel.com>
* added getting nms_threshold/iou_threshold from original TF RetinaNet model
* iou_threshold definition added
* fixed getting iou_threshold for TF NMS V2, some minor corrections
* added box_encoding to NMS extractors
* Fixed transformations looking for FusedBatchNorm operation to consider FusedBatchNormV2 and FusedBatchNormV3 also.
* Updated unit test for FusedBatchNormTraining
* Fixed unit test
* Added support for a new version of the TF OD API pre-processing part of the mode
* Get rid of legacy API usage
* Fix comment and added assert
* Wording
* Commit.
* Written draft of NonMaxSuppression-5 class.
* Written conversion of the value of the second output of MO NonMaxSuppression-5 into TF format.
* Fixed type infer for the port 1 of NonMaxSuppression-5.
* Added Reshape to [1] for 0D inputs of NMS-5.
* Small fix.
* Corrected assert for number of inputs.
* Fixed docstrings for transformations TFNonMaxSuppressionNormalize and NonMaxSuppressionNormalize.
* Now the transformation TFNonMaxSuppressionNormalize uses find_and_replace_pattern().
* Moved model-optimizer/extensions/front/onnx/non_max_suppression_normalize.py to model-optimizer/extensions/front/non_max_suppression_normalize.py, to delete duplicate code.
* Deleted commented code.
* Fixed BOM-file.
* Deleted out_ports_count from NMS.
* Fixes in type_infer of NMS-5.
* Small changes.
* Added some comment.
* Small fix.
* Some fixes.
* Added transformation config to support automl efficientdet-4 model
* Added configuration file to convert Automl EfficientDet model
* Updated unit test for Pack
* Added instruction on how to convert EfficientDet Tensorflow model
* Updated documentation on how to convert EfficientDet model
* Updated a documentation with instruction on how to convert Automl EfficientDet.
* Generate TensorIterator without back edges from TensorFlow models
* Added a check in the MarkSubgraphsWithCorrectLayout to not fail when port is not connected
* Updated the 'protobuf2nx' to consume the graph protobuf message
* Cleanup TI from the IRv7 specific code
* Do not run some front transformations recursively
* Draft support for the ONNX Loop operation when 'cond' = True
* LoopToTI transformation changes
* Added draft of Loop operation and parser for ONNX Loop operation body
* Updated Loop body parser + added shape and type infer for the Loop operation
* Fixes for ONNX Loop operation parser
* Moved Loop parsing to Loop op extractor. Added generation of external edges for the Loop body ops
* Added support for ThresholdedRelu using decomposition
* Added support for Min ONNX operation
* Draft fixes for port_map generation for the Loop
* Rename transformation file and fix BOM
* Fixed shape inference for Loop scan outputs (axis is not None)
* Fixed shape inference for ONNX Loop operation
* Refactor checks in the TensorIteratorMerge transformation
* Code refactoring. Enabled commented transformations
* Documentation update for ONNX Loop, ThresholdedRelu and Min
* Fixed typo in the Loop front transformation where execution condition input is connected. Other refactorings
* Fixed in the Loop extractor
* Added printing 'internal_layer_id' attribute in the graph dumper
* Updated calculation of iterations number for the Loop
* Added missing code
* Fixed output port shapes and types generation for Loop operation
* Update function names and variable names in the Loop operation
* Fixed type inference for iteration count input
* Added removal of input/output ports of the Loop if they are not used
* Fixed renumbering Loop operations input/output ports to keep mandatory
* Fixed ThresholdedReluDecomposition transformation
* Updated MO IR Reader to know about Loop operation. But it is still not supported by the MO IR Reader
* Added unit test for Slice op shape infer (reverse the sequence of elements)
* Reverted changes in the ONNX loader function call to protobuf2nx
* Enable Reshape0DToSqueeze transformation recursively
* Refactored Loop operation support implementation
* Changed ThresholdedReluDecomposition to generate Const with shape [1] instead of scalar
* Code style and wording fixes
* Restored accidentally removed 'return' statement in the TI shape infer function
* Fixed comments
* Fixed comment
Co-authored-by: Evgeny Lazarev <elazarev.nnov@gmail.com>
* Add hsigmoid fusing for MO
* Update Bom file
* Remove comments
* Refactoring hsigmoid fusion according to review
* Add div and mul patterns for hsigmoid fusion
* Refactoring code according to review
* Fix HSigmoid fusion transformation
* Add Round-5 operation
* Add ONNX Round to supported operation list
* Add ngraph implementation for Round operation
* Update MO part
* Create UnaryElementwise class, update Round Operation
* Fix mode attr in mxnet extractor
* Add tests for Round shape infer
* Update 'enable' attr
* Update MO IR Reader to support UnaryElementwise operations
* Minor test refactor
* Update ngraph Round operation
* Add reference implementation
* Add test for reference implementation
* Add test for shape infer
* Add test for IE IR Reader
* AddRound operation to python api
* Fix missed mode attr
* Update Round operation version
* Fix codestyle
* Add MxNet Round to supported layers list
* Fix error in reference
* Fix comments style
* Update CMake file
* Update Ngraph reference test
* Update IE IR Reader tests
* Return v0::Round operation
* Update shape infer tests
* Fix v0::Round reference
* Fix codestyle
* Enum instead of string
* Fix codestyle
* Add Mode attribute adapter
* Update Mode attr
* Fix reference for v0::Round
* Fix codestyle
* Fix mode attr
* Fix get() method
* Fix codestyle in python api
* Update test info
* Fix ngraph api part
* Ad round v5 to interpreter tests
* Fix codestyle is ie reader test
* Update ngraph python api __init__.py file
* Adde opser5 to dafault opsets in ie_ir reader
* Add parser for Round layer
* Remove redundant spaces
* Add round creator to appropriate list
* Remove redundant import
* Commit to bump infrastructure version
I'm sorry for this, but this commit will be squashed on merge to master anyway and it is needed for your PR to correctly pass the pipeline
* Fix import
* fix codestyle
* Fix ngraph api part
* Add shape infer tests in python api
* Add .upper() for mode attr
* Refactor MO shape infer test for Round op
* Update tests and add comments
* Revert "Commit to bump infrastructure version"
This reverts commit 56e6ae1e4c.
* remove parser for Round layer
* Update Ronund-5 evaluate test
* Resolve review comments
Co-authored-by: User <user@nnlvdp-achetver.inn.intel.com>
Co-authored-by: Andrey Babushkin <andrey.babushkin@intel.com>
Co-authored-by: Anton Chetverikov <anton.chetverikov@.intel.com>
* Implement LookupTableInsertV2 shape inference
It is needed if other nodes not beeing pruned in the graph
have a conditional dependence on LookupTableInsertV2 node.
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix after core-review #1
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix the code after review #2
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix after code review #3
* Extend MO for operation GatherND
* Update documentation
* Rename GatherNd.py to gathernd.py
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* [MO] [Kaldi] Added TDNN Component
* TdnnComponent replacer graphical comment updated
* Added SpecAugmentTimeMaskComponent
* some refactor of memoryoffset shape_infer
* moved memoryoffset splitting to the middle stage
* some corrections
- set `need_shape_inferenc`=False in split_memoryoffset
- use cycle instead of pattern in tdnn_replacer
* separated splitting of MemoryOffsets in LSTM and TDNN blocks
* set transpose_weights=True in TdnnComponent
* Corrected Supported_Frameworks_Layers
* corrected comments
* separate naming for tdnn and lstm memoryoffset splits
* corrected BOM file
* corrected generaldropout_ext.py and removed 'has_default' for tdnn_component
* corrections after PR review
* renamed LSTM -> recurrent; added setting element_size for paired nodes of tdnn_memoffset and othe minor changes
* Update split_tdnn_memoryoffset.py
* corrected partial infer with new API in elemental.py and split_tdnn_memoryoffset.py