* WIP Postpone fp16 in CompressFloatConstantsImpl
* Apply suggestions from code review
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
* WIP: Compression to FP16 in Serialize
* Prepared for efficient fp32 to fp16 conversion
* Update src/core/reference/src/runtime/reference/convert.cpp
* Called real slow reference implementations in the place where the optimized versions are supposed to be implemented
* Code style
* Fixed 0 values in the fast f64 to f16 compression
* Optimized convert_from_f32_to_f16_with_clamp
* Added optimized f32->f16 instance of change_constant_precision
* compression transformation Python test
* use tmp dir, minor corrections
* Update src/bindings/python/tests/test_transformations/test_compression.py
* Update src/bindings/python/tests/test_transformations/test_compression.py
* style fix
* define rt_info for postponed_fp16_compression
* remove redundant class
* fix temp dir for Win in test_compression.py
* update definitions in convert.hpp
* Update implementation in convert.cpp
* Update serialize.cpp
* Update compress_float_constants.cpp
* added macros for ARM/non_x86 in convert.cpp
* fix macros in convert.cpp
* change fixme placement in serialize.cpp
* style_fix
* Update src/core/reference/src/runtime/reference/convert.cpp
* style_fix
* Optimized count_out_of_f16_range
* Code style
* Revert unused
* Update src/core/src/pass/serialize.cpp
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
* Update src/core/reference/src/runtime/reference/convert.cpp
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
* use optimized convert_from_f32_to_f16_with_clamp for non postponed
* minor corrections
* Update src/common/transformations/src/transformations/common_optimizations/compress_float_constants.cpp
* Update compress_float_constants.cpp
* Switched mo and ovc to save_model instead of serialize to leverage performance improvements in fp32->fp16
* Applied minor code imporvements to address review feedback
* Minor changes in code
* Update tools/ovc/openvino/tools/ovc/main.py
* Apply suggestions from code review
* Fixed failed test in case when both usual xml compression and fp16 compression are applied simultaneously (disabled for now)
* Added description for CompressFloatConstantImpl postponed parameter
* Description of postponed parameter for CompressFloatConstants
* Reverted switching to save_model in mo as the compression can be applied not only via CLI and old code should be kept for Python path (not applicable for ovc)
* Removed remining committed test artefacts and reverted remaining changes in mo
---------
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
Co-authored-by: dmitrygo <dmitry.gorokhov@intel.com>
Co-authored-by: Vladimir Paramuzov <vladimir.paramuzov@intel.com>
Co-authored-by: Pavel Esir <pavel.esir@intel.com>
Co-authored-by: Pavel Esir <pavel.esir@gmail.com>
* TorchFX caching bugfix and improvements
* Fixed inconsistent env variable for Backend device
* Identify PyTorch FrontEnd Decoder type
* Added import statement in init files
* Registered ts_openvino as a separate backend
* Added caching fix and removed extraneous code
* Changed the name of ts backend
* Fixed issue with local temporary object
* Removed import statement from init files
* Changed the documentation
* Added get_supported_ops method for decoders
---------
Co-authored-by: Cavus Mustafa <mustafa.cavus@intel.com>
Co-authored-by: ynimmaga <yamini.nimmagadda@intel.com>
* Fixed output_model logic.
* Removed InputCutInfo, disabled input cut in ovc.
* Disabled output cut, added tests for setting shapes or types for not all inputs.
* Returned support of numpy type.
* Separated MO and OVC python API tests.
* Small corrections.
* Added output dir test, exceptions test.
* Tests fixed.
* Corrected extension param description.
* Corrected input description, minor code corrections.
* [PT FE] Use weight share switch in frontend
* Return static for function
* Update src/bindings/python/src/openvino/frontend/pytorch/ts_decoder.py
* Fix issue with quantized constants
* Add tests for shared
* Fix issue with kwargs in signature
* Update src/bindings/python/src/openvino/frontend/pytorch/ts_decoder.py
* Fix problem with some ops in detectron2
* Use debug name for extra input signature
* Remove ngraph headers from some core source files
* Suppress some warnings
* Suppress more warnings
* Try to fix some compilation issues
* Suppress more warnings
* Supress clone_model
* Suppress warnings for Windows
* Suppress more warnings for Windows
* Suppress more warnings for Windows
* Additional suppress
* More Windows warnings
* Additional warning
* Suppress more warnings
* Suppress warning from python API
* [WIP] Added load_extension on Python side
* Added load_extension to NodeFactory as an alternative way to expose them to user (openvino path only, no changes in ngraph legacy path
* Reverted adding load_extensions in openvino.runtime
* Renamed load_extension to add_extension to be aligned with other part of extension API
* Applied code style rules
* Shorter description of NodeFactory.add_extension
* Fixed accidentally deleted indent
* Explicit error when custom op without intpus is attempted to be created, better help for NodeFactory.add_extension (op version clarification)
* Style fixes
* Test to cover NodeFactory.add_extension
* Minor wording changes
* Code style
* Fix code style
* Limit NodeFactory.add_extension test to specific test configurations
* Remove inits, update main one
* Fix stacklevel
* Testing wrong solution
* Testing test test
* Fix test test test test
* mo modules mo problems
* Xfail test that check stdout/err?
* not so correct solution to circular imports
* Fix or not to fix
* CMake magic, co-authors: my best team
* Fix package imports
* Fix tools inits
* Fix ovc tf
* Fix Q000
* Fix F401
* Fix linters
* Add save_model
* Remove LayoutMap
* Move test_utils to 'internal modules'
* First testing
* Missing Type
* Expand main namespace
* Change some more tests
* Add OVAny to namespace
* Add Constant and Parameter to namespace
* More tests changes
* Fix inits
* Add layout_helpers to main namespace
* Revert CMake and linux.yml with ovc
* Update main inits
* Remove MO from tools inits
* changes to init files
* Fix tests
---------
Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
* Added Torchscript Backend
* First commit for backend with Torch FX Decoder
* Merging changes from Torch FX branch
* Torch FX initial fixes (Temporary)
* Fixed type/shape issues in Torch FX decoder
* Added translation for built-in getitem
* MaxPool update & Output shape fix (Torch FX)
* Torch FX graph outputs fix
* Torch FX support for sigmoid and slu_
* Torch FX graph module caching
* Torch Fx partitioner cache removed
* Torch FX initial getitem replacer added
* Index check for torch fx getitem replacer
* Debug print removed from partitioner
* Added environment variables for pytorch tracing mode and openvino device
* FX translation fix for getitem & getitem replacer removed
* Added checks for PyTorch tracing mode environment variable
* Adding compile mode for fallback
* Added more ops for resnet18
* Added a check for environment variable
* Generalized addmm to work with torchscript and torchfx
* Added the missing batch_norm.default translation
* fx_backend: include get_attr ops to the partitions
* AddeTODO note t to improvget_attr algorithm
* created function for adding get_attr nodes
* fx_backend: added aten.mul.Tensor, re-enabled aten.empty.memory_format
* fx_backend: Additional op support/improvement for Inception V3
* Added comment for fix 64-bit to 32-bit max int conversion
* fx_backend: Update for avg_poolnd to support 3 inputs
* Fixed erorr in decoder.py
* TorchFX caching fix
* Torch backend, op support for Stable Diff. & BERT
* Arranged ops in order and added torch tensor mapping
* Added support for more ops for super glue
* TorchFX: Initial permanent fallback
* TorchFX: New ops for improved TorchVision support
* TorchFX backend optimizations for partitioning and tmp fallback
* working operator updates for superglue
* Updates to operators for superglue
* Removed max.dim and stack
* Cleanup
* Cleanup
* Fixed a couple of syntax issues
* Fixed a couple of syntax issues
* Added missing method to TorchFX Decoder
* Added missing method to TorchFX Decoder
* Removed redundant code for transpose
* TorchFX: Initial StableDiffusion support
* PyTorch decoder ovtype to ctype fix for int64
* Added ops for distilbert
* Fixed few unnecessary include statements
* Seperated TorchFX and TorchScript decoders
* Modified import statements to reflect two decoders
* f64 fix for TorchFX
* Import fix for PyTorch backend modules
* TorchFX serialize graph for debugging (Temporary)
* Serialize and load back feature enabled for TorchFX
* Temporary optimization to remove Broadcast
* Temporary SoftmaxRehapeElimination pass is added
* TorchFX custom model cache directory
* PyTorch bitwise translation, conversion checks enabled
* Naming fix in make_list_construct
* TorchFX: Added comments to Softmax and Slice translations
* translate_chunk temporarily removed for TS backend
* Fixed linter issues
* Addressed clang formatting issues
* Fixed few more clang and linter issues
* Fixed tests to use ts_decoder
* Fixed naming convention issues
* Added missing import
* Added inlined_inputs to TorchScriptDecoder
* Added tests for torch fx backend
* Removed magic numbers in PyTorch decoder utils
* TorchFX decoder data type fix
* Added cast from size_t to int
* TorchFX output handling code cleanup
* TorchFX: Use detached input tensor
* Added missing cast from size_t to int
* Added static cast in group_norm
* Fixed casting issue in split
---------
Co-authored-by: ynimmaga <yamini.nimmagadda@intel.com>
Co-authored-by: Cavus Mustafa <mustafa.cavus@intel.com>
* Draft version of save_model function (C++, Python)
* Fixed code style.
* Fixed incorrect test model construction for Python save_model tests
* Minor improvements in code readability
* Minor adjustment based on PR review
* WIP: parameters cleanup
* Removed debug output, fixed CLI
* Fixed python objects conversion
* Finally renamed mmap to share_weights
* Fixed TF conversion from a file or a directory
* Fixed obvious errors in unit tests
* Deleted layouts from OVC. Fixed most of the fails in ovc unit tests (there are still failures)
* Clenaup other references to layouts and fixed --version
* Fixed case when two model files are passed in TF case
* Fixed multiple model parts passing in ovc command line
* Tests fixed, support of unnamed input in cli parser.
* Remove convert_model from runtime.
* Changed silent to verbose.
* Removed transform param.
* Removed example_input, share_weights from ovc cli tool.
* Remove wrong change.
* Test fix.
* Code corrections.
* Returned comment.
* WA to fix process hanging after extension loading.
* Removed not needed code.
* Added comment.
---------
Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
* Handle sequence ops with non constant W, R, B inputs
Ticket: CVS-49207
* fix tests
* tests
* fix gna tests
* add include
* change type for seqLenIdx
* rename is_constfoldable to is_on_constant_path
---------
Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
* [PT FE]: support nested inputs in example_inputs and arg dicts with different argtypes
* accept hande lists as inputs
* Update tools/ovc/openvino/tools/ovc/moc_frontend/pytorch_frontend_utils.py
* update tests and add comments in code
* fix for custom types in annotations and duplicate in mo
* Update tools/mo/openvino/tools/mo/moc_frontend/pytorch_frontend_utils.py