* 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
* 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
* [MO] Fix showing graceful error message when no ngraph case
Move frontend-related imports inside appropriate functions
And use try/except if import fails to show graceful error message
* Revert "[MO] Fix showing graceful error message when no ngraph case"
This reverts commit 72d52bd946.
* Print error before running of subprocess if IE or nGraph Python API is not found
* Added pytest to requirements_dev.txt
* Fixed review comment
* [NG Frontend] Introduce classes and macros for Frontend-specific exceptions
* [nGraph Frontend] Python bindings
Exposing Python API for nGraph FrontEndManager introduced in PR #5470
* Exposing 'Dimension' class to Python nGraph API
* Model optimizer code from pdpd_frontend
Removed 'use_legacy_frontend' option as not needed for PDPD integration
* Added XML/BIN prints for 'ngraph-FE' serialization path
* Update python bindings to latest code from PR #5995
* Add OV_FRONTEND_PATH to LD_LIBRARY_PATH by default for Model Optimizer
* Test with 'mock' frontend
* Added meta info to generated IR
Added more tests to cover currently supported scenarios
Clang config for MO mock frontend
* some flake8 and pylint fixes
* Try to 'import' ngraph-related packages on top of python files
This will help to specify type of function arguments, but can break unit tests if they're using functions directly without ngraph
* CI fixes
* Run tests from 'main_test.py' inside ngraph environment
* Fixed review comments
* Fixed comments
Added more tests for checking if inputs and outputs are same
* Renamed front_ng to moc_frontend
* Update package_BOM.txt
* Turn on IE and NG python APIs by default inside Model Optimizer
* Remove fallback
* Fix mo_ut
* Remove MO wheel tests
* Add model_optimizer custom target to gather all MO deps inside single traget
* Fix PR comments
* Added handling of debug information in create_node().
* Code refactoring.
* Checks fixed.
* Added comments, added unit test.
* Renamed unit test class.
* Fixed port number in unit test.
* Make order of port names determined in IR
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Make port names in determined order and adopted tests
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix errors in VariadicSplit layer restored from serialized IR
* Update VariadicSplit specification and error message to allow 1D tensors on 1st input
* Update spec
* Resolve comments
* Apply comments, add unit tests
* Update unit tests
* Add axis support
* Update dequant extractor
* Update qdeq ops
* Refactoring quantize
* Update dequantize resolver
* Update dequantize op
* Refactoring dequantize
* Some fixes for quantize and dequantize
* Update unit tests
* Reafctoring quantize/dequantize axis support
* Move quantize/dequantize resolvers to middle
* hot fix
* Fix unit tests
* Fix unit tests
* Update quintize resolver comment
* Refactoring code according to code review
* Fix according to review
* Change order for transforms quantize pipline
* Moved telemetry to repo root directory from MO
* New telemetry package in the "openvino" sub-directory
* Removed telemetry from the MO BOM
* Updated MO BOM and added stub file for telemetry
* Fixed license header
* Fixed license headers and cleaned up the telemetry setup.py
* Fixed import
* Added temporary dependency for openvino-telemetry
* Added ignore for pylint issues
* Fixed import statements
* Updated imports in the telemetry library
* Removed telemetry library. Added link to another private repo
* Removed redundant start_session event for the MO
* Changed approach to import the telemetry library
* Minor code refactoring
* Updated MO telemetry events sending messages
* Refactor sending events for the IE runtime check
* Disable forcing warnings for deprecated methods
* Removed changes from the requirements.txt to install telemetry library to avoid merge conflicts
* Update copyright in the model-optimizer/mo/utils/telemetry_stub.py
Co-authored-by: Gleb Kazantaev <gleb.nnstu@gmail.com>
Co-authored-by: Gleb Kazantaev <gleb.nnstu@gmail.com>
* Execute MO stages inside subprocess to have single IE check
* Add --transform key
* Updated ofline transformations to execute user specified passes; updated logic to raise when --transform is used
* Parametrize LowLatency transformation with num_iterations key
* Fixed MO and IE versions comparision
* Use subprocess for offline transformations execution to catch errors
* remove ie_is_available from IR; fixed typo
* Fix for old IE versions
* Update parse_transform key unit tests
* Show available transformations
* Fixed typo
* Fix review comments
* Fix python2 compatibility
* Fixed review comments
* Fixed __main__ import
* Extend MO for operation Einsum-7
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Add extractor for einsum and optimize code based on review feedback
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix the code based on the review: correct code, tests and comments; move insert_transpose
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Fix LayoutChangeForEinsum transformation condition
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* Update third-party dependencies
Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
* 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.
* Use Serialization as a default engine in MO
* Added cmd option to use old serialization
* Added mapping file generation
* Test mapping file generation
* Fix setBatchsize parameters order; fix mapping file generation
* Added FrameworkNode; added method to read models with custom ops but without extensions
* Added python API for read_network_without_extensions function; updated mo not to use IECore
* Added read_model_without_extensions to IReader and IParser
* Fix V7 IR reader
* Fix pword value
* Fix dllexport macro usage
* Add metainfo to IR
* Fix nGraph code style
* Fix license header
* Restore prepare_emit_ir behaviour
* Fix compare_function to resolve situation when Result input port has multiple names
* Update Compare Functions
* Fix FrameworkNode validation
* Self-review
* CodeStyle check
* --use_fallback -> --use_legacy_ir_generation
* Sort imports in main.py
* --path_to_model -> --input_model
* Use logging instead of print
* Code simplifucation&cleanup
* Fix offline_Transformations key
* Fix GeneraeMappingFile comments
* Use Extension approach to work with custom ops
* Fix versions check
* Code clean-up
* Moved FrameworkNode to inference_engine_transformations library
* Fix FrameworkNode includes
* Code clean-up
* initial changes (IR not generated)
* extractor fix
* convert tdnnf (with correct infer)
* refactoring + comments in code
* added unit tests + couple fixes based on tests
* change order for old convolutions
* fix pylint
* small refactoring
* added if to remove changes in old irs
* doc updated
* fix layout and kernel shapes for old convolutions
* fixed test
* moved test
* fix import in test
* fixed backward compatibility
* review fixes
* Add check for ~= sign for modules versions check
* Add unit test
* Update check for environment markers
* Update check for ~= sign
* Update unit tests
Co-authored-by: achetver <anton.chetverikov@.intel.com>
* Change error raising to message printing
* Update modules versions check
* Update check and add unit test
* Fix wrong function call
* Update unit tests
* Fix test
Co-authored-by: achetver <anton.chetverikov@.intel.com>
* 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
* Add keep split output ports without consumers
* Fix ir reader for split outputs
* Update unit tests
* Refactoring code according to review
* Fix unit test
* Fix
* Fixed framework name attribute for onnx, mxnet.
* Fixed framework name attribute for caffe.
* Removed unnecessary attribute setting from add_opoutput()
* Added identity nodes adding to outputs in mxnet loader.
* Removed unnecessary reformat.
* Removed unnecessary reformat.
* Added check for empty name.
* Used nodes indices instead of node names in loader.
* Code refactoring, small bug fixed.