* TorchFX: Constant value pass optimization
* Replace op.Constant with make_constant in fx_decoder
* Using shared memory for constant value passing
Co-authored-by: Jan Iwaszkiewicz <jan.iwaszkiewicz@intel.com>
---------
Co-authored-by: Jan Iwaszkiewicz <jan.iwaszkiewicz@intel.com>
* Reference implementation for u4 constant compression from pytorch model based on bitwise ops pattern
* Fixed order of 4-bit halfs in byte
* Switched PyTorch FE to dev mode: in case if model cannot be fully converted, give partially converted model with PTFrameworkNode's with a printed warning (normally would raise an exception in case).
* Moved u4 compression to utils_quantize. Implemented not-interleaved version of u4 compression
* Removed debug output
* Added aten::matmul to the list of exceptions in may_produce_alias as a workaround for gptq models
* Added patching for gptq models applied automatically in convert_model
* WA for an inssue with u4 with earlier convert to fp16
* U4 blocked repacking for gptq patched model layout
* Deleted obsolete u4 re-packing based on aten::cat. Fixed the resulting u4 constant shape. Removed debug output.
* Revert "Switched PyTorch FE to dev mode: in case if model cannot be fully converted, give partially converted model with PTFrameworkNode's with a printed warning (normally would raise an exception in case)."
This reverts commit 0ef1455e70.
* Update src/frontends/pytorch/src/op/cat.cpp
* Check mask and shift values in u4 pattern. deque -> OutputVector for u4_compression_stack
* Convert to a given floating type instead of half in gptq patching. Better structured code.
* Code style fix
* Removed deque include
* Code style fixes
* Trailing space removed
* Fixed patched_forward and ts_decoder after unvalidated commits.
* Swap nibbles in u4/i4
* Better exception handling around jit.trace and gptq.patch_model
* Update src/bindings/python/src/openvino/frontend/pytorch/gptq.py
Co-authored-by: Alexander Kozlov <alexander.kozlov@intel.com>
* Update src/bindings/python/src/openvino/frontend/pytorch/gptq.py
Co-authored-by: Alexander Kozlov <alexander.kozlov@intel.com>
* Code style
* Revers int4 byte order
* Fixed core tests
* Fixed unguarded dynamic_cast result
Co-authored-by: Evgenya Nugmanova <eva.my.link@gmail.com>
* Fixed transformation tests
* Update src/bindings/python/src/openvino/frontend/pytorch/gptq.py
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
* Prevent patching of non-gptq models
* Removed extra calling of quantized weights decompression patterns
* Better detection of supported AutoGPTQ models + more diagnostics
* Accurate diagnostics in case when aten::stack has multiple axes
---------
Co-authored-by: Alexander Kozlov <alexander.kozlov@intel.com>
Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
Co-authored-by: Evgenya Nugmanova <eva.my.link@gmail.com>
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
* [TF FE] Support TF 2.14 and add OnesLike translator
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update tests constraints
* Update open_model_zoo
* Adopt TF Lite test to 2.14 TF
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Support TF Lite layer tests for diffrent TF versions
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* only skip test if mac
* unskip
* unskip trigger
* skip for onnx fe as well
* do not skip
* return skips and unskip test_backend in Python API 1.0
* rm pr trigger
---------
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
* Optimize CompressQuantizeWeights transformation
- remove CoordinateTransform usage from FakeQuantize reference implementation
- move ZeroPointOptimizer functionality inside CompressQuantizeWeights
- compute scale and zero point in the same loop
Ticket: CVS-119273
* review comments
* clang format
* fix comments
* Remove ngraph namespace from operations without namespace
* Try to fix build
* Additional fixes
* More fixes
* More fixs
* Fix reverse op
* Fixed tests
* Throw an exception if somebody tries to reallocate tensor
* Revert "Throw an exception if somebody tries to reallocate tensor"
This reverts commit 8e06d6d576.
* Remove python test
* Revert "Remove python test"
This reverts commit 37b12148d3.
* Changed evaluate model behavior
* Use FindPython3.cmake
* Fixed compilation on macOS 14 with new core development tools
* Try to use Python3_SOABI instead of PYTHON_MODULE_EXTENSION
* Use Development.Module
* Keep specifying only Python3_EXECUTABLE
* Print PYTHON_MODULE_EXTENSION
* Added check for minimal cmake version for python API
* Returned Python3_INCLUDE_DIR for cross-compilation case
* Try to allow cmake older than 3.18
* Use build python interpreter to check cython dependency
* revert changes in .ci/openvino-onnx/Dockerfile
* removed unused code
* Fixed issue with variables scope
* Experiment: remove include dirs
* Corrected docs
* Use pybind11 function to set extension
* Revert "Experiment: remove include dirs"
This reverts commit 6f7f90211c.
* Refactor ConvolutionBackpropDataLayerTest, ConvolutionLayerTest, DeformableConvolutionLayerTest (#19810)
* Refactor ConvolutionBackpropDataLayerTest
* Refactor ConvolutionLayerTest
* Refactor DeformableConvolutionLayerTest
* Apply comments
* Apply comments
* Fix
* Updated minimum cmake version for Windows
* Simplified check
* Removed useless message status
* Use puiblic option
---------
Co-authored-by: Oleg Pipikin <oleg.pipikin@intel.com>
* [OVC] do not parse inputs
* fix unit-tests
* remove redundant lines, add test case
* add one more unit-test
* skip None values
* replace str with List in test_mo_import_from_memory
* corrected type hints, added a safety assert
* [TF Hub] Cover TF Hub use cases with adoption to OpenVINO
This is necessarily to demonstrate support of models programmed with TF Hub API
through OV notebooks.
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Preserve original keras input and output tensor names
* Add tests with TF Hub API models
* No KerasLayer handling
* Handle specific signature
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Switched ONNX to 1.14
* Updated IR_VERSION in the tests
* Assigned an extended tests to issues
* Switched ONNX to 1.14.1
* Slightly relaxed requirements for ONNX 1.14.1 and updated conan.lock
* [TF Hub][TF FE] Preserve outputs of ConcreteFunction from signature and their names
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix naming and complete TODO
* Apply code-review: extra assert to check input_signature
* Fix inputs for fw
* Fix input data preparation and import convert_model
* Correct variable detection among all inputs
* Handle special input and output signature
* Fix adjust_saved_model_names
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* [PyOV] clean up in tests
* use generated model in tests
* fix ci
* return back fild
* fix ci 1
* fix ci2
* update
* move models
* return back deleted test
* move model creation from conftest
* fix ci
* fix ci
* 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