* Migrate NotEqual operator to new API
* Remove `visit_attributes` is same as base
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
* Drop HostTensor and move to ov namespace
* Style
* Optimize vector assignment
* Optimize vector assignment
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
* Migrate Concat op to new API
* Move shape validation to shape_infer
* Fix getting concat axis in shape inference
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
* Migrate Transpose to new API
* Move shape validation to shape_infer
* Remove visit_attributes is same as base
* Correct transpose order shape check
for static shapes
- correct creation of order shape for static shape tests
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
* Migrate Equal to new API
* Remove `visit_attributes` is same as base
* Remove i4, u4 from evaluate in Equal
reference implementation not handle binary precisions correctly
* Sync precisions in `has_evaluate` with `evaluate`
* Fix all equal check for lower bound
- make broadcast test assertion more strict
- remove deprecated functions from broadcast test
* Migrate Negative operator to new API
* Remove `visit_attributes` is same as base
* Use std::negate instead of lambda
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
* Migrate slice to new API
* Remove visit_attributes, is same as base class
* Move shape checks to shape_infer
- minor refactor Slice op
* Move `get_tensors_partial_shapes` to dev API
* Correct comment
Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
---------
Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
* Migrate Less operator to new API
* Migrate Greater operator to new API
- use less implementation in greater to reduce bin size
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
* Migrate Minimum op to new API
* Refactor evaluates to reduce binary size
- add infer_broadcast_shape, get shapes from tensors reduce OV_ASSERT
- refactor Evaluate structures to reduce binary size
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
* Preserve partial values on mod inputs
- static values full range of integers
- intervals only if not negatives
* Fix bounds evaluate when inputs are scalars
* 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>
* Migrate VariadicSlice to new API
- refactor to reduce bin size
* Move `get_tensors_partial_shapes` to dev API
* Use get_tensors_partial_shapes in VariadicSplit
* Remove `visit_attributes` is same as base
* Migrate TopK to new API
* Refactor compare_max for TopK
* Unify check of k for const and non-const input
* Update src/core/include/openvino/op/util/evaluate_helpers.hpp
Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
* Move `get_tensors_partial_shapes` to dev API
---------
Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
* Refactor shape_size util to reduce bin size
* Make `check_new_args_count` non-template function
* Use as not template check_new_args_count
in multi-nominal
* 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
* Migrate ReduceL1, ReduceL2 to new API
- add some new utils which are deprecated
* Hide helper functions from public API
* Migrate reductions ops to new API
* Migrate get_constant_from_source to dev API
* Rename ref max to reduce_max
* Rename ref min to reduce_min
* Rename ref mean to reduce_mean
* Rename ref sum to reduce_sum
* Rename ref product to reduce_prod
- minor optimization in ReduceProd operator
* Restore custom isfinite for ov float types
* Fix type name in reduce_max.hpp
* Add missing include in shape_util.hpp
* Make count same type as data type in reduce mean
* Correct reduce sum doxy comment
* Migrate ops evaluate
* Remove using ngraph and std from ops
* Use OPENVINO_ASSERT instead of NGRAPH_CHECK
* Move `shape_util.hpp` to `dev_api/openvino/core/`
* Remove visit_attributes, same as base impl
* Fix build issues
* Fix build issues