* 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
* initial solution
* added unit-tests + some corrections
* axis getting improvements
* fixed MO IR reader for old IR's
* a couple of corrections
* applied review comments
* corrected negative batch_dims normalization for shape calculation, for IR original negative values are kept
* added additional checks and negative tests
* 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>
* Fixed attributes saving to keep tensor debug info in Parameter node.
* Added comment and unit tests.
* Small correction.
* Small correction of unit test.
* Comment corrected.
* 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 transformation which removes Const->Result sub-graphs
* Removed one more MO transformation which removes Const->Result sub-graph during the front phase
* 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
* %~dp0 can't handle path which include Space
The default OpenVINO install directory is C:\\Program file(86)\\Intel\\..., which contains space. So when users run this script, the path is wrong.
To handle this issue, I modify two part:
one is the python_command, use a local var to store this path.
The other is the errorlevel, just add double quotation marks
* fix python_command path issue
* delete unused blank line
* Added operation Roll to MO.
* Updated BOM file.
* Replaced FrontReplacementPattern with FrontReplacementOp.
* Added set_input_permutation() to Roll infer function.
* Optimize imports.
* Code refactoring.
* Code refactoring.
* Removed unnecessary variable.
* Added name to the second reshape.
* Added rename_nodes to set original op name be at second reshape.
* Small fix.
* 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.
* fix batch adding to init value of read value
* fix for batch in Kaldi models
* added broadcast to be able reshape in IE
* test fixes, added batch broadcasting to created constants
* pep fixes
* move all changes to 1 transformation
* added unit test and fix insertSelect transformation
* added comments
* remove unneeded params search
* fix element_size to send correct batch
* fix update batch in element_size
* couple fixes
* update BOM file
* fix review comments
* review fixes
* review fixes
* fix license headers
* Initial working solution
* moved bfs_search_apply_on_shapeof_subgraph_nodes from utils/graph.py to MarkShapeOfSubgraphDataType.py
* Reused bfs from MarkSubgraphsWithCorrectLayout.py
* fixed e2e precomit issues: specified correct const data_types, fixed BFS search staring point to avoid nodeless shapeof subgraphs
* fixed mxnet_rnnt: added converting all Const nodes in ShapeOf subgraph in MarkAndChangeDataTypeInShapeOfSubgraphs.py, revised Const values in transformations that affect ShapeOf subgraph nodes
* reverter ReverseV2ToReverseSequence.py and DecomposeBidirectionalRNNSequence.py
* in MarkSubgraphsWithCorrectLayout BFS search beauty applied
* apply review comments, returned back 'in_shape_subgraph' attribute
* graph condition added
* MO IR reader fix for mixed FP16 models, added replacer order placement comment
* moved to back phase
* new solution with marking nodes from bottom to top (WIP)
* successfully tested on back phase
* corrected unittest
* removed check for start nodes size in bfs
* fix transformations that insert f64 to f32 in shape subgraph
* corrected log.warning -> log.debug
* revised list if shape input operations added unittest for Const shape inputs
* applied @lazarevevgeny's comments
* licence head corrections