* Init rt info deserialization
* Add RT Info attributes deserialization
* Add RT Info attributes serialization
* Add Serialization and Deserialization tests
* Code style
* Fix AttributeAdapter place
* Extended rt_info section; added support for multi-field attrs; use version for attr serialization/deserialization
* Align attributes and their usage
* Fix LPT
* Add missing #pragma one
* Fix build
* Change version delimiter to have valid xml
* Fix PromitivesPriority
* Fix tests
* Fix test
* Fix IR Reader; remove empty rt_info
* More explicit attribute name and version representation
* 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
* Add support for unregistred operations in MO IR Reader
* Remove commented lines
* Add shapes equality check
* Update comments
* Update groupconv_to_conv function to support case with multiple destinations
* Add ir_data_attrs attribute to restored layers
* Update copy_shape_infer function to new graph api
* Add attribute IE to unsuppurted operations to save their attributes
* Fix wrong attribute name
* Update commentary
* Partially revert updating to new Graph API to fix regression, add appropriate comments
* Update code comments
* Rename copy_shape_infer function and add more comments
* Written MO classes for DFT and IDFT operations.
* Added class to read TF (I)FFT operations.
* Written extractors for TF operations FFT, FFT2D, FFT3D, IFFT, IFFT2D, IFFT3D.
* Written MO Roll operation and TF Roll operation extractor.
* Started to write needed transformations.
* Written transformation StridedSlices + Complex + Roll + (i)FFTxD + Roll + (Imag, Real) + Pack -> Roll + (I)DFT + Roll.
* Written transformation for Complex + ComplexAbs.
* Written correction of axes of Roll.
* Small fix.
* Small fix.
* Some fixes.
* Some changes.
* Now TF Roll is read as TFRoll. Written inserting Transposes before and after (I)DFT.
* Small fix.
* Written tests for the transformation TFRollToRoll.
* Added comments to some transformations.
* Deleted redundant import.
* Written tests for the transformation TransposeDFT.
* Fixes in MO IR Reader to read/write (I)DFT.
* Fixes in the list of supported TF layers.
* Started to write tests for SSliceComplexRolledFFTPackBlockReplacement transformation.
* Written tests for the MO transformation SSliceComplexRolledFFTPackBlockReplacement.
* Written tests for the MO transformation ComplexAbs.
* Tests for transformations were moved into unit_tests directory.
* All extractors for (I)FFTxD are in one file now.
* Deleted redundant transformations.
* Fixed extractor for TF Roll: now this operation is read as MO Roll.
* Added comments to TFFFT operation.
* The method insert_transpose of classes TransposeDFT and LayoutChangeForGatherND was moved into the separate function in the file model-optimizer/extensions/middle/InsertLayoutPropagationTransposes.py.
* Fixed comment for the transformation TransposeDFT.
* Small fix.
* Some fixes.
* Deleted shape infer function for the operation TFFFT. Sorted imports in complex_abs.py.
* Small fixes.
* Deleted redundant import.
* Fixes in some asserts.
* Small fix.
* Added names for created nodes in the transformation ComplexAbs.
* Added comments to the method canonicalize_axes.
* The transformation SSliceComplexRolledFFTPackBlockReplacement was split into the sequence of transformations SSliceComplexRollReplacement -> RollRealImagPackReplacement -> TFFFTToDFT.
* Written tests for the transformation SSliceComplexRollReplacement.
* Written tests for the transformation RollRealImagPackReplacement.
* Written tests for the transformation TFFFTToDFT.
* Deleted commented code.
* Fixed types of constants in the transformation ComplexAbs.
* Written tests for canonicalization of signal_size value.
* Deleted 'Replacement' from names of files and classes.
* Used comarison of ids, not names.
* replace_sub_graph was replaced with find_and_replace_pattern.
* Now the transformation RollRealImagPack is executed before running transformation model-optimizer/extensions/front/Pack.py.
* The body of the function create_dft_from_tffft is a part of the transformation TFFFTToDFT body now.
* Now method correct_roll_axes of classes RollRealImagPack and SSliceComplexRoll is moved to the function in mo/front/tf/graph_utils.py.
* Small changes.
* Added comment before mark_input_as_in_correct_layout(roll, 2).
* Now the functions correct_roll_axes generates sub-graph in the input port 2 of Roll.
* Corrected tests for the transformation SSliceComplexRoll.
* Corrected tests for the transformation RollRealImagPack.
* Deleted commented code.
* Some renaming.
* Added decomposition of the separate operation ComplexAbs (without Complex before it).
* Added comment to the transformation ComplexAbsAfterComplex.
* Optimized imports for the transformation TFFFTToDFT.
* The transformation SSliceComplexRoll was split into the sequence SSliceComplex -> CorrectRollAxes and disabled.
* Written tests for the transformation ComplexAbs.
* Written tests for the transformation SSliceComplex.
* Written tests for the transformation CorrectRollAxes.
* Deleted the transformation SSliceComplexRoll.
* Deleted renaming nodes.
* Fixed comment.
* Small fixes.
* Small fix.
* The attribute need_correction was renamed as input_rank_changed.
* Small fixes.
* Deleted commented code.
* Now we iterate over all complex_node.out_port(0).get_connection().get_destinations() input ports and mark the corresponding nodes with the marker attribute.
* Added the attribute 'in_ports_count' into the class FFTBase.
* Tests for the transformation TransposeDFT were rewritten using helper functions.
* Now the transformation RollRealImagPack uses existing Roll node instead of creating new one.
* Small fixes.
* Fix in the documentation.
* Written class to read MxNet (I)FFT operations. Written corresponding extractors.
* Corrected shape infer function for MXFFT operation. Written transformation to convert MXFFT to (I)DFT.
* Fixed shape infer function.
* Fixed the conversion MXFFT to (I)DFT.
* Written tests for the transformation MXFFTToDFT.
* The function correct_roll_axes was replaced with more generic function add_constant_to_negative_values.
* Fixes in classes TFFFT, FFTBase, DFT, IDFT, MXFFT.
* Added asserts in constructors of operations TFFFT and MXFFT.
* Refactored transformation MXFFTToDFT: conversion of DFT and IDFT were moved into separated functions.
* Moved some commented code.
* Fixed BOM file.
* Written function convert_ifft_to_dft.
* Started to rewrite tests for MXFFTToDFT transformations, in the case is_inverse=False.
* Small fixes.
* Fixes in the transformation RollRealImagPack.
* Renaming tests class for the transformation SSliceComplex.
* Fixes in the function compare_graphs. Now we get all output nodes of op node, and these output nodes are sorted by names.
* Fixed tests for the transformation MXFFTToDFT.
* Fix in the transformation ThresholdedReluDecomposition: added disconnect for trelu input port.
* Fixes in test for the transformation TFSliceToSlice.
* Small fix in the transformation ObjectDetectionAPIPreprocessor2Replacement.
* Small fix in comment.
* Optimized imports.
* Used remove_node in the transformation ThresholdedReluDecomposition and remove_nodes_from in the transformation RollRealImagPack, instead of ports disconnection.
* Deleted commented code.
* Deleted test case test_slice_replacer_begin_with_2_inputs.
* Removed test-generator from all MO requirement files except the dev one
* Moved all MO unit tests files to a separate directory
* Added __init__.py files to the tests directory. Fixed importing paths for some unit tests
* Fixed imports in all unit tests. Moved all unit test related files from the MO code to the dedicated directory
* Renamed directory with unit test utils
* Updated imports in unit tests
* Added attributes save modes
* Added tensor names to IR
* Reformat code
* Add support for tensor names in MO IR Reader
* Unit tests and code refactoring
* Fixed error
* Code refactoring
* Code refactoring
* Code refactoring
* Error fixed
* Error fixed
* Bug fixed
* Bug fixed
* Additional unit tests and comments
* Small update
* Update fake infer function
* Update names restoring
* optimize imports
* Add support for old-style constants and for commas in reader
* Added dest mode in Fuse Mul
* Update default values
* Fix missed debug info in some specific cases
* Fix a lot of issues with missedand wrong names provoding
* Resolve review comments
* Update test IR's
* Refactor and simplify code
* More simplification
* Remove unneccessary changes
* model-optimizer/mo/utils/ir_reader/layer_to_class_test.py
* Add separate tests for names restoring
* Update copyright year
* Apply review comments
Co-authored-by: Anastasia Popova <anastasia.popova@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.