* [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>
* 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>
* Commit.
* Added opset4 version in the class Interpolate.
* Added class ONNXResize11Op to read ONNX Resize with opset version >= 11.
* Added support for Interpolate-4 into transformations TestInterpolateReshapeWA and InterpolateConcat.
* Added support for Interpolate-4 into transformation InterpolateWithConcat.
* Deleted redundant checks from the transformation UpsampleToResample.
* Reverted last changes.
* Changed ONNX Resize extractor to support for Interpolate-4.
* Added conversion of ONNXResize11Op into Interpolate-4.
* Added support for Interpolate-4 into the transformation InterpolateSequenceToInterpolate.
* Small fix for formatting.
* Written tests for MO version of Interpolate-4 with shape_calculation_mode = sizes.
* Written tests for infer function of Interpolate-4.
* Now transformations InterpolateWithConcat, InterpolateConcat, InterpolateReshapeWA skip Interpolate-4.
* Used create_op_with_const_inputs in the transformation InterpolateSequenceToInterpolate.
* The transformation ONNXResize11ToInterpolate4 was rewritten using find_and_replace_pattern.
* Now the dictionary infers (dictionary of infer functions of Interpolate) is a class static attribute.
* Deleted unused variable.
* Restored original logic of find_and_replace_pattern method of the class InterpolateReshapeWA.
* Used create_op_with_const_inputs() in the transformation InterpolateSequenceToInterpolate for opset1 case.
* Replaced resize_name by resize.soft_get('name', resize.id).
* Small fixes.
* Added two tests for Interpolate-4 infer function.
* Fixed the transformation ONNXResize11ToInterpolateV4 for the case when ONNXResize11 operation has 3 inputs.
* Added conversion of ONNXResize11 with tf_crop_and_resize_mode to ROIPooling + ONNXResize11.
* Fixed bugs in the transformation ONNXResize11ToInterpolateV4 and in the infer function of the operation ONNXResize11.
* Small changes.
* Renamed transformation that converts ONNXResize11 into ROIPooling + ONNXResize11 and fixed BOM-file.
* Fixed tests for the transformation InterpolateSequenceToInterpolate.
* Small change.
* Now the transformation InterpolateSequenceToInterpolate preserves output layer name.
* Deleted the transformation ONNXResize11ToTFCropAndResize.
* Initial version of ReduceL1, ReduceL2 and ReduceLp enabling in the MO
* Added operations ReduceL1 and ReduceL2 to nGraph
* Removed ReduceLp. Added ReduceL1 and ReduceL2
* Separated specification of ReduceLp into ReduceL1 and ReduceL2
* Updated ReduceL1 and ReduceL2 specification
* Fixed ReduceL1 and ReduceL2 type prop tests
* Implemented nGraph transformation to decompose ReduceL1 and ReduceL2. Disabled them for CPU and GPU plugins
* Updated supported framework layers
* Added unit tests for ReduceL1 and ReduceL2 reference implementation
* Fixed ReduceXXX operations reference implementation by adding support for a new parameter 'keep_dims'
* Fixed constant folding for v0::Any
* Added ReduceL1 and ReduceL2 to Python API
* Implemented ReduceL1 and ReduceL2 decomposition tests and fixed ReduceL2 decomposition
* Added specific creator for ReduceXXX operations instead of NodeBuilders
* Fixed conversion ReduceXXX to CNNLayer
* Fixed parser for ReduceLogicalXXX operations
renamed logits -> bbox_deltas
updated ngraph unittests for Proposal
removed validate_and_infer_types Proposal-4
removed validate_and_infer_types Proposal-4
changed validate_and_infer_types in parent class of Proposal
removed get_output_size
successfully inferred Proposal on SSH and Faster-RCNN
added unittests for Proposal-4
added unittests for Proposal-4
added unittests for Proposal-4
returned back default namespace for Proposal
reduced number of outputs in v0::Proposal
correct conversion of Proposal-4 -> propodal_ie with 2 outputs
removed creator for proposal v0
removed converter for proposal v0
added Proposal-4 to MO
removed `for_deformable` attribute
added Proposal-4 to MO and nGraph Python API
removed typo in Proposal-4 specification
style corrections
style corrections and removed some redundant code
rename proposal Python api test
removed 'attrs' context from visitor
returned back AttrVisitor to check if passes OpenVINO ONNX pipeline
Should pass OpenVINO ONNX pipeline (returned back AttrVisitor just to check)
python api for Proposal-4 works ok
(style correction) python api for Proposal-4 works ok
parametrized proposal_ie some other corrections
removed 'attrs.' context from nGraph Python API tests for Proposal
minor corrections in replacer proposal->proposal_ie
corrected Python API OpenVINO-ONNX tests should pass
Improved workaround for AttributeVisitor for Proposal
Add additional check of im_info tensor shape to Proposal node in MKLDNNPlugin
😠 removed 4 extra spaces from test_dyn_attributes.py to match The Style
added new nGraph RTTI declarations, removed throwing exception in transformation
added new nGraph RTTI declarations, removed throwing exception in transformation, corrected exception in MKLDNNplugin
corrected im_info size checking in Proposal node of MKLDNNPlugin
* Remove unnnecessary ir_version checks in the MO
* Cleaned up 'backend_attrs_v2' function
* Small clean up from the 'TFCustomSubgraphCall'
* Clean up the MO extractor attributes mapping
* Renamed PreluOp to PReLU
* Removed back phase transformations related to IRv7
* Fixed setting value for the input port using the 'set_value' method
* Removed front and middle phase transformations related to IRv7
* Cleanup the rest of the Model Optimizer transformations from IRv7 specific transformations
* Final cleanup of the deprecated IR v7 related code
* Removed 'blobs_as_input' usage in the Model Optimizer.
* Removed function '_fuse_add' from the Model Optimizer since it is not used anymore.
* Removed 'keep_in_IR' node attribute for FakeQuantize ops in the MO
* Disabled failing gpu_engine.user_context test
* [MO] Implement EmbeddingBag_3
* Transform dynamic sub-graph of Wide and Deep into EmbeddingSegmentsSum
- Expressed SparseWeightedSum sub-graph through EmbeddingSegmentsSum
- Removed experimental SparseWeightedSum layer
- Implemented tests for the transformation
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix EmbeddingBag shape infer
* Fix EmbeddingSegmentsSum transformation for Wide and Deep
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix EmbeddingSegmentSum replacer after ports swap
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Update package_BOM.txt
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add unit tests for EmbeddingXXX shape infer
* Fix ATen resolver
* Remove deleted files from BOM
* Add opset version to embedding_bag
* Use base class for EmbeddingBag
* Fix per_sample_weights case
* Fix EmbeddingSegmentsSum transformation
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix EmbeddingBag checks
* Fix ATen front transformation and merge conflicts
* Fix BOM
* Work around limitation for I64 input of W&D model
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Cleanup where operation to fix affect of WhereDecomposition transform
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix BOM
* Correct EmbeddingSegmentSum transform for Wide and Deep
Add casting segment ids to i32 and remove ConstToResult sub-graph.
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Update BOM with RemoveConstToResult transform
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add more comments for RemoveConstToResult transformation
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Remove useless logging in EmbeddingSegmentsSum transformation
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Small fixes
* Move EmbeddingBag resolving back to front phase
* Improve error messages
* Fix typo in unittests
* Reimplement sparse_reshape middle transform
Avoid deprecated API.
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Clean-up graph after sparse_reshape and ConstToResult transformation
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix clean-up for transformations
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix clean-up for transformation #2
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>