* 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>
* Add static shape adapter
- Adapters holds CPU dimension which can be reference to it or vector
- Add ov::optional for holding optional result from shape inference
- Add new `infer` function in `IStaticShapeInfer`
* Temporary support of StaticShape
* Minor corrections in ShapeInferenceTA
* Migrate shape_infer to new interface version
* Replace StaticShape by adapter implementation
* Replace IShapeInferCommon by IStaticShapeInfer
* Correct code formatting
* Fix build issues
* NodeValidationFailure::create for StaticShapeRef
* Review shape inference for reshape operator
- review shape_infer implementation
- add more unit test for static and dynamic shapes
* Fix build issues
* Correct minus one dim calculation
* Fix build issues on windows
* Improve resolving special minus one
* Use NODE_SHAPE_INFER_CHECK
* Update product in/out calculations
* Temporary add ngraph header to solve build issue
* Correct minus one dim calc when static part same
* Add check for scalar input
* Remove debug message
* Fix `minus one` dynamic dimension calculation
* Fix `minus one` dynamic dimension calculation
* Fix merge issues in reshape
Minor refactor reshape evaluate
* Don't pass input label on minus one pattern
when input dimension will be modified.
* 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>
* Add Rotation support to primitive and kernel
* Add unit tests
* Add transformation for NMSRotated
* add single-layer tests
* Fix: angle value for the same box may have its sign changed several times passing through iterations of batch and class loops.
* fix review comments
* 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
* Check for ReduceProd + SoftMax fix
* Check for ReduceProd + SoftMax fix
* Fix after moving on get_constant_max_of_type
* Extended tests and added coverage for other types
* Code optimization
* 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